如何通过SQL身份验证添加NETWORK SERVICE登录?

时间:2010-06-21 17:49:23

标签: sql login sql-server-express sql-server-2005-express

我正在尝试添加NETWORK SERVICE登录,因为我仍然无法连接到AdventureWorks3数据库。但我想通过SQL Server身份验证而不是Windows添加此NETWORK SERVICE登录。

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

2 个答案:

答案 0 :(得分:5)

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

CREATE LOGIN [BigCompany\JustOneServer$] FROM WINDOWS

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

答案 1 :(得分:3)

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

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

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