我拉了一个ASPNETDB.MDF
使用 Forms 身份验证从 ASP 站点的服务器向我的本地计算机提交文件。我使用 ASP.NET 网站配置工具向数据库文件添加了一个新用户。我将 MDF 文件上传回服务器,现在每当我尝试以任何用户身份登录时都会出现以下异常:
Cannot open user default database. Login failed.<br/>
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'
我一直在谷歌上搜索并阅读了此问题的所有其他解决方案,但没有找到任何有效的解决方案。
服务器上装有 SQL Server 2008,这就是我在本地计算机上使用的 VS 2008 Professional。
我的连接字符串是(为了便于阅读而添加换行符):
<add name="ASPNETDBConnectionString1"
connectionString="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;
Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient"
/>
我是 SQL Server 新手,所以我很确定我在某个地方搞砸了一些事情。
非常感谢任何帮助。
最佳答案
关于配置的所有关于谁、什么或为什么的问题......
可以从连接字符串推断出您的问题。这将在本地针对 sql express 工作,但不适用于服务器上的 sql 本身。
第一个线索是只有 SqlExpress 启用用户实例。在 Sql 上,您必须附加 mdf。
如果该连接字符串在 VS 2008 中可以在您的计算机上运行,则您已经安装了 SQL EXPRESS。如果该连接字符串在服务器上有效,则该服务器已安装 SQL EXPRESS。
如果服务器没有安装 Sql Express 并将其配置为允许用户实例(我希望它没有),则该连接字符串将导致您遇到登录失败异常。
我还想知道你的副本。通常,即使是复制,事件 mdf 的访问也会被拒绝。
请确认客户端和服务器端的 Sql 版本,并尝试查找两个 web.config 文件的先前副本以比较连接字符串。
关于asp.net - 无法打开用户默认数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1817694/