2010-06-21 319 views
1

我想添加网络服务登录,因为我仍然无法连接到AdventureWorks3数据库。但我想通过SQL Server身份验证添加此NETWORK SERVICE登录名,而不是Windows。如何通过SQL身份验证添加NETWORK SERVICE登录?

当我选择Windows身份验证时,它允许我创建此登录名。但是当我选择SQL Server身份验证时,它给了我以下错误:创建登录'NT AUTHORITY \ NETWORK SERVICE'失败...'NT AUTHORITY \ NETWORK SERVICE'不是有效的名称,因为它包含无效字符。 (MS SQL Server,错误:15006)

回答

3

SQL身份验证和Windows身份验证是不同的。通过指定类似的用户名,两者不可互换。

SQL验证可以在数据库中存储密码信息,并且是可移植的,而Windows验证则指示SQL依靠Windows来验证用户身份。因此,您不要在数据库中指定密码以及Windows身份验证用户。

如果您需要使用SQL身份验证,只需指定任何用户名和密码,并将该信息包含在连接字符串中。没有理由说名称必须与现有的Windows用户匹配。

+1

感谢BC,我想要SQL身份验证。你能详细说明如何/在哪里使用用户名和密码?你在说SSMS还是VS?我只是再次尝试选择网络服务的SQL身份验证,但无论我选择什么,这给了我错误。喜欢你可以给我一个网址,指导如何设置? – salvationishere 2010-06-21 22:21:15

5

NT AUTHORITY\NETWORK SERVICE是本地服务器帐户名称。当服务器是域的一部分,“网络服务”变成DOMAIN\ServerName$,这可以用于可信/集成/ Windows登录

CREATE LOGIN [BigCompany\JustOneServer$] FROM WINDOWS 

如果它不是域的一部分,使用SQL Server登录。

+0

谢谢,不,它不是域的一部分。你是什​​么意思“使用SQL Server登录”?我从高级/查找中选择了网络服务帐户 - 这是您的意思吗?你能给我一个指导如何做到这一点的网址吗? – salvationishere 2010-06-21 22:22:46