MacにSQL Serverの実行環境を構築する手順【Dockerを使用】
Mac には直接 SQL Server をインストールすることができません。
なので SQL Server を使用したい場合は、クラウドサービスの Azure SQL Database を使用する必要があります。
しかし、Azure SQL Database は使用している時間に比例してお金がかかるので、使わない期間も残しておくわけにはいきません。
そこで本記事では、ローカル環境で SQL Server を使用するために、Docker で実行環境を構築する手順を紹介しました。
「Mac でもお金をかけずに SQL Server の構築をしたい」という人は、ぜひこの記事の手順を試してみてください。
ちなみに、Mac のチップが Intel か M1 で手順が異なるので、注意してください。
それでは、さっそく見ていきましょう。
Docker Desktop の準備
Docker Desktop のインストール
Docker のインストールは、GUI で操作できる Docker Desktop を経由するのが楽なので、以下のボタンからインストールしましょう。
以下の条件に当てはまる場合、Docker Desktop は「有料」になるので注意してください。個人で使用する場合は気にしなくて問題ありません。
- 従業員が 250 人以上
- 年間収益が 1000 万ドル以上
Docker メモリの増量
SQL Server の実行には最低でも 2GB が必要で、Docker のメモリもちょうど 2GB になっています。
メモリ不足で動かなくなると困るので、4GB くらいに上げておくといいでしょう。
最後に、「Apply & Restart」で変更を保存してください。
SQL Serverの実行環境を構築する(Intel)
Docker Image の 取得
以下のコマンドを実行して、SQL Server の Docker Image を取得します。
$ docker pull mcr.microsoft.com/mssql/server
正常に pull できた場合は、「docker images」のコマンドを実行すると「mcr.microsoft.com/mssql/server」が出てきます。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/mssql/server latest d78e982c2f2b 2 weeks ago 1.48GB
コンテナの作成
pull してきた Docker Image から、コンテナを作成します。
$ docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong()Password" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
例えば「!」など、パスワードに含まれる記号によってはうまく実行できませんでした。
run が完了したら、以下のコマンドを実行して「mcr.microsoft.com/mssql/server」が起動していることを確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e6a3a16c30f2 mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 hours ago Up 3 seconds 0.0.0.0:1433->1433/tcp musing_roentgen
Docker 上での環境構築としてはこれで完了です。
SQL Serverの実行環境を構築する(M1)
Docker Image の 取得
記事の執筆日時点では、SQL Server の Docker Image からコンテナを作成してもエラーとなってしまうため、「Azure SQL Edge」というイメージを使用します。
以下のコマンドを実行して、Azure SQL Edge の Docker Image を取得してください。
$ docker pull mcr.microsoft.com/azure-sql-edge
正常に pull できた場合は、「docker images」のコマンドを実行すると「mcr.microsoft.com/mssql/server」が出てきます。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/azure-sql-edge latest 5dba915af82f 5 weeks ago 1.83GB
コンテナの作成
pull してきた Docker Image から、コンテナを作成します。
docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=Password.1' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
例えば「!」など、パスワードに含まれる記号によってはうまく実行できませんでした。
run が完了したら、以下のコマンドを実行して「mcr.microsoft.com/mssql/server」が起動していることを確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0655e9cb8f78 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 5 hours ago Up 5 hours 1401/tcp, 0.0.0.0:1433->1433/tcp great_engelbart
Docker 上での環境構築としてはこれで完了です。
DB を参照するための環境構築
以降の作業は必須ではありませんが、データベースの中身を参照したり編集したりするのに便利なツールをインストールします。
Windows の場合は「SQL Server Management Studio」というツールがありますが、Mac では使用できません。
そこで、代替ツールとして「Azure Data Studio」をインストールします。
Microsoft が公式に出しているツールなので安心です。
Azure Data Studio のインストール
公式サイトの手順に従って、Azure Data Studio のインストールをしてください。
zip ファイルをダウンロードして解凍し、appファイルをアプリケーションフォルダに移動するだけです。
接続の追加
インストールができたら、起動しましょう。
起動すると「Add Connection」というボタンが出るので、そこから接続の追加をします。

以下の情報を入力して、Connect を押しましょう。
| Connection Type | Microsoft SQL Server |
|---|---|
| Server | localhost |
| User name | sa |
| Password | コンテナ作成時に指定したパスワード |
正常に接続ができると、以下のような画面になります。
テーブル作成のクエリを実行して、サンプルデータを投入したあと、データの中身を見てみると以下のように見えます。
テーブルの作成はクエリを発行しないとできませんでしたが、レコードの追加や修正、参照はマウス操作でかんたんに操作できました。
Azure Data Studio は Microsoft が公式に出している無料のツールなので、積極的に使っていきましょう。
データベースを参照する類似ツールは他にもたくさんあるので、自分にあったツールを使っても問題ありません。
最後に
Docker を使って、Mac に SQL Server の実行環境を構築する手順について解説しました。
ローカル環境に構築してしまえば、無料で使い続けることができるのでいいですね。
この記事を参考に、ぜひ環境構築をしてみてください。
入門編から EC サイトを作る応用編まで、Blazor の本を3冊執筆しました。
私が1年以上かけて学習した内容をすべて詰め込んでいるので、さらにステップアップしたい方はぜひご覧ください。
