azure-sql-edge
(注) Dockerを使うので先にDocker for Macのインストールをして下さい。
MacでSQL Serverを使うにはMicrosoftが提供するLinux版のSQL Serverイメージを使うのが良いらしいのですが、M1 Macだとこんな感じのエラーが出て使えませんでした。
2019-latest: Pulling from mssql/server
Digest: sha256:a098c9ff6fbb8e1c9608ad7511fa42dba8d22e0d50b48302761717840ccc26af
Status: Image is up to date for mcr.microsoft.com/mssql/server:2019-latest
mcr.microsoft.com/mssql/server:2019-latest
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
ググってみると、azure-sql-edgeというイメージがあることが分かったのでこちらを使ってみます。
docker pull mcr.microsoft.com/azure-sql-edge
pullが成功したらこんな感じでコンテナを走らせます。
(パスワードのところは記号付きの強力なパスワードに変更してください)
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password’ -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
docker psでこんな感じで動作していることを確認できます。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
79b5010697ab mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 53 seconds ago Up 52 seconds 1401/tcp, 0.0.0.0:1433->1433/tcp, :::1433->1433/tcp sqledge
##Azure Data Studioで動作確認
WindowsだとManagement Studioとかいう管理ツールがあるのですが、Macだと使えないのでAzure Data Studioというものを使ってみます。こちらはLinuxやMacでも動きます。
Azure Data Studio のダウンロードとインストール
Mac版はzipファイルで提供されているので、解凍してできる Azure Data Studio.appをアプリケーションフォルダに移動します。
Azure Data Studioを起動するとこんな感じです。
StartのところのNew connectionをクリックすると以下の画面になるので、Serverに「localhost」、Usernameに「sa」、Passwordはコンテナ実行時に指定したパスワードを入れます。
DBの作成などはGUIで出来なさそうなので、以下のページなどを参考にしてみると良いかと思います。
クイック スタート:Azure Data Studio を使用して、SQL Server に接続してクエリを実行する
とりあえずチュートリアルそのままですが、DBの作成、テーブルの作成、データのインサートも無事できました。
次はVisual Studio for Macを入れて、C#からLINQでDBアクセスにチャレンジする予定です。