programing

SQL Server 로그인 오류: 'NT AUTHORITY\SYSTEM' 사용자에 대한 로그인 실패

css3 2023. 8. 23. 21:57

SQL Server 로그인 오류: 'NT AUTHORITY\SYSTEM' 사용자에 대한 로그인 실패

"schoolPool"이라는 응용 프로그램 풀을 만들어 웹 응용 프로그램에 할당했습니다.이 풀의 ID가 로컬 시스템으로 설정되었습니다.응용 프로그램 내에서 데이터베이스에 액세스하려고 할 때(예: SQL 연결 열기) 항상 다음 오류가 발생합니다.

Login failed for user 'NT AUTHORITY\SYSTEM'


SSMS(SQL Server Management Studio) 로그인에 NT AUTHORITY/SYSTEM을 추가하려고 했지만 이미 주체가 되어 다음 오류가 표시되었습니다.
enter image description here

NT AUTHORITY/SYSTEM이 서버 역할을 sysadmin으로 허용합니다.enter image description here

enter image description here

응용 프로그램 설정을 많이 수정하여 응용 프로그램 풀의 ID(윈도우즈 8.1의 IIS)를 로컬 시스템, 로컬 서비스, 네트워크 서비스 및 응용 프로그램 풀 ID로 변경했습니다.하지만, 그들 모두는 제가 데이터베이스에 로그인한 문제를 해결하지 못했습니다.
마지막으로 LocalSystem에 풀 ID를 설정하고 왜 "NT AUTHRITY\SYSTEM"이 내 데이터베이스에 대한 연결을 열지 못하게 하는지 생각했습니다.SQL Server Management Studio를 "Administrator"로 열고 "logins" 섹션에서 NT AUTHORITY\SYSTEM에 대한 서버 역할을 확인했습니다.이 사용자의 기본 서버 역할은 기본적으로 공용입니다.는 또한 sysadmin을 확인하고 웹 애플리케이션 양식을 새로 고쳤습니다.이번에는 성공했습니다!이제 모든 것이 완벽하게 작동합니다.

다른 해결책이 있습니다.명령 프롬프트(cmd)를 열고 다음을 기록해야 합니다.

sqlcmd -S(서버 이름)

select name from sys.server_principals where name = 'NT AUTHORITY\SYSTEM'

go

SP_ADDSRVROLEMEMBER 'NT AUTHORITY\SYSTEM','SYSADMIN'

go

첫 번째 줄은 시스템의 SQL 서버에 대한 액세스 권한을 제공하고, 두 번째 줄은 다음과 같은 결과를 제공합니다.NT AUTHORITY\SYSTEM저장 프로시술.addsrvrolemember추가할 예정sysadmin다음 코드를 그대로 입력해야 하므로 주의하십시오.

다음 쿼리를 다시 실행하여 'NT SERVICE\MSSQLSERVER'를 sysadmin에 할당합니다.

EXEC master..sp_addsrvrolemember @loginame = N'NT SERVICE\MSSQLSERVER', @rolename = N'sysadmin'

sysadmin을 부여하는 Musakkhir의 답변은 보안에 관한 한 제대로 생각되지 않은 것으로 보이며, Pinal의 답변은 알려지지 않은 프로세스 db_owner 권한을 부여하는 것과 관련이 있으며, 여전히 거의 확실하게 과잉 살해되었습니다.저는 단순히 "공개" 권한을 부여함으로써 스스로 해결했습니다. 일반적으로 CONNECT만 허용하지만 그 외에는 아무것도 허용하지 않습니다. 심지어 SELECT도 허용하지 않습니다.로그인 오류를 제거하고 오류 로그 플러딩을 중지합니다. 이제 로그인하지만 알 수 없는 프로세스가 연결을 수행하고 있는 경우에도 여전히 아무것도 수행할 수 없습니다.

연결Strings에서 사용자 ID="username";pwd="yourpassword"로 사용자 ID와 SQL 서버 인증 로그인의 pwd를 지정해야 합니다.다음 쿼리를 PASSWORD = 'Password'; GO로 로그인 이름 만들기를 사용할 수 있습니다.

절차를 따르십시오. 데이터베이스 로그인 후 - 보안 --> 로그인 --> NT AUTHORITY\SYSTEM(속성으로 마우스 오른쪽 버튼 클릭) --> 서버 역할 --> sysadmin(선택됨)

언급URL : https://stackoverflow.com/questions/24822076/sql-server-login-error-login-failed-for-user-nt-authority-system