SQL server 2008 express에서 SQL 인증 구성 (Configuring SQL server 2008 express to accept SQL authentication)

Visual Studio 2010을 설치하면 SQL Server 2008 Express를 함께 설치하여 사용할 수 있습니다. 하지만 기본적으로 SQL 인증과 원격 접속에 대해 구성되어 있지 않은 상태도 설치가 됩니다. 따라서 SQL 인증과 원격 접속이 가능하게 하려면 별도의 작업을 해 줘야 합니다.

SQL 인증 활성화 (Enable SQL authentication)

SQL Server 2008 재설치 (Re-installation of SQL Server 2008 Express)

첫 번째 방법은 다소 시간이 걸리긴 하지만 기존의 SQL Server 2008 Express를 삭제하도 다시 설치하는 방법이 있습니다. 지난 4월 최대 10G 데이터 용량까지 지원 가능한 SQL Server 2008 R2 Express 버전이 나왔기 때문에 이 버전을 받아 설치하면 버전 업그레드 효과도 있습니다.

SQL Server 2008 R2 Express는 아래와 같이 네 가지 형태로 배포되고 있으니 원하는 배포판을 받아 설치하면 됩니다.

SQL 인증은 설치 과정의 데이터베이스 엔진 구성에서 아래와 같이 인증 방법을 혼합 인증 (Mixed Authentication)으로 설정하고 sa에 대한 암호를 설정하면 됩니다.

Database Engine Configuration

SQL Server Management Studio 사용 (Using SQL Server Management Studio)

만일 새롭게 설치하는 것에 어려움이 있거나 기존 데이터베이스를 반드시 사용해야할 경우라면 SQL Management Studio를 이용해서 간편하게 설정할 수 있습니다. 아마도 이 방법이 가장 쉬운 방법이 아닐까 합니다.

위에 있는 SQL Server 2008 R2 배포판 중에서 Management Studio가 있는 배포판을 받아 Management Studio를 설치한 후 Management Studio를 실행합니다.

서버 연결 대화상자의 서버 이름(Server name)에는 아직 원격 연결이 활성화되어 있지 않은 상태이기 때문에 아래와 같이 localhost\SQLEXPRESS를 입력하고 윈도우 인증을 선택한 후 연결합니다.

Connect to Server

Visual Studio 설치를 통해 SQL Server 2008 Express를 설치했으면 기본 인스턴스 이름이 SQLEXPRESS되어 있는데 만일 다른 이름으로 인스턴스를 생성했으면 그 이름을 입력합니다. 이 때 대소문자는 구별하지 않습니다.

좌측 트리 개체 탐색기(Object Explorer)에서 최상위 서버 노드를 마우스 오른쪽 버튼을 선택한 후 속성(Properties) 선택합니다.

Choose Server Properties

서버 속성(Server Properties) 대화상자의 좌측 페이지 선택(Select page)에서 보안(Security)를 선택하면 보안 관련 설정을 하는 페이지가 오른쪽에 나타나는데 여기서 아래와 같이 SQL Server 및 Windows 인증모드(SQL Server and Windows Authentication mode)를 선택하고 확인(OK) 버튼을 누르면 SQL 인증 모드가 설정됩니다.

Server Properties

시스템 관리자 계정인 sa에 대한 암호를 설정하기 위해 다시 처음의 개체 탐색기(Object Explorer)에서 서버 노드 하위의 보안(Security) -> 로그인(Logins) 노드를 확장합니다. 로그인(Logins) 아래에 sa 계정을 다시 오른쪽 마우스를 선택한 후 속성(Properties)를 선택하면 sa 계정에 대한 정보를 수정할 수 있는 대화상자가 나타나는데 페이지 선택(Select page)에서 일반(General)을 선택해서 아래와 같이 암호를 설정합니다.

sa Password

sa 계정의 암호만 설정해서는 sa로 로그인이 불가능합니다. sa 계정의 로그인은 다시 페이지 선택(Select page)에서 상태(Status)를 선택한 후 아래와 같이 활성화해 주면 로그인이 가능하게 됩니다.

sa Enable

위와 같이 구성을 마친 후 서비스 관리자(Services, services.msc) 또는 SQL 서버 구성 관리자(SQL Server Configuration Manager, SQLServerManager10.msc)를 이용해서 서비스를 다시 시작합니다.

수동 구성 (Manual Configuration)

만일 Management Studio의 설치도 여의치 못한 상황이면 수작업으로 활성화 해야 합니다. 먼저 할 일을 레지스트리를 수정해 SQL 인증을 활성화합니다.  윈도우 시작 버튼을 선택해 아래와 같이 프로그램 및 파일 검색(Search Programs and Files)창에 regedit.exe를 입력해 레지스트리 편집기를 실행합니다.

레지스트리 편집기에서 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer 노드를 선택한 후 오른쪽에 LoginMode 항목을 더블클릭한 후 아래와 같이 값이 2로 변경해 주면 혼합 모드 인증이 됩니다.

Login Mode Registry Value

sa 계정에 대한 암호 설정 및 로그인 활성화는 콘솔 명령창에서 다음과 같이 수행합니다.

Alter Login

Server Management Studio를 사용했을 때와 같이 서비스를 다시 시작합니다.

시간나는대로 다음에는 SQL Server 2008 Express의 원격 연결이 가능하도록 설정하는 방법에 대해 올리도록 하겠습니다.