문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
mssqlserver [2018/05/03 16:37] kwon37xi [2017 Linuix 버전 설치] |
mssqlserver [2018/11/13 10:12] kwon37xi |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== MS SQL Server ====== | ====== MS SQL Server ====== | ||
+ | * [[mssqlserver: | ||
+ | * [[mssqlserver: | ||
* [[java: | * [[java: | ||
+ | * [[mssqlserver: | ||
+ | * [[mssqlserver: | ||
+ | * [[https:// | ||
+ | |||
+ | ===== SQLServer 2012 Express 설치 ===== | ||
+ | * 파일 다운로드 <code sh> | ||
+ | wget http:// | ||
+ | </ | ||
+ | * Port 변경 및 활성화 : [[https:// | ||
+ | * SQL Server Configuration Manager 실행 | ||
+ | * SQL Server Network Configuration 에서 원하는 인스턴스 선택 | ||
+ | * **TCP/IP** '' | ||
+ | {{:: | ||
+ | * Service 에서 해당 인스턴스 재시작 | ||
===== 2017 Linuix 버전 설치 ===== | ===== 2017 Linuix 버전 설치 ===== | ||
줄 10: | 줄 26: | ||
* password: '' | * password: '' | ||
<code sh> | <code sh> | ||
- | sudo docker run -e ' | + | sudo docker run -e ' |
+ | -e ' | ||
+ | -e ' | ||
-p 1433:1433 --name sqlserver2017 \ | -p 1433:1433 --name sqlserver2017 \ | ||
-d microsoft/ | -d microsoft/ | ||
+ | # TZ=Asia/ | ||
# 완성형 필요하면 추가 옵션 | # 완성형 필요하면 추가 옵션 | ||
- | -e "MSSQL_COLLATION=Korean_Wansung_CI_AS" | + | -e 'MSSQL_COLLATION=Korean_Wansung_CI_AS' |
</ | </ | ||
- | * 그 외버전을 Docker | + | * 만약 실행 초반에 Timezone 설정을 못했다면 - '' |
+ | <code sh> | ||
+ | docker exec sqlserver2017 | ||
+ | docker restart sqlserver2017 | ||
+ | </ | ||
+ | * Docker 사용시 특히 Mac, Windows 에서는 Docker에 할당된 메모리가 4GB 이상인지 확인해야 한다. | ||
+ | * Windows CMD에서 실행하지 말고 파워셸에서 실행할 것. | ||
+ | * 아래와 같은 오류가 발생하면(특히 Windows, Mac OS X) Docker 자체를 재시작하거나 안되면 PC를 재시작할 것< | ||
+ | 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.). | ||
+ | </ | ||
+ | * 그 외버전을 Docker 로 접속가능하게 [[https:// | ||
<code sh> | <code sh> | ||
+ | # 한번에 | ||
+ | docker exec -it sqlserver2017 | ||
+ | |||
# docker 내부에서 command line 으로 DB접속 | # docker 내부에서 command line 으로 DB접속 | ||
docker exec -it sqlserver2017 " | docker exec -it sqlserver2017 " | ||
/ | / | ||
</ | </ | ||
+ | * '' | ||
===== Vagrant로 SQLServer 설치하기 ===== | ===== Vagrant로 SQLServer 설치하기 ===== | ||
* [[https:// | * [[https:// | ||
줄 46: | 줄 85: | ||
* 그외 [[https:// | * 그외 [[https:// | ||
- | ===== No Lock ===== | ||
- | * [[http:// | ||
- | * 읽기 전용일 경우 DB 락을 안 걸게 하는 것이 좋다. ISOLATION을 '' | ||
- | <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 | ||
- | </ | ||
===== SQL log ===== | ===== SQL log ===== | ||
줄 88: | 줄 116: | ||
</ | </ | ||
+ | ==== varchar vs nvarchar ==== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | * '' | ||
+ | * **가능하면 '' | ||
+ | |||
+ | ==== datetime / datetime2 ==== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | |||
+ | ===== INSERT ===== | ||
+ | * INSERT 를 할 때 AUTO INCREMENT PK를 직접 지정하고 싶다면 '' | ||
+ | |||
+ | < | ||
+ | SET IDENTITY_INSERT books ON; | ||
+ | |||
+ | // books table에 insert | ||
+ | |||
+ | SET IDENTITY_INSERT books OFF; | ||
+ | </ | ||
+ | ===== 실습용 데이터베이스 ===== | ||
+ | * [[https:// | ||
+ | * 특히 '' | ||
===== 참고 ===== | ===== 참고 ===== | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||