Linux 上で環境変数を使って SQL Server の設定を構成する

適用対象:SQL Server - Linux

Linux では、いくつかの異なる環境変数を使って SQL Server 2017 (14.x) を構成することができます。 このような変数は、次の 2 つのシナリオで使用されます。

Linux では、いくつかの異なる環境変数を使って SQL Server 2019 (15.x) を構成することができます。 このような変数は、次の 2 つのシナリオで使用されます。

Linux では、いくつかの異なる環境変数を使って SQL Server 2022 (16.x) を構成することができます。 このような変数は、次の 2 つのシナリオで使用されます。

ヒント

これらのセットアップ シナリオの後に SQL Server を構成する必要がある場合は、「mssql-conf ツールを使用して SQL Server on Linux を構成する」をご覧ください。

環境変数

環境変数 説明
ACCEPT_EULA ACCEPT_EULA 変数を任意の値に設定し、エンド ユーザー使用許諾契約書の承諾を確認します。 SQL Server イメージの設定が必要です。
MSSQL_SA_PASSWORD SA ユーザーのパスワードを構成します。

SA_PASSWORD 環境変数は非推奨です。 代わりに MSSQL_SA_PASSWORD を使用してください
MSSQL_PID SQL Server のエディションまたはプロダクト キーを設定します。 次の値を指定できます。

Evaluation
Developer
Express
Web
Standard
Enterprise1
EnterpriseCore1
A product key

プロダクト キーを指定する場合は、#####-#####-#####-#####-##### という形式にする必要があります。ここで、'#' は数字または文字を表します。
MSSQL_LCID SQL Server に使用する言語 ID を設定します。 たとえば、1036 はフランス語です。
MSSQL_COLLATION SQL Server の既定の照合順序を設定します。 これにより、言語 ID (LCID) から照合順序への既定のマッピングがオーバーライドされます。
MSSQL_MEMORY_LIMIT_MB SQL Server が使用できるメモリの最大容量 (MB 単位) を設定します。 既定では、これは物理メモリの合計の 80% です。
MSSQL_TCP_PORT SQL Server がリッスンする TCP ポートを構成します (既定値は 1433)。
MSSQL_IP_ADDRESS IP アドレスを設定します。 現在、IP アドレスは IPv4 形式 (0.0.0.0) である必要があります。
MSSQL_BACKUP_DIR 既定のバックアップ ディレクトリの場所を設定します。
MSSQL_DATA_DIR 新しい SQL Server データベースのデータ ファイル (.mdf) が作成されるディレクトリを変更します。
MSSQL_LOG_DIR 新しい SQL Server データベースのログ (.ldf) ファイルが作成されるディレクトリを変更します。
MSSQL_DUMP_DIR SQL Server が、メモリ ダンプやその他のトラブルシューティング ファイルを格納する既定のディレクトリを変更します。
MSSQL_ENABLE_HADR 可用性グループを有効にします。 たとえば、'1' は有効、'0' は無効です
MSSQL_AGENT_ENABLED SQL Server エージェントを有効にします。 たとえば、'true' は有効、'false' は無効です。 既定では、エージェントは無効になっています。
MSSQL_MASTER_DATA_FILE master データベースのデータ ファイルの場所を設定します。 SQL Server を最初に実行するまでに、master.mdf という名前を付ける必要があります。
MSSQL_MASTER_LOG_FILE master データベースのログ ファイルの場所を設定します。 SQL Server を最初に実行するまでに、mastlog.ldf という名前を付ける必要があります。
MSSQL_ERROR_LOG_FILE errorlog ファイルの場所を設定します。 たとえば、/var/opt/mssql/log/errorlog のようにします。

1 レガシガシ Enterprise ライセンスは、サーバー + クライアント アクセス ライセンスライセンスは、サーバー + クライアント アクセス ライセンス (CAL) ベースの Enterprise Edition を表明し、SQL Server インスタンスあたり最大 20 コアに制限されています。 Enterprise は、新しい契約では使用できません。 Enterprise Edition をデプロイする場合は、EnterpriseCore を選ぶ必要があります。 EnterpriseCore は、コア制限のないコア ベースのサーバー ライセンス モデルを表明します。 詳細については、「SQL Server のエディション別の計算容量制限」を参照してください。

初期セットアップでの使用

この例では、構成済みの環境変数を使って mssql-conf setup を実行します。 以下の環境変数が指定されています。

  • ACCEPT_EULA は、エンド ユーザー ライセンス契約を承諾します。
  • MSSQL_PID は、非運用環境で使用するために、無料でライセンスが付与される Developer Edition の SQL Server を指定します。
  • MSSQL_SA_PASSWORD 強力なパスワードを設定します。
  • MSSQL_TCP_PORT は、SQL Server がリッスンする TCP ポートを 1234 に設定します。
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Docker での使用

この docker コマンドの例では、以下の環境変数を使って新しい SQL Server コンテナーを作成します。

  • ACCEPT_EULA は、エンド ユーザー ライセンス契約を承諾します。
  • MSSQL_PID は、非運用環境で使用するために、無料でライセンスが付与される Developer Edition の SQL Server を指定します。
  • MSSQL_SA_PASSWORD 強力なパスワードを設定します。
  • MSSQL_TCP_PORT は、SQL Server がリッスンする TCP ポートを 1234 に設定します。 つまり、この例では、ホストのポートにポート 1433 (既定値) をマップするのではなく、-p 1234:1234 コマンドを使ってカスタム TCP ポートをマップする必要があります。

Linux 上で Docker を実行している場合は、単一引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Windows 上で Docker を実行している場合は、二重引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Note

コンテナーで実稼働エディションを実行するためのプロセスは若干異なります。 詳細については、「Run production container images」(実稼働のコンテナー イメージを実行する) を参照してください。

Linux 上で Docker を実行している場合は、単一引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Windows 上で Docker を実行している場合は、二重引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Linux 上で Docker を実行している場合は、単一引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Windows 上で Docker を実行している場合は、二重引用符を含む次の構文を使います。

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

SQL ドキュメントへの投稿

SQL コンテンツを自分で編集できることはご存じですか。 これにより、ドキュメントが改善されるだけでなく、ページの共同作成者としてもクレジットされます。

詳細については、「SQL Server のドキュメントに投稿する方法」を参照してください。