asp.net - 无法打开用户默认数据库

标签 asp.net sql-server-2008 database-connection

我拉了一个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/

相关文章:

c# - 从 iframe 中的页面检索 session 的 PageMethods 不起作用

html - IE10 兼容模式下的 Asp.net Web 应用程序问题

asp.net - 为 ASP.NET Core 中的每个请求创建一个新的 WCF 客户端是否会导致套接字耗尽?

sql - 对相同 ID 列的列值进行增量求和

python - 是否需要在脚本结束时关闭 Psycopg2 连接?

asp.net - 引用 ascx 中的命名空间

sql - 如何防止 SQL Server 对扫描的行数进行平方?

SQL Server 2008 : Why won't this round to two decimal places?

database - 这是交易的正确行为吗?

PHP:使用外部连接文件时关闭mysql连接