3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerを使ってMacでSQLServerを使用する

3
Posted at

SQLServer本体や、GUIツールのSQL Server Management StudioはWindowsでしか使えない
MacでSQLServerを利用するためのメモ

Dockerイメージの取得

Docker pullでDocker HubよりDockerイメージを取得する

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

SQLServerの各versionはコロンの後に指定する
指定できるversionは下記を参照

Dockerコンテナ作成

docker runでコンテナを作成する

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 --hostname sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2022-latest

docker psでDockerコンテナを表示する
正常にDockerコンテナが作成されるとSTATUSUpとなる

normal
sudo docker ps -a

CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS          PORTS                    NAMES
002b5cc5a9db   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   15 seconds ago   Up 14 seconds   0.0.0.0:1433->1433/tcp   sql1

エラーが出た場合、STATUSExitedとなる
下記はパスワード強度がSQLServerの基準を満たしておらず、エラーとなった事例

error
sudo docker ps -a

CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                        PORTS     NAMES
f9da266bced0   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   12 minutes ago   Exited (255) 12 minutes ago             sql1

エラーログの確認

docker exec -t sql1 cat /var/opt/mssql/log/errorlog | grep connection

Error response from daemon: Container f9da266bced092c0c6ecaa7df2dac5ee638ad5b0229e8acfd0b237f7dc70dc5f is not running

SQLServerに接続する

稼働しているコンテナ名を指定して接続する

sudo docker exec -it sql1 "bash"

mssql@sql1:/$ 

コンテナに入れたらフルパスとパスワードを指定

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"

SQLServerへの接続が成功した場合、1>が表示される

Azure Data Studio

Azure Data Stduioは、OSを問わず利用できるGUIツール
MacからGUIで操作する場合におすすめ

Reference

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?