cod*_*bie 31 sql-server iis login
我创建了一个名为"schoolPool"的应用程序池,并将其分配给我的Web应用程序.此池的标识已设置为LocalSystem.当我尝试从应用程序中访问我的数据库,即打开SQL连接时,我始终收到以下错误:
Login failed for user 'NT AUTHORITY\SYSTEM'
Run Code Online (Sandbox Code Playgroud)
我尝试添加NT AUTHORITY/SYSTEM到SSMS(SQL Server Management Studio中)登录,但它已经是一个主要的,显示了以下错误:

Mus*_*yed 90
允许NT AUTHORITY/SYSTEM将服务器角色作为sysadmin.


cod*_*bie 43
我经常调整应用程序设置,将应用程序池的标识(在Windows 8.1的IIS中)更改为LocalSystem,LocalService,NetworkService和ApplicationPoolIdentity.但是,所有这些都无法解决我登录数据库的问题.
最后,我在LocalSystem上设置池标识,并考虑为什么它可能阻止"NT AUTHRITY\SYSTEM"打开与我的数据库的连接.我以"管理员"身份打开了SQL Server Management Studio,并在"登录"部分下检查了NT AUTHORITY\SYSTEM 的服务器角色.默认情况下,此用户的默认服务器角色是公共的.我还检查了sysadmin并刷新了我的Web应用程序表单.这次它奏效了!现在一切都很完美.
小智 6
还有另一个修复方法。您应该打开命令提示符 (cmd) 并编写以下内容:
sqlcmd -S(服务器名称)
select name from sys.server_principals where name = 'NT AUTHORITY\SYSTEM'
go
SP_ADDSRVROLEMEMBER 'NT AUTHORITY\SYSTEM','SYSADMIN'
go
Run Code Online (Sandbox Code Playgroud)
第一行将让您访问计算机上的 SQL Server,第二行将获取以下结果,NT AUTHORITY\SYSTEM并将存储过程addsrvrolemember添加sysadmin到其中。请小心,因为您必须按原样键入以下代码。
| 归档时间: |
|
| 查看次数: |
78504 次 |
| 最近记录: |