3

メンバーシップとデータ ストレージのために SQLServer Express データベース ファイルに接続する Web サイトを持っているので、2 つの .mdf ファイルがあります。接続文字列は次のとおりです。

public static string ASPNETDB = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf;Integrated Security=True;User Instance=True;User ID=;Password=; ";
public static string Dok = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\dok.mdf;Integrated Security=True;User Instance=True;User ID=;Password=; ";

ウェブサイトを削除して再インストールした後、接続が確立されている部分で多数のエラーが発生しています。エラーは次のとおりです。

Unable to open the physical file "C:\Inetpub\wwwroot\BSHHD\App_Data\aspnetdb_log.ldf". 
Operating system error 5: "5(failed to retrieve text for this error. Reason: 1815)".
Cannot open user default database. Login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
File activation failure. The physical file name "C:\Inetpub\wwwroot\BSHHD\App_Data  
\aspnetdb_log.ldf" may be incorrect.
The log cannot be rebuilt because there were open transactions/users when the database 
was shutdown, no checkpoint occurred to the database, or the database was read-only.   
This error could occur if the transaction log file was manually deleted or lost due to 
a hardware or environment failure.

ウェブサイトに変更を加えていないので、非常に奇妙です。IISから削除して再インストールしました。ユーザー名とパスワードを設定し、統合セキュリティを削除するように提案されました。しかし、データファイルにユーザー名/パスワードを設定する方法がわかりません。

4

1 に答える 1

8

データベースASPNETDB.mdfをSQLManagementStudioを使用してSQLExpressに追加します。MicrosoftWebプラットフォーム インストーラーからダウンロードできます。

SQL ManagementStudioを開きます。[データベース]>[添付]>[mdfとログファイルを追加]を右クリックします(サイトディレクトリ以外の場所に配置することをお勧めします。

MSSQLでは、ユーザー名とパスワードを簡単に設定できます。SQLManagementStudioを開きます。

ManagementStudioにログインします。[セキュリティ]>[ログイン]>[書き込み]をクリックします[ログイン]をクリックします[新しいログイン]

ログイン名:たとえば、logmeinをSQLServer認証にするパスワードを設定する強制を削除する

左側には、ユーザーマッピングがあり ます。接続するデータベースを選択し、書き込み権限を付与します。たとえば、このユーザーがデータベースに書き込むことができる場合は、より高い権限であるdatawriterまたはdb_ownerにします。

データベースの組み込みの役割は次のとおりです。

public –デフォルトの認証セット

db_owner –指定されたデータベースの任意の操作を実行できます

db_oddladmin –データベースの新しいオブジェクトを作成または変更できます(いわゆるDDL操作)。ユーザーが持っている必要がないという事実に注意する必要があります

それを行うためのdb_owner許可

db_datareader –任意のテーブルの読み取りを許可

db_datawriter –任意のテーブルへの書き込みが許可されます

db_denydatareader –テーブルの読み取りが禁止されています(明白な承認の要点)

dDb_denydatawriter –テーブルの書き込みが禁止されています

データベースをSQLに追加した後:web.configに追加できます

<add name="ASPNETDB" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=ASPNETDB.mdf;User ID=yourusername;Password=yourpassword" providerName="System.Data.SqlClient" />
<add name="Dok " connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=dok.mdf;User ID=yourusername;Password=yourpassword" providerName="System.Data.SqlClient" />

または、上記のようにコードに含めることを希望する場合も、機能します。

よろしく、ガブリエル

于 2012-07-24T06:05:54.377 に答える