3 回答
TA贡献1785条经验 获得超8个赞
NETWORK SERVICE和LocalSystem始终将自己作为本地对应的帐户(内置\网络服务和内置\系统)进行身份验证,但是两者都将作为远程计算机帐户进行身份验证。
如果看到这样的故障Login failed for user 'DOMAIN\MACHINENAME$'
,则表明以NETWORK SERVICE或LocalSystem身份运行的进程已访问了远程资源,已将自身身份验证为计算机帐户,并被拒绝授权。
典型示例是在应用程序池中运行的ASP应用程序,该应用程序池设置为使用NETWORK SERVICE凭据并连接到远程SQL Server:该应用程序池将通过运行该应用程序池的计算机进行身份验证,并且该计算机帐户需要被授予访问权限。
如果拒绝对计算机帐户的访问,则必须将访问权限授予该计算机帐户。如果服务器拒绝登录“ DOMAIN \ MACHINE $”,那么您必须授予“ DOMAIN \ MACHINE $”登录权限,而不是“网络服务”。授予对NETWORK SERVICE的访问权限将允许以NETWORK SERVICE身份运行的本地进程连接,而不是远程进程,因为您猜到该远程进程将通过DOMAIN \ MACHINE $进行身份验证。
如果您期望asp应用程序作为SQL登录名连接到远程SQL Server,并且获得有关DOMAIN \ MACHINE $的异常,则意味着您在连接字符串中使用Integrated Security。如果这是意外情况,则表示您已拧紧使用的连接字符串。
TA贡献2065条经验 获得超13个赞
当您使用IIS配置应用程序时,会发生此错误,并且IIS转到SQL Server并尝试使用没有适当权限的凭据登录。设置复制或镜像时,也会发生此错误。我将介绍一个始终有效且非常简单的解决方案。转到SQL Server >>安全>>登录,然后右键单击NT AUTHORITY \ NETWORK SERVICE,然后选择“属性”。
在新打开的登录属性屏幕中,转到“用户映射”选项卡。然后,在“用户映射”选项卡上,选择所需的数据库,尤其是显示此错误消息的数据库。在下部屏幕上,检查角色db_owner。单击确定。
- 3 回答
- 0 关注
- 829 浏览
添加回答
举报