수행 할 작업은 SQL Server 버전과 새 자격 증명을 설정하기 위해 SQL Server 서비스를 중단 할 수 있는지 여부에 따라 다릅니다. 여기서 처음 두 가지 방법은 인스턴스를 다시 시작할 필요가 없습니다.
SQL Server 2005, 2008 및 2008 R2 인스턴스의 경우
NT AUTHORITY\SYSTEM
계정 (또는 다른 백도어 방법)을 사용하여 연결할 수 있습니다 . 여기에 몇 가지 답변이 있습니다.
이 문제를 해결 하는 MSSQLTips.com 에 대한 팁도 있습니다 .
기본적 으로 Microsoft에서 PSExec 을 다운로드 한 다음 설치 한 후에이를 사용하여 Management Studio를 시작합니다.
PsExec -s -i "C:\...\Ssms.exe"
이것은 다음 NT AUTHORITY\SYSTEM
과 같이 객체 탐색기에서 연결 하고 수행 할 수있게합니다.
인스턴스를 SQL Server 및 Windows 인증 모드로 변경 -서버 이름을 마우스 오른쪽 단추로 클릭하고 특성을 적중 한 후 라디오 단추가 현재 Windows로만 설정된 경우이를 변경하십시오.
sa
계정 의 비밀번호를 설정하십시오 -보안, 로그인, 마우스 오른쪽 버튼을 클릭 sa
하고 속성을 클릭하십시오 . 결과 대화 상자에는 두 개의 비밀번호 입력 필드가 있습니다.
자신의 로그인을sysadmin
마우스 오른쪽 단추로 클릭하여 로그인, 새 로그인으로 추가하십시오. 로그인 이름 (형식 DOMAIN\username
)을 입력 한 다음 서버 역할 탭으로 이동하고 sysadmin
상자를 선택하고 확인을 클릭하십시오.
또는 로그인이 이미 나열되어 있으면 마우스 오른쪽 단추로 속성을 클릭 sysadmin
하고 서버 역할 아래에서 확인되어 있는지 확인하십시오.
SQL Server 2012 및 최신 인스턴스
SQL Server 2012부터는 NT Authority\SYSTEM
기본적으로 더 이상 SQL Server에 대한 권한이 부여되지 않았습니다. Argenis Fernandez 는 이러한 최신 버전에서이를 수행하는 또 다른 방법을 자세히 설명했습니다 .
- SQL VSS Writer 서비스가 실행 중이면 중지하고이를 유지 관리 할 수있는 모든 유지 관리 계획 또는 타사 백업 소프트웨어를 일시 중단하십시오.
열기 regedit.exe
의 값을 변경 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SQLWriter\ImagePath
하는 점에 SQLCMD.exe
있는 것으로 예정된다 C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\**<...110|120|130|140...>**\Tools\Binn
. 편집 한 후 레지스트리 값은 다음과 같이 보일 것입니다 (스크롤에 대해 죄송합니다).
"C:Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\SQLCMD.exe" -S .\instancename -E -Q "ALTER ROLE sysadmin ADD MEMBER [YourDomain\YourUserName];"
SQL VSS Writer 서비스를 다시 시작해보십시오 (오류가 발생합니다).
이제를 sysadmin
사용하여 연결할 수 있습니다 YourDomain\YourUserName
. 따라서 SQL VSS Writer 서비스를 중지하고 레지스트리를 수정 한 후 서비스를 다시 시작하십시오 (서비스를 실행해야하거나 시작하기 전에 실행중인 경우).
나는 이것을 두 번째 팁으로 훨씬 더 자세히 살펴 보았습니다.
이 팁을 쓸 때 서비스를 직접 가리 키기 훨씬 쉬운 사본을 SQLCMD.exe
만들고 교체 하는 더 번거로운 접근 방식을 사용했습니다 .sqlwriter.exe
SQLCMD.exe
SQL Server 서비스를 중단 할 여유가있는 경우
단일 사용자 모드에서 인스턴스를 다시 시작해야하는 공식적으로 지원되는 Microsoft 경로가 있습니다.
dbatools.io 에는 SQL Server 관리를위한 Powershell 솔루션 인 다음 과 같은 기능도 있습니다 Reset-DbaAdmin
.
여기서 보안은 주요 문제가 아닙니다.
많은 사람들이 소위 "취약점"을 "수정"하기 위해 Microsoft를 요구하고 있습니다. 이는 귀하가 올바르게 소유 한 SQL Server 인스턴스에 대한 액세스를 복구하기위한 유효한 접근 방법입니다. 이들은 모두 SQL Server가 상주하는 물리적 호스트에 대한 높은 권한을 요구합니다. 내가 여러 사람에게 말했듯이 개발자가 SQL Server 설치를 망칠 필요가 없다면 관리자로 만들지 마십시오.