我正在尝试添加NETWORK SERVICE登录,因为我仍然无法连接到AdventureWorks3数据库。但我想通过SQL Server身份验证而不是Windows添加此NETWORK SERVICE登录。
当我选择Windows身份验证时,它允许我创建此登录。但是当我选择SQL Server Auth时,它会给我以下错误:为登录'NT AUTHORITY \ NETWORK SERVICE'创建失败'...'NT AUTHORITY \ NETWORK SERVICE'不是有效名称,因为它包含无效字符。 (MS SQL Server,错误:15006)
答案 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用户匹配。