以前、SQL Server forLinuxDockerイメージを使用してMacにSQLServerをインストールする方法を説明しました。
それ以来、AppleはARMアーキテクチャを使用するM1チップをリリースしました。これにより、SQLServerをインストールしようとしたときに問題が発生する可能性があります。問題は、執筆時点では、SQLServerがARMアーキテクチャでサポートされていないことです。
幸いなことに、別の方法があります。
AzureSQLEdgeのコンテナーイメージはM1Macにインストールできます。したがって、SQLServerイメージの代わりにそのイメージを使用できます。
Azure SQL Edgeは、IoTおよびIoTEdgeの展開向けに最適化されたリレーショナルデータベースエンジンです。 SQL Serverデータベースエンジンの最新バージョンに基づいて構築されているため、SQLServerを使用する場合と同じようにT-SQLコードを使用できます。 SQLServerで使用するのと同じツール(SSMS、Azure Data Studioなど)を使用してAzureSQLEdgeをクエリすることもできます。
この記事では、M1チップを搭載したMacにAzureSQLEdgeのDeveloperEditionをインストールします。
Dockerをインストールする
Dockerコンテナを介してSQLEdgeをインストールしているため、Dockerをインストールする必要があります。
Dockerをまだお持ちでない場合は、次のようにダウンロードしてインストールしてください。
- DockerのWebサイトからDockerをダウンロードします。必ずM1Mac用のものをダウンロードしてください(ボタンは
Mac with Apple Chip
と呼ばれていました ダウンロードしたとき) - ダウンロードしたら、
.dmg
を開きます ファイルを作成し、指示に従ってDocker.appアイコンをアプリケーションフォルダにドラッグします。 - 他のアプリケーションを起動するのと同じ方法でDockerを起動します(たとえば、Applicationsフォルダー、Launchpadなどを使用)。 Dockerを開くと、パスワードの入力を求められる場合があります。 Dockerを実行するにはパスワードが必要なので、先に進んでパスワードを入力してください。
AzureSQLEdgeをインストールする
Dockerがインストールされたので、先に進んでAzureSQLEdgeをインストールできます。前述のように、これはSQL Serverデータベースエンジンを使用するため、SQLServerにクエリを実行しているかのようにT-SQLクエリなどを実行できます。
ターミナルウィンドウを開き、次のコマンドを実行します。
docker pull mcr.microsoft.com/azure-sql-edge
これにより、コンテナイメージがローカルマシンにプル/ダウンロードされます。
または、必要に応じてDockerWebサイトでコンテナーオプションを確認することもできます。
ダウンロードが完了したら、次のコマンドを実行して、ダウンロードしたDockerイメージのインスタンスを起動します。
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge
必ずbigStrongPwd
を変更してください 選択した強力なパスワードに。 --name
の値を変更することもできます 必要に応じてパラメータ。
デフォルトでは、コンテナはDeveloperEditionで実行されます。 -e 'MSSQL_PID=Premium'
を追加すると、PremiumEditionを実行できます。 。
Dockerコンテナを確認する
次のコマンドを使用して、コンテナが稼働しているかどうかを確認できます。
docker ps
結果:
a190dd199b17 mcr.microsoft.com/azure-sql-edge "/opt/mssql/bin/perm…" 10 seconds ago Up 9 seconds 1401/tcp, 0.0.0.0:1433->1433/tcp sqledge>
これは、コンテナが実際に稼働していることを示しています。
何らかの理由でコンテナが稼働していない場合は、次のコマンドを試してください。
docker start sqledge
sqledge
を置き換えます コンテナの名前で。
コンテナが稼働しているので、先に進んでSQLEdgeに接続できます。
SQLEdgeに接続
これで、Dockerイメージの起動時に提供された詳細を使用してAzureSQLEdgeインストールに接続できます。
これは、AzureDataStudioを介してAzureSQLEdgeに接続するためのスクリーンショットです。
MacにAzureDataStudioをインストールする方法は次のとおりです。
Microsoftは、Azure Data Studioは「現在ARMアーキテクチャをサポートしていない」と述べていますが、M1 Macに(つまり、ARMアーキテクチャを使用して)インストールすることに問題はありませんでした。
SQLクエリの実行
SQL Edgeに接続すると、データベースの作成、T-SQLクエリの実行などを行うことができます(T-SQLはSQLServerのSQLの拡張機能です)。
SQLクエリの実行について理解するには、SQLチュートリアルを参照してください。
SQLEdgeでサポートされている機能
一部のSQLServer機能はSQLEdgeでサポートされていません。 Azure SQL Edgeは、Linux上のSQLServer2019でサポートされている機能のサブセットをサポートしています。
とはいえ、SQL Edgeには、SQL Serverでは利用できない機能(DATE_BUCKET()
など)がいくつかあります。 関数)。
完全な内訳については、MicrosoftWebサイトのAzureSQLEdgeのサポートされている機能を参照してください。