我有一个连接到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中删除它并重新安装它。我被建议设置用户名和密码并删除集成安全性。但我不知道如何为数据文件设置用户名/密码。
答案 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" />
或者如果你喜欢在代码中使用它,就像你上面的那样,它也可以工作。
此致 加布里埃尔