SQL Server

SQL Server 2017 LocalDB 설치, SSMS 2017 설치, LocalDB 연결, 한글 데이터정렬(Collation)

미스터몽키 2019. 1. 16. 02:41

2017 버전 부터는 인스톨러를 먼저 설치하고 

인스톨로를 통해  "LocalDB" 설치파일을 다운로드 하고 그리고 나서 LocalDB 를 설치한다.


먼저 인스톨러를 다음 두 경로 중 한 곳에서 다운로드하고 실행한다. 

첫번째는 최근 디자인 스타일이고 두번째 링크는 설치 사양등의 설명을 확인할 수 있어 좋다. 


https://www.microsoft.com/ko-kr/sql-server/sql-server-editions-express


https://www.microsoft.com/ko-kr/download/details.aspx?id=55994


미디어 다운로드를 선택하고 "LocalDB" 를 선택하고 다운로드한다.










다운로드가 완료되면 그림처럼 SqlLocalDB.msi  로컬디비 설치파일을 확인할 수 있다.





로컬디비 SqlLocalDB.msi 설치파일을 실행한다.





이제 SSMS 2017를 설치한다. 


SSMS 2014에서 SQL Server 2017 접속은 원할하지 않으므로 (아마도 하위호환만 되는 듯)  SSMS 2017을 설치한다.

그리고 SSMS 2017 부터는 별도로 설치파일을 제공한다.


https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017





SSMS 17.9.1 버전을 다운로드하고 설치한다.




설치완료후  SSMS 2017을 실행하여 로컬디비에 접속해 본다.

여기서 중요한 것은 "서버 이름" 설정은  


"(localdb)\MSSQLLocalDB" 로 설정한다.


"MSSQLLocalDB" 는 기본 인스턴스 명이다. (대소문자 구별안함)







연결에 성공하면 그림처럼 개체 탐색기가 보인다. 빌드버전 14.0.1000 도 표시된다. 



빌드버전은 누적업데이트(CU)를 통해 올라갈수 있다. 현재 시점 최신 누적업데이트(CU)  13이다.


https://www.microsoft.com/ko-KR/download/details.aspx?id=56128




2017 버전과 2016 버전의 MS docs 문서는 동일하고 기본적인 사용법이 잘 설명되어 있다.


https://docs.microsoft.com/ko-kr/sql/database-engine/configure-windows/sql-server-2016-express-localdb?view=sql-server-2017



여기서 중요한 것만 간추리면 


1. LocalDB  인스턴스는 SqlLocalDB.exe 유틸리티 를 사용하여 관리할 수 있다. 즉 SSMS 를 설치하지 않고 관리할 수 있다는 뜻으로 배포시 유용할 것 같다.


2. LocalDB  SQL Server Express 데이터베이스를 만들고 열 수 있는 SQL Server 인스턴스가 됩니다.


2. LocalDB 의 인스턴스 데이터 정렬(Collation)SQL_Latin1_General_CP1_CI_AS 로 설정되며 변경할 수 없습니다.   그러나 사용자 데이터베이스 생성시 데이터정렬(Collation) 을 옵션으로 설정할 수 있으므로 한글을 주로 사용할 경우 꼭 Korean_Wansung_CI_AS 로 설정하여 새 데이터베이스를 생성한다.


이렇게 하지 않으면 한글이 ??? 식으로 깨진다.




그런데 주의할 것은 데이터정렬 Collation 은 컬럼 각각에 정렬 방법을 정의하는 것으로 결국 컬럼의 속성을 설정하는 것이다.  위 그림처럼 데이터베이스 옵션에서 설정한다는 의미는 Collation 설정 변경후 추가되는 컬럼에 대해 기본값으로 데이터베이스 옵션에서 설정된 Collation 값으로 새로 만든 컬럼의 Collation을 설정한다는 의미다. 즉 기존 컬럼의 Collation 값은 변경되지 않는다. 

또한 테이블 설계시 각 컬럼별로 다른 Collation 을 설정할 수도 있다. 



Windows 인증 사용

데이터 소스에 대한 액세스를 제한하려면 사용자 ID, 암호, 데이터 소스 이름과 같은 연결 정보의 보안을 유지해야 합니다. Windows 인증을 사용 하 여 좋습니다 사용자 정보 노출을 피하려면 (라고도 통합 보안) 가능 합니다. Windows 인증은 Integrated Security 또는 Trusted_Connection 키워드를 사용하여 문자열에 지정되므로 사용자 ID와 암호를 사용할 필요가 없습니다. Windows 인증을 사용하면 사용자는 Windows에서 인증되고 서버 및 데이터베이스 리소스에 대한 액세스는 Windows 사용자 및 그룹에 부여하는 권한에 따라 결정됩니다.

Persist Security Info=False 사용

Persist Security Info의 기본값은 false입니다. 모든 연결 문자열에서 이 기본값을 사용하는 것이 좋습니다. Persist Security Info를 true 또는 yes로 설정하면 연결이 열린 다음 연결에서 사용자 ID 및 암호와 같은 보안 관련 정보를 얻을 수 있습니다. Persist Security Info를 false 또는 no로 설정하면 연결을 열기 위해 보안 정보를 사용한 다음 삭제하므로 신뢰할 수 없는 소스는 보안 관련 정보에 액세스할 수 없습니다.



SQL Server Native Client 설치


SQLLocalDB 와 응용프로그램만 배포할 경우 SQL Server Native Client 11.0 드라이버 필요하다. 

OLE DB 공급자를 통해 응용프로그램과 연동하는 경우다.

SSMS 설치시 SQL Server Native Client 11.0 드라이버가 같이 설치되지만 SSMS를 설치하지 않을 경우 

다음 경로에서 별도로 SQL Server Native Client 11.0 드라이버를 설치한다.


https://www.microsoft.com/ko-kr/download/details.aspx?id=50402



64비트용을 설치한다. 




.