SQLExpress - 如何为sql数据文件设置用户名/密码

时间:2012-07-24 05:27:35

标签: asp.net sql-server-express

我有一个连接到SQLServer Express数据库文件的网站,用于存档和数据存储。所以我有两个.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中删除它并重新安装它。我被建议设置用户名和密码并删除集成安全性。但我不知道如何为数据文件设置用户名/密码。

1 个答案:

答案 0 :(得分:7)

使用 SQL Management studio 将数据库ASPNETDB.mdf添加到SQL Express 您可以从Microsoft Web平台安装程序下载它。

打开SQL Management工作室 右键单击Databases>附加>添加mdf和日志文件(首先将它们放在其他位置,然后放在站点目录中。

在MSSQL中,您可以轻松设置用户名和密码,Open SQL Management studio。

登录管理工作室: 展开安全性>登录>写点击登录“新登录”

登录名:例如logmein 使其成为SQL Server身份验证 设置密码 删除强制

在左侧,您将拥有用户映射 选择要连接的数据库并授予写入权限,例如,如果此用户可以写入数据库,则需要将数据写入数据编写器或更高权限的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" />

或者如果你喜欢在代码中使用它,就像你上面的那样,它也可以工作。

此致 加布里埃尔