가끔... SQL Server가 Windows 계정으로 설치되고 로컬에서만 사용되기 때문에 sa 계정을 모를 때가 있다.
특히 SQLExpress 같이 다른 프로그램 설치될 때 함께 설치되는 경우에는 더더욱 그렇다.
그런 경우에 sa 계정으로는 로그인이 되지 않을까?
천만에.
심지어 Windows 인증 모드 전용으로 설정되어 있는 경우에도
sa 계정 패스워드를 변경하고 sa로 로그인할 수 있다.
이것이 필요한 경우는... 굳이 말할 필요는 없겠지만
테스트 목적으로 해당 SQL Server를 급히 활용해야 할 때라든가,
아니면 원격으로 다른 컴퓨터에서 연결을 해야 할 필요가 있을 때, 정도...?
이미 서버에 SQL Server Management Studio가 설치되어 있는 경우에는
SQL Server Management Studio를 통해서 쉽게 변경이 가능하므로 아래 글은 읽을 필요 없겠다.
이 글은 SQL Server Management Studio를 설치할 수 없는 환경이거나
설치하려니 몹시 귀찮은 경우에 사용할 수 있는 팁 정도가 되겠다.
그럼 먼저,
Windows 인증 모드를 혼합 모드로 바꾸는 방법은
아래 레지스트리 값을 수정하면 된다.
[HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer]
LoginMode=0x00000001 (REG_DWORD)
SQL Server 2000 이전에는 위 값을 바꾸면 됐지만,
이후 버전은 기본 명명 인스턴스라는 개념이 생기면서 좀 바뀌었다.
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL{버전번호}.MSSQLSERVER\MSSQLServer]
LoginMode=0x00000001 (REG_DWORD)
이 값을 1에서 2로 바꿔주면 된다.
>> 참조: https://support.microsoft.com/en-us/kb/285097
다음으로,
sa 패스워드를 바꾸는 방법.
>> 출처: http://www.wikihow.com/Reset-SA-Password-in-Sql-Server
위 출처에 그림과 함께 상세하게 나와 있지만 다시 한번 옮겨 적어 보면,
먼저 명령 프롬프트를 실행하고
osql -L
명령을 실행하면 로컬 및 로컬 네트워크에 설치된 SQL Server 인스턴스 목록이 주루룩 나온다.
그 중에서 해당되는 로컬 SQL 서버 인스턴스의 이름을 찾아서 기억해 두거나 복사한 다음,
osql -S {서버 인스턴스 명} -E
이상의 명령을 실행하면 아래에
1>
2>
3>
4>
이런 식으로 명령줄을 입력할 수 있는 줄이 생기는데(처음엔 1> 만 생긴다)
거기에다 아래 명령을 입력하면 된다.
1> sp_password NULL, '1234', 'sa'
2> GO
3>
GO를 입력하고 엔터를 쳐도 뭔가 아무런 반응을 하지 않는 듯해서 의아하게 생각할 수 있지만
그게 끝이다. 이미 변경되었다.
sa 계정으로 로그인해 보면 된다.
끝.
'Tech: > 일반·기타' 카테고리의 다른 글
실버라이트(Microsoft Silverlight) 설치가 안될 때 (2) | 2016.03.18 |
---|---|
사용자 정의 URI Scheme 연결 프로그램 (0) | 2015.09.24 |
Windows 10 다중 데스크톱(Multiple Desktops) (2) | 2015.09.03 |
Office 2013 설치 제거 시 오류 해결 (0) | 2015.08.27 |
코딩하기 좋은 글꼴: Consolas (0) | 2015.06.26 |