로컬 SQL Server의 Windows 인증에 어떻게 자신을 추가 할 수 있습니까?


8

IT 부서는 최근 64 비트 창으로 랩톱을 재설정합니다. 그는 나를 위해 Sql Server dev 버전을 설치하고 사용자 이름과 암호로 설정했습니다. 로그인하고 SQL Server를 Windows 인증으로 변경하고 SQL Server를 다시 시작하려고 시도했지만 이제 도메인 계정으로 로그인 할 수 없습니다.

로컬 시스템의 SQLServerSQLAgentUser 및 SQLServerMSSQLUser 그룹에 본인을 추가하려고 시도했지만 Sql Server는 여전히 내 도메인 계정이 인증되지 않았다고 계속 말합니다. 내 계정은 로컬 시스템 관리자입니다.

Sql Server에 로그인하도록하려면 어떻게해야합니까?


정확한 오류 메시지를 게시해야합니다.
저스틴 Helgerson

오류 메시지는 "사용자"DOMAIN \ user "의 로그인에 실패했습니다"
KallDrexx

어떤 버전의 SQL Server를 사용하고 있습니까?
저스틴 Helgerson

SQL Server 2008 R2
KallDrexx

1
2008 년 전에 로컬 관리자 계정에 기본적으로 데이터베이스에 대한 액세스 권한이 부여 되었기 때문에 질문했습니다. 그러나 2008 년 에이 동작이 변경되었습니다 ( msdn.microsoft.com/en-us/library/cc280562.aspx ).
저스틴 Helgerson

답변:


2

불행히도 나는 당신이해야한다고 생각합니다 :

  1. 로컬 및 사랑하는 IT 친구가 데이터베이스에 로그인하여 계정을 올바르게 설정하도록하십시오.
  2. 로그인 권한이 자동으로 부여되도록 계정에서 SQL Server를 다시 설치하십시오.

데이터베이스에 액세스 할 수 없으면 보안을 업데이트하여 권한을 부여 할 수 없습니다.

SQL Server 에 로그인하려면 (개별 데이터베이스 권한이 여전히 누락 될 수 있음) 선택한 보안 로그인을 만든 Windows authentication다음 도메인 계정 이름은 Login name입니다.

여기에 이미지 설명을 입력하십시오


나는 이것이 사실이라고 생각했다. 나는 IT에 가서 SQL 서버를 설정 한 로컬 관리자에게 sa 암호를 재설정했습니다. 로컬 관리자이기 때문에 설정할 수 있다고 생각했지만 그렇지 않습니다. 그래도 Windows 인증에 대한 내 도메인 계정을 인식하는 방법을 알 수 없습니다.
KallDrexx

데이터베이스 로그인이 아닌 서버 로그인을 보고 있습니까? 서버 로그인을 구성 할 위치를 보여주는 그림을 추가했습니다.
저스틴 Helgerson

아 새 로그인 화면이 아닌 서버 속성을보고있었습니다! 감사!
KallDrexx

18

또한 로컬 관리자이기 때문에.

Microsoft 단계별 지침을 따르십시오 : http://msdn.microsoft.com/en-us/library/dd207004.aspx 또는 아래

SQL Server 서비스를 중지하십시오.

관리자 권한으로 명령 프롬프트를 열고 SQL Server binn 폴더 (C : \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn)를 찾습니다.

콘솔 출력을 사용하여 단일 사용자 모드에서 SQL Server를 시작하십시오.

sqlservr.exe -c -m

그런 다음 SSMS 또는 SQLCMD를 관리자로 시작하고 다음 쿼리를 연결하고 실행하십시오.

WINDOWS에서 로그인 [도메인 \ 사용자] 만들기

가다

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN \ USER ', @rolename = N'sysadmin'

가다


1
Shawn의 답변이 효과가 없었습니다. 이건 +1
Antony Koch

1
정답!
AnujKu

8

로컬 관리자이므로 백도어에서 SQL Server 인스턴스로 액세스 권한을 얻을 수 있습니다.

psexec.exe를 다운로드하십시오 (TechNet의 PSTools 여기 ).

명령 프롬프트와 파일을 추출한 디렉토리 (psexec.exe)로 이동하십시오. 명령을 실행 psexec.exe -i -s ssms.exe하거나 psexec.exe -i -s sqlwb.exeSQL 2005에 대해

그러면 SSMS가 NT AUTHORITY \ SYSTEM 계정으로 열리 며 기본적으로 인스턴스에 대한 SYSADMIN 권한이 부여됩니다. 그런 다음 로그인을 인스턴스에 추가 할 수 있어야합니다. 그래도 문제가 해결되지 않으면 시스템 계정 권한이 제거되었을 수 있습니다.

참고 : Vista 또는 Windows 7을 사용하는 경우 명령 프롬프트를 관리자 권한으로 실행해야합니다 ( "관리자 권한으로 실행"을 마우스 오른쪽 단추로 클릭).

두 번째 참고 : 기본 제공 관리자 그룹은 더 이상 기본적으로 sys admin으로 추가되지 않으므로 SQL Server 2012 이상에서는 작동하지 않습니다. 전체 업그레이드로 식사를하는 경우에는 예외입니다.


2
이것은 나쁜 엉덩이입니다! 이전에 아무도 투표 한 적이 없습니까?! @ KallDrexx 당신은 정말로 이것을 답변으로 표시해야합니다.
Chris

@Chris가 맞습니다, 이것은 정말 잘 작동합니다!
CLJ

2008 A2 이하인 경우 NT AUTHORITY \ SYSTEM이 제대로 작동합니다. 2012 이상의 기본 설치는 시스템 계정에 데이터베이스 엔진에 대한 액세스 권한을 부여하지 않습니다.
Spörri

0

Windows Auth로 변경하기 전에 Windows 계정에 로그인 할 수있는 충분한 권한이 있는지 확인 했습니까?


그래 내가 해야 해야하지만 난 그것에 대해 생각하지 않았다, 그래서 모든 로컬 관리자가 액세스 할 것이라고 생각했다.
KallDrexx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.