SQL Server에서 sysadmin 역할에 사용자를 추가 할 수 없습니다


9

SQL Server 2008 Management Studio를 사용하고 있습니다. 현재 로그온 계정은 컴퓨터 로컬 관리자 그룹에 속합니다. SQL Server 2008에서 Windows 통합 보안 모드를 사용하고 있습니다.

내 문제는 SQL Server Management Studio에 로그인 한 후 보안 / 로그인에서 로그인 이름을 선택한 다음 서버 역할 탭을 선택한 다음 마지막 항목을 선택합니다-sysadmin이 자신을이 그룹 / 역할에 속하게하지만 충분한 권한이 없습니다. 어떤 아이디어가 잘못 되었습니까? 로컬 관리자가 무엇이든 할 수 있어야한다고 생각합니다. :-)


이 문제에 대해 Microsoft에서 제공하는 내용은 다음과 같습니다. msdn.microsoft.com/en-us/library/dd207004.aspx 이 스크립트를 추천 할 수 있습니다. archive.msdn.microsoft.com/addselftosqlsysadmin/Release/…

답변:


6

권한을 설정하려는 세션의 로그인에는 권한이 있어야합니다.

그렇다면 사용중인 로그인은 로컬 관리자입니까? 이는 로컬 관리자 그룹에 충분한 권한이 없음을 의미합니다.

GUI는 이것을 너무 sp_addsrvrolemember 실행합니다 . 비록 이것이 말한다

새 회원을 추가 할 역할의 회원 자격이 필요합니다.

따라서 로컬 관리자 그룹은 sysadmin의 구성원이 아닙니다.

편집하다:

해결하려면 : 권한이있는 로그인을 사용하십시오. sp_helpsrvrolemember를 사용하여 찾을 수 있습니다


내 문제를 해결하기위한 조언은 무엇입니까?
George2

