Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

MS-SQL (SQL Server) 로그인 문제 (SQL Server 인증) Computer & Program

MS-SQL (SQL Server)의 로그인 방식은 2가지가 있다. 현재 접속한 윈도 계정으로 접속하는 방식과 데이터베이스 내에 사용자 계정을 만들어 로그인을 할 수 있는 방식이다.

일반적으로 SQL Server가 아닌 다른 데이터베이스 시스템은 후자의 경우가 많다. 데이터베이스 내에서 사용자의 로그인 암호와 로그인 권한 여부를 관리하게 된다. 하지만, SQL Server는 MS에서 만들어서인지 윈도의 사용자 계정을 통해서도 로그인이 가능하다. 현재 윈도에 로그인 된 사용자가 SQL Server의 접속 권한을 가지고 있다면 "Windows 인증"을 선택해서 암호를 넣지 않고도 SQL Server로 접속이 가능하다.

이 때문인지 간혹 SQL Server에서 "Windows 인증"을 통한 방법이 아닌 "SQL Server 인증"을 통해서 로그인을 하려고 하면 다음과 같은 메시지와 함께 로그인이 되지 않는 경우를 볼 수 있다.
'<username>' 사용자가 로그인하지 못했습니다. 트러스트된 연결과 관련되지 않았습니다.

이 문제로 어제, 오늘 이틀을 고생했다. 일단.. 음.. 역쉬 검색엔진(이라고 쓰고 구글사마라고 읽는다)은 모든걸 알고 있어 TㅅT 해결 방법은 레지스트리를 수정해야 한다. SQL Server가 로그인 방식을 "Windows 인증"만을 사용하고 있을 가능성이 크다. 이를 "혼합 모드(SQL Server 인증 및 Windows 인증)"로 바꿔주어야 한다. 윈도의 "regedit.exe" 명령어를 실행시켜 다음의 위치를 찾자.
SQL Server의 기본 인스턴스:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\LoginMode
SQL Server의 명명된 인스턴스:
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\\MSSQLServer\LoginMode

머신에 따라 위의 경로가 동일하지 않을 수 있다. 여기서 중요한 것은 "HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server"안에서 "LoginMode"라는 이름의 필드를 찾는 것이다. 이 "LoginMode" 필드의 값을 확인해서 변경해야 한다. 나는 "HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode"에 있었다.

이 "LoginMode"를 찾았다면 값이 어떻게 되어 있는지 확인하자. 그리고 인증 형식에 따라 아래와 같은 값으로 변경해 주어야 한다. 맨 위와 같은 형태의 에러 메시지를 보았다면 혼합 모드로 바꿔 줘어야 하겠지??

인증 형식
Windows 인증만
혼합 모드(SQL Server 인증 및 Windows 인증)
1
2

그리고 중요한 점이 있다. 레지스트리 값을 변경했다면 꼭 데이터베이스 시스템의 서비스를 다시 시작해 주어야 한다.


문제 : SQL Server 인증으로 다음과 같은 메시지와 함께 로그인이 되지 않는다. "'<username>' 사용자가 로그인하지 못했습니다. 트러스트된 연결과 관련되지 않았습니다."
원인 : 로그인 방법이 "Windows 인증" 방법만 사용하도록 설정되어 있다.
해결 방법 : 레지스트리의 값을 변경하여 "혼합 모드"로 로그인이 가능하도록 설정을 바꾼다.
출처?? : http://support.microsoft.com/kb/827422/ko 문서는 "SQL Server 2000"이지만 2005 버전에서도 위의 내용은 동일함.

덧글

댓글 입력 영역

Google AdSense (text/image)