我有一个SQL Server 2008实例和一个SQL Server 2008 Express实例。
我一直主要使用带有以下连接字符串的SQL Server 2008实例...
<add name="Local-DB-connection" connectionString="Data Source=JONATHAN-PC; Database=dbname; User ID=uname; Password=pword;" providerName="System.Data.SqlClient" />
这很好。
现在在express的实例上,我有一个同名的用户和一个相同的数据库,但不管我总是得到这个错误
Cannot open database "dbName" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
现在我在快速连接字符串上添加了 - Trusted_Connection=True
,因此NT AUTHORITY \ NETWORK SERVICE
我找到了一个论坛帖子,我在我的实时服务器上修复类似的问题时使用过
它主要讨论添加NT AUTHORITY \ NETWORK SERVICE'用户,但此用户不在要添加的列表中。
我在这里疯了,我怀疑它与我的两个SQL服务器实例冲突
任何人都可以对此有所了解吗?
感谢
truegilly
答案 0 :(得分:1)
要检查一下,您是否尝试使用正确的实例名称访问SQL Express数据库,即JONATHAN-PC \ SQLEXPRESS或类似名称?
NETWORK SERVICE应该在列表中。如果你去
然后它应该在列表中作为NETWORK SERVICE。如果你选择它,那么它将出现在NT AUTHORITY。
一旦你在列表中找到它,你就需要授予它访问你的数据库的权限。您的链接建议将其设置为db_owner - 这对于生产来说是危险的,您应该将其权限降低到更受限制的集合,但是对于开发和证明它正在工作可能没问题。