reference site: [https://docs.microsoft.com/ko-kr/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash]
- download image SQL Server 2017 Linux
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
- 도커로 mssql 컨테이너 실행
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql1 \
-d mcr.microsoft.com/mssql/server:2017-latest
암호는 SQL Server 기본 암호 정책이 따라야 합니다. 그렇지 않으면 컨테이너는 SQL 서버를 설정할 수 없어 작동이 중지됩니다. 기본적으로 암호는 8자 이상이어야 하며 대문자, 소문자, 십진수 숫자 및 기호의 네 가지 집합 중 세 집합의 문자를 포함해야 합니다. docker 로그 명령을 실행하여 오류 로그를 검사할 수 있습니다.
- SA change password
sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "<YourStrong!Passw0rd>" \
-Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
- disable user account
ALTER LOGIN user DISABLE;
- change user name
ALTER LOGIN SA WITH NAME = old_sa
- create user
# login 을 만들고 해당 db에 계정 연결 ?
CREATE LOGIN usr WITH PASSWORD = 'passowrd';
CREATE DATABASE TestDB;
USE TestDB;
CREATE USER usr FOR LOGIN usr;
# role db_datareader - 사용자 테이블의 모든 데이터를 읽을수 있음
# role db_datawriter - 사용자 테이블의 모든 데이터에 쓸수 있음
exec sp_addrolemember 'db_datareader', usr;
exec sp_addrolemember 'db_datawriter', usr;