사용자 도구

사이트 도구


mssqlserver

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
mssqlserver [2018/08/27 14:43]
kwon37xi
mssqlserver [2020/02/14 11:04] (현재)
kwon37xi [2017 Linuix 버전 설치]
줄 3: 줄 3:
   * [[mssqlserver:jdbc|MS SQL Server JDBC]]   * [[mssqlserver:jdbc|MS SQL Server JDBC]]
   * [[java:hibernate:mssqlserver|Hibernate & MS SQL Server]]   * [[java:hibernate:mssqlserver|Hibernate & MS SQL Server]]
 +  * [[mssqlserver:querystore|SQLServer Query Store]]
 +  * [[mssqlserver:performance|SQLServer Performance]]
   * [[https://docs.microsoft.com/ko-kr/sql/sql-operations-studio/what-is?view=sql-server-2017|SQL Operations Studio]]   * [[https://docs.microsoft.com/ko-kr/sql/sql-operations-studio/what-is?view=sql-server-2017|SQL Operations Studio]]
 +
 +===== SQLServer 2012 Express 설치 =====
 +  * 파일 다운로드 <code sh>
 +wget http://download.microsoft.com/download/8/D/D/8DD7BDBA-CEF7-4D8E-8C16-D9F69527F909/ENU/x64/SQLEXPRWT_x64_ENU.exe -Outfile SQLEXPRWT_x64_ENU.exe
 +</code>
 +  * Port 변경 및 활성화 : [[https://docs.microsoft.com/ko-kr/sql/database-engine/configure-windows/configure-a-server-to-listen-on-a-specific-tcp-port?view=sql-server-2017|특정 TCP 포트에서 수신 대기하도록 서버 구성 | Microsoft Docs]]
 +    * SQL Server Configuration Manager 실행
 +    * SQL Server Network Configuration 에서 원하는 인스턴스 선택
 +    * **TCP/IP** ''Enabled''로 변경. 속성 선택해서 원하는 IP에 대해 Port 지정. 0으로 돼 있는 것은 삭제.
 +{{::sqlserver_port.png|}}
 +    * Service 에서 해당 인스턴스 재시작
  
 ===== 2017 Linuix 버전 설치 ===== ===== 2017 Linuix 버전 설치 =====
   * 2017 버전부터 Linux 지원   * 2017 버전부터 Linux 지원
   * [[https://docs.microsoft.com/ko-kr/sql/linux/sql-server-linux-overview?view=sql-server-linux-2017|SQL Server on Linux 개요 | Microsoft Docs]]   * [[https://docs.microsoft.com/ko-kr/sql/linux/sql-server-linux-overview?view=sql-server-linux-2017|SQL Server on Linux 개요 | Microsoft Docs]]
 +  * [[https://docs.microsoft.com/ko-kr/sql/linux/sql-server-linux-configure-docker?view=sql-server-ver15|Docker의 SQL Server 구성 옵션 - SQL Server | Microsoft Docs]]
   * [[https://docs.microsoft.com/ko-kr/sql/linux/quickstart-install-connect-docker?view=sql-server-linux-2017|Docker에서 SQL Server 2017 시작 | Microsoft Docs]] [[https://hub.docker.com/r/microsoft/mssql-server-linux/|microsoft/mssql-server-linux - Docker Hub]]   * [[https://docs.microsoft.com/ko-kr/sql/linux/quickstart-install-connect-docker?view=sql-server-linux-2017|Docker에서 SQL Server 2017 시작 | Microsoft Docs]] [[https://hub.docker.com/r/microsoft/mssql-server-linux/|microsoft/mssql-server-linux - Docker Hub]]
   * Docker ''localhost:1433''   * Docker ''localhost:1433''
줄 13: 줄 27:
     * password: ''password12!''     * password: ''password12!''
 <code sh> <code sh>
-sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=password12!' \+sudo docker run -e 'ACCEPT_EULA=Y' 
 +   -e 'MSSQL_SA_PASSWORD=password12!' \ 
 +   -e 'TZ=Asia/Seoul' \
    -p 1433:1433 --name sqlserver2017 \    -p 1433:1433 --name sqlserver2017 \
    -d microsoft/mssql-server-linux:2017-latest    -d microsoft/mssql-server-linux:2017-latest
  
 +# TZ=Asia/Seoul 은 운영체제 시간은 그대로인 상태로 sqlserver의 시간대만 Asia/Seoul로 변경한다.
 # 완성형 필요하면 추가 옵션 # 완성형 필요하면 추가 옵션
--e "MSSQL_COLLATION=Korean_Wansung_CI_AS"+-e 'MSSQL_COLLATION=Korean_Wansung_CI_AS
 +</code> 
 +  * 만약 실행 초반에 Timezone 설정을 못했다면 - ''Asia/Seoul''로 시간대를 지정해야 한다. 
 +<code sh> 
 +docker exec sqlserver2017 /bin/bash -c "apt-get update && apt-get -y install tzdata && ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && echo 'Asia/Seoul' > /etc/timezone" 
 + 
 +docker restart sqlserver2017
 </code> </code>
   * Docker 사용시 특히 Mac, Windows 에서는 Docker에 할당된 메모리가 4GB 이상인지 확인해야 한다.   * Docker 사용시 특히 Mac, Windows 에서는 Docker에 할당된 메모리가 4GB 이상인지 확인해야 한다.
-  * 그 외버전을 Docker 로 접속게 [[https://windocks.com/|Windocks]]+  * Windows CMD에서 실행하지 말고 파워셸에서 실행할 것. 
 +  * 아래와 같은 오류가 발생면(특히 Windows, Mac OS X) Docker 자체를 재시작하거나 안되면 PC를 재시작할 것<code> 
 +  Unable to acquire SQL Server application lock 
 +  --------------------------------------------- 
 +  SQL State  S0000 
 +  Error Code : 17750 
 +  Message    : Could not load the DLL (server internal), or one of the DLLs it references. Reason: 126(The specified module could not be found.).
  
 +  Could not load the DLL (server internal), or one of the DLLs it references. Reason: 126(The specified module could not be found.).
 +</code>
 +  * 그 외버전을 Docker 로 접속가능하게 [[https://windocks.com/|Windocks]]
 <code sh> <code sh>
 # 한번에 # 한번에
줄 54: 줄 86:
   * 그외 [[https://helabs.com/artigos/2014/09/19/mssql-on-vagrant/|Microsoft SQL Server on Vagrant - Blog do Time]]   * 그외 [[https://helabs.com/artigos/2014/09/19/mssql-on-vagrant/|Microsoft SQL Server on Vagrant - Blog do Time]]
  
-===== No Lock ===== 
-  * [[http://msdn.microsoft.com/en-us/library/aa213026(v=sql.80).aspx|Locking Hints]] 
-  * 읽기 전용일 경우 DB 락을 안 걸게 하는 것이 좋다. ISOLATION을 ''READ_UNCOMMITTED''로 하거나 모든 FROM절의 테이블 명 뒤에 ''WITH (NOLOCK)''을 지정한다. 붙여쓰지 말것. 
-<code sql> 
-SELECT id 
-FROM table_a WITH (NOLOCK) 
- 
-SELECT a.id, b.id 
-FROM table_a a WITH (NOLOCK), table_b b WITH (NOLOCK) 
-WHERE a.id=b.id 
-</code> 
  
 ===== SQL log ===== ===== SQL log =====
줄 117: 줄 138:
 </code> </code>
  
 +===== 실습용 데이터베이스 =====
 +  * [[https://github.com/Microsoft/sql-server-samples|SQL-Server Samples]] [[https://github.com/Microsoft/sql-server-samples/releases|Releases]]
 +  * 특히 ''Adventure Works'' 샘플을 사용할 것.
 ===== 참고 ===== ===== 참고 =====
   * [[https://www.mssqltips.com/sqlservertip/4322/sql-server-differences-of-char-nchar-varchar-and-nvarchar-data-types/|SQL Server differences of char, nchar, varchar and nvarchar data types]]   * [[https://www.mssqltips.com/sqlservertip/4322/sql-server-differences-of-char-nchar-varchar-and-nvarchar-data-types/|SQL Server differences of char, nchar, varchar and nvarchar data types]]
줄 122: 줄 146:
   * [[https://docs.microsoft.com/ko-kr/sql/powershell/download-sql-server-ps-module?toc=/sql/ssms/toc.json&view=sql-server-2017|SQL Server PowerShell 모듈 다운로드]]   * [[https://docs.microsoft.com/ko-kr/sql/powershell/download-sql-server-ps-module?toc=/sql/ssms/toc.json&view=sql-server-2017|SQL Server PowerShell 모듈 다운로드]]
   * [[https://docs.microsoft.com/ko-kr/sql/ssms/sql-server-management-studio-ssms?view=sql-server-2017|SSMS(SQL Server Management Studio)]]   * [[https://docs.microsoft.com/ko-kr/sql/ssms/sql-server-management-studio-ssms?view=sql-server-2017|SSMS(SQL Server Management Studio)]]
-  * [[https://www.sqlshack.com/searching-the-sql-server-query-plan-cache/|Searching the SQL Server query plan cache - SQL Shack - articles about database auditing, server performance, data recovery, and more]] +  * [[https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB|SQL Server tutorial for beginners YouTube]]
-  * [[https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store?view=sql-server-2017|Monitoring Performance By Using the Query Store | Microsoft Docs]] +
-  * [[https://docs.microsoft.com/en-us/sql/t-sql/statements/set-showplan-all-transact-sql?view=sql-server-2017|SET SHOWPLAN_ALL (Transact-SQL) | Microsoft Docs]] +
-  * [[https://www.red-gate.com/simple-talk/sql/performance/execution-plan-basics/|Execution Plan Basics - Simple Talk]] +
-  * [[https://docs.microsoft.com/ko-kr/sql/relational-databases/performance/best-practice-with-the-query-store?view=sql-server-2017|쿼리 저장소에 대한 모범 사례 | Microsoft Docs]]+
mssqlserver.1535348611.txt.gz · 마지막으로 수정됨: 2018/08/27 14:43 저자 kwon37xi