これを書いている時点で、Macで実行できるSQL Serverには、SQLServer2017とSQLServer2019Previewの2つのリリースがあります。この記事では、これらの両方をMacで実行して、同時に実行する方法について説明します。もう一方をインストールする前に、一方をアンインストールする必要はありません。
重要なのは、インスタンスごとに異なるTCPポート番号(ホストマシンでコンテナーがマップされるTCPポート)を使用することです。これを行わないと、エラーが発生します。 SQL Serverはデフォルトでポート1433を使用します。これは、インスタンスの1つに使用できますが、両方に使用することはできません。したがって、少なくとも1つのインストールでこれを変更する必要があります。
SQLServerのダウンロード
これらの手順は、MacにDockerがインストールされて実行されていることを前提としています。 MacでSQLServerを実行するにはDockerが必要です(VMを介してWindowsにインストールすることを選択した場合を除きますが、ここで行っていることではありません)。 Dockerをお持ちでない場合は、この記事の下部にある「詳細な手順」セクションにジャンプしてください。
最新のSQLServer2017イメージをダウンロードするには、次のコマンドを実行します。
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
SQL Server 2019プレビューをダウンロードするには、次のコマンドを実行します。
sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
これは執筆時点での最新リリースであることに注意してください。最新のイメージについては、DockerWebサイトの公式SQLServerリポジトリを確認してください。
コンテナを実行する
両方のコンテナイメージがダウンロードされたので、次のコマンドを実行します。
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2017" -p 1401:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=BigStrong#Pwd2019" -p 1402:1433 --name sql2 -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
名前とパスワードを自分のものに変更します。また、別のリリースを使用している場合は、それに応じてパスを変更してください。
この場合、SQLServer2017コンテナーとSQLServer2019コンテナーを作成し、それらをホストマシンのTCPポート1401と1402にマップします。どちらの場合も、SQLServerはコンテナのポート1433でリッスンしています。
それで全部です。これで、SQLServer2017とSQLServer2019がMacで同時に実行されているはずです。
SQLServerインスタンスへの接続
各インスタンスに接続するときに、ポート番号を追加する必要があります。 mssql-cliコマンドラインツールを使用してSQLServer2017インスタンスに接続する例を次に示します。
mssql-cli -S Localhost,1401 -U sa -P BigStrong#Pwd2017
一部のGUIツールには、ポート用に個別のフィールドがある場合があります。それ以外の場合は、同じ Localhost、1401を使用できるはずです。 フォーマット。
詳細な手順
上記の手順は、MacにDockerがインストールされており、MacにSQLServerをインストールして接続するための知識がすでにあることを前提としています。そうでない場合は、次の2つの記事が役立ちます。
-
MacにSQLServer(2017)をインストールする
この記事では、デフォルトのポート設定(1433:1433)を使用してSQLServerをインストールする方法を示します。 Dockerのインストール、コマンドラインインターフェイスからのSQL Serverへの接続、およびGUIツールへのリンクが含まれます。
- この記事では、別のポート(1400:1433)を使用してSQLServerをインストールする方法を示します。実際には、デフォルトのポートで開始しますが、同じポートで2つのインスタンスを実行しようとすると発生するエラーが表示されます。次に、そのポートを変更する方法を示します(上記の例のように)。この記事には、Dockerのインストール、コマンドラインインターフェイスからのSQL Serverへの接続、およびGUIツールへのリンクも含まれています。