모든 SQL Server 2008을 다시 설치하지 않고 해결 방법이나 솔루션이 있는지 확실하지 않습니다! :-(
George2

"권한이있는 로그인 사용"-충분한 권한이있는 로그인 목록을 어떻게 얻을 수 있습니까?
George2

감사합니다, EXEC sp_helpsrvrolemember 'sysadmin'에서 나열된 유일한 멤버는 sa라고합니다. Windows 사용자입니까? Windows 사용자 목록에서 해당 사용자를 찾을 수 없습니다. 어떤 아이디어?
George2

1
Windows 사용자가 아닌 예약 된 SQL 로그인입니다. 테스트 SQL 2008 설치에서 SQL Server를 설치 한 계정이 나열됩니다.
gbn

4

다른 좋은 기사 문제 해결 : 시스템 관리자가 잠겨있을 때 SQL Server에 연결 저자는 SQL Server를 다시 제어하기 위해해야 ​​할 일은

"-m 또는 -f 옵션을 사용하여 단일 사용자 모드에서 SQL Server 인스턴스를 시작하십시오. 그런 다음 컴퓨터의 로컬 관리자 그룹 구성원은 sysadmin 고정 서버 역할의 구성원으로 SQL Server 인스턴스에 연결할 수 있습니다. "

불행히도 단일 사용자 모드에서 시작한다는 것은 직관적 인 문제가 아닙니다. 또한 적어도 내 경험상 내 컴퓨터의 로컬 관리자 그룹의 구성원은 sysadmin 상태를 "사용자"계정에 부여하지 않았습니다.

이 이야기는 비 DC 서버 (도메인 변경의 결과)에 의해 내 도메인 구성원 자격 문제를 해결하기 위해 시작되었으며 2008 년부터 DC를 Windows Server 2008 R2로 다시 빌드했습니다. 이로 인해 몇 가지 사소한 문제가 해결되었지만 잘못된 서버의 멤버쉽 문제 이를 달성하기 위해 ServerFault에서 제안 된 수정이 필요했습니다 (제 경우에는 winsock 및 tcpip를 재설정하는 문제였습니다).

SQL Server 2008은 현재 도메인의 구성원 인 두 번째 서버에 있습니다. 여기 문제가 있습니다. 누군가 ServerFault에 대해 지적했듯이 Server 2008을 설치할 때 "현재 사용자를 sysadmin으로 설정"하는 것이 일반적입니다. 다른 사람도 고려하지 않는 것이 일반적입니다. 단일 사용자 ID는 더 이상 존재하지 않는 도메인의 도메인 구성원이므로 Sql Server를 관리 할 수있는 권한이 없었습니다.

Sql Server를 설치할 때 있었던 로컬 서버 관리자로 로그온했지만 Management Studio에 액세스 할 수 있었지만 BUILTIN \ Administrators에 "공용"서버 역할 만 있다는 것을 금방 알았습니다.

많은 연구와 실험을 거친 후 단일 사용자 로그온 http://technet.microsoft.com/en-us/library/ms180965.aspx 의 세부 정보를 제공하는 기사를 작성했습니다 .

C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn 
C:\...>sqlservr.exe -m

이 단계를 수행하려면 SQL Server를 종료해야합니다 (대부분의 경우 기본적으로 실행 됨). SQL 구성 관리자를 사용하여 "Sql Server"를 중지하십시오.

그런 다음 명령 프롬프트에서 해당 프로그램 파일 위치 (또는 시스템에서 동등한 위치)로 이동하여 "sqlservr.exe -m"명령을 실행하십시오. 명령 프롬프트에 일련의 활동이 기록되면 성공한 것입니다. 시작되지 않으면 SQL Server가 이미 실행중인 것입니다. 닥쳐

단일 사용자 인스턴스가 해당 데이터베이스를 연결하도록 허용하십시오. 로그 활동이 중지되면 Management Studio를여십시오. 단일 사용자 모드로 자동 전환되므로 귀하가 대표하는 모든 계정은 sysadmin이됩니다. 이 기능을 사용하여 보안 로그인 및 서버 역할을 조정하십시오.

필자의 경우 새 도메인에서 도메인 계정을 다시 만든 다음 SQL Server에서 이름을 삭제하고 SID / GUID 상황으로 인해 이름을 재구성하여 필요한 경우 특정 데이터베이스에 대한 권한을 다시 할당해야했습니다.


매개 변수를 설정하는 또 다른 방법이 있습니다 : 서비스 열기, 관리자, 서비스 선택 및 마우스 오른쪽 버튼 클릭 메뉴에서 속성. 일반 탭에는 "시작 매개 변수"편집이 있습니다. 필요한 매개 변수를 입력하십시오. 그런 다음 해당 페이지의 시작 버튼을 사용하여 서비스를 시작하십시오 . 여기에 설정된 매개 변수는 등록 정보 대화 상자에서 서비스를 시작할 때만 영구적이고 유효하지 않습니다.
ldsandon

3

SQL Server 2008은 더 이상 BUILTIN \ Administrators를 sysadmin 고정 서버 역할의 구성원으로 추가하지 않습니다.

그러나이 경우 단일 사용자 모드 (비상 모드)에서 SQL Server 서비스를 시작하는 상황에서 복구 할 수 있으며 모든 로컬 관리자가 로그온 할 수 있습니다.

MSDN을 참조하십시오 .


2

기본적으로 SQL은 BUILTIN \ Administrators 그룹을 sysadmin 역할에 추가합니다. 즉, 로컬 NT 관리자는 자동으로 SQL sysadmin입니다. Vista에서는 UAC로 인해이 권한을 활용하려면 '관리자'모드로 실행해야합니다.

  • Vista를 사용하는 경우 클라이언트 도구 (SSMS)를 '관리자'로 실행 한 다음 자신을 sysadmin으로 추가하십시오.
  • 실수로 BUILTIN \ Administrators 그룹이 sysadmin 역할에서 제거 된 경우 다른 sysadmin 로그인으로 로그인해야합니다. 다른 sysadmin 로그인이 없으면 SQL 인증으로 sa로 로그인하고 설정 중에 설정된 sa 암호를 사용해야합니다. sysadmin의 구성원으로 로그인하면 ad BUILTIN \ Admisnitrators는 sysadmin 역할로 다시 돌아갑니다. SQL 로그인이 사용 불가능한 경우 축하합니다. SQL 설치에서 자신을 잠그기 만하면됩니다.
  • KB932881에 따라 BUILTIN \ Administrators 그룹이 sysadmin 역할에서 의도적으로 제거 된 경우 권한이없는 시스템을 해킹하려는 것입니다.

안녕 Remus, 나는 설치 과정에서 sa에 대한 암호를 설정하지 않는다고 혼란 스럽습니다. 기본 암호가 있습니까?
George2

또 다른 혼란은 저장 프로 시저 sp_helpsrvrolemember를 실행하여 모든 sysadmin 역할 사용자를 찾으려면 sa 만 나열되고 로컬 컴퓨터 관리자 그룹의 다른 사용자가없는 이유는 무엇입니까?
George2

sa의 기본 비밀번호는 없습니다. 혼합 인증을 사용하는 경우 설정 중에 sa의 비밀번호가 설정됩니다. 필요한 경우 데이터베이스 관리자에게 액세스 권한을 부여하도록 요청해야합니다.
Remus Rusanu

"SQL 로그인이 비활성화 된 경우 축하합니다. SQL 설치를 중단하면됩니다." 이 경우 단일 사용자 모드에서 SQL Server를 시작하려면 아래 Jordi의 답변을 참조하십시오.
Michiel van Oosterhout

1

기본적으로 SQL Server 2008은 더 이상 BUILTIN \ Administrators를 sysadmin 고정 서버 역할의 구성원으로 추가하지 않습니다. 설치 프로그램을 진행할 때 sysadmin 권한이있는 계정을 묻습니다. 기본적으로 "나를 sysadmin으로 지정하십시오"라는 단추가 있는데, 설치를 수행하는 사용자의 계정을 sysadmin으로 추가합니다.

다른 사용자를 sysadmins로 추가하지 않은 경우 해당 사용자 만 현재 sysamdin입니다. 해당 사용자가 SQL Server에 로그인하여 DBA sysadmin 권한을 부여해야합니다.


0

SQL Server 2008에서 서버를 등록 할 때까지 새로 설치 한 후 동일한 문제를 해결했습니다. 모든 것이 정상적으로 진행되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.