사용자 도구

사이트 도구


mssqlserver

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
mssqlserver [2018/06/14 18:54]
kwon37xi [2017 Linuix 버전 설치]
mssqlserver [2018/09/04 13:42] (현재)
kwon37xi [SQLServer 2012 Express 설치]
줄 1: 줄 1:
 ====== MS SQL Server ====== ====== MS SQL Server ======
 +  * [[mssqlserver:​basic|MS SqlServer basic]]
 +  * [[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]]
  
 +===== 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 지원
줄 21: 줄 36:
  
 <code sh> <code sh>
 +# 한번에
 +docker exec -it sqlserver2017 ​ /​opt/​mssql-tools/​bin/​sqlcmd -S localhost -U SA -P '​password12!'​
 +
 # docker 내부에서 command line 으로 DB접속 # docker 내부에서 command line 으로 DB접속
 docker exec -it sqlserver2017 "​bash"​ docker exec -it sqlserver2017 "​bash"​
 /​opt/​mssql-tools/​bin/​sqlcmd -S localhost -U SA -P '​password12!'​ /​opt/​mssql-tools/​bin/​sqlcmd -S localhost -U SA -P '​password12!'​
 </​code>​ </​code>​
 +  * ''​sqlcmd''​에서 port 지정은 ''​-S localhost,​1433''​ 처럼 Hostname 뒤에 쉼표로 한다.
 ===== Vagrant로 SQLServer 설치하기 ===== ===== Vagrant로 SQLServer 설치하기 =====
   * [[https://​libraries.io/​github/​mince27/​vagrant-mssql-express|Vagrant로 MS SQLServer Express 2012 설치]] [[https://​github.com/​kwon37xi/​vagrant-mssql-express|Github]]   * [[https://​libraries.io/​github/​mince27/​vagrant-mssql-express|Vagrant로 MS SQLServer Express 2012 설치]] [[https://​github.com/​kwon37xi/​vagrant-mssql-express|Github]]
줄 47: 줄 66:
   * 그외 [[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 =====
줄 94: 줄 102:
   * ''​nvarchar''​ : unicode 로 문자를 저장한다. 한글 한글자 '​한'​은 length가 1이 된다. 그러나 실제 저장소는 16bit(2byte)를 차지한다.   * ''​nvarchar''​ : unicode 로 문자를 저장한다. 한글 한글자 '​한'​은 length가 1이 된다. 그러나 실제 저장소는 16bit(2byte)를 차지한다.
   * **가능하면 ''​nvarchar''​로 통일하는게 좋다.** 그렇지 않고 두가지가 섞일 경우 매우 복잡한 byte 조작이 필요해진다.   * **가능하면 ''​nvarchar''​로 통일하는게 좋다.** 그렇지 않고 두가지가 섞일 경우 매우 복잡한 byte 조작이 필요해진다.
 +
 +==== datetime / datetime2 ====
 +  * [[https://​stackoverflow.com/​questions/​1334143/​datetime2-vs-datetime-in-sql-server|DateTime2 vs DateTime in SQL Server - Stack Overflow]]
 +  * ''​datetime2''​를 사용할 것! 더 적은 용량 더 높은 정확도.
 +
 +===== INSERT =====
 +  * INSERT 를 할 때 AUTO INCREMENT PK를 직접 지정하고 싶다면 ''​IDENTITY_INSERT''​를 지정해야 한다.
 +
 +<​code>​
 +SET IDENTITY_INSERT books ON;
 +
 +// books table에 insert
 +
 +SET IDENTITY_INSERT books OFF;
 +</​code>​
  
 ===== 참고 ===== ===== 참고 =====
   * [[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]]
   * [[https://​blogs.msdn.microsoft.com/​qingsongyao/​2009/​04/​10/​sql-server-and-utf-8-encoding-1-true-or-false/​|SQL Server and UTF-8 Encoding (1) -True or False – Collation, DateTime, SParse Column and XML]]   * [[https://​blogs.msdn.microsoft.com/​qingsongyao/​2009/​04/​10/​sql-server-and-utf-8-encoding-1-true-or-false/​|SQL Server and UTF-8 Encoding (1) -True or False – Collation, DateTime, SParse Column and XML]]
 +  * [[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)]]
  
mssqlserver.1528970070.txt.gz · 마지막으로 수정됨: 2018/06/14 18:54 저자 kwon37xi