SA 로그인은 보안상 로그인을 허용하지 않도록 설정된 상황에서 sysadmin 역할을 가진 모든 사용자가 없는 상황이라면 어떠한 방법으로 SA 를 다시 로그인 가능하도록 설정을 변경할 수 있을까요?
SQL Server 서비스를 중지하고 관리자 모드로 Command Prompt 를 실행한 후 SQL Server 서비스를 시작할 때, -m 매개변수를 사용하여 로컬 관리자 그룹의 멤버가 sysadmin 역할을 부여 받고 단일 사용자 모드로 서비스를 시작합니다.
이 때, 다른 클라이언트의 접속은 허용하지 않기 위해 SQLCMD 클라이언트만 접속할 수 있드록 –m”SQLCMD” 옵션을 사용합니다.
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn> sqlservr –m"SQLCMD"
새로운 Command Prompt 를 하나 더 실행하여 SQLCMD 명령으로 인스턴스에 로그인 하여 SA 계정을 사용할 수 있도록 활성화합니다.
패스워드는 PASS1234 로 변경하는 방법에 대한 예입니다.
C:\> SQLCMD –S .
1> ALTER LOGIN SA ENABLE
2> GO
1> ALTER LOGIN [SA] WITH PASSWORD = 'pwlaigo'
2> GO
1> GRANT CONNECT SQL TO SA
2> GO
1> ALTER LOGIN SA ENABLE
2> GO
1> ALTER LOGIN [SA] WITH PASSWORD = 'pwlaigo'
2> GO
1> GRANT CONNECT SQL TO SA
2> GO
SQL Server 서비스를 중지한 뒤 다시 SQL Server 서비스를 시작하고 SQL Server Management Studio 를 실행한 후 SA 사용자로 로그인 하여 필요한 사용자 권한 설정을 반영합니다
[참고자료]
Database Engine Service Startup Options
http://msdn.microsoft.com/en-us/library/ms190737.aspx
작성자 : Lai Go / 작성일자 : 2013.06.11