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 つのシナリオで使用されます。
mssql-conf setup
コマンドを使って初期セットアップを構成する。- 新しい Docker の SQL Server コンテナーを構成する。
ヒント
これらのセットアップ シナリオの後に 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 Enterprise 1EnterpriseCore 1A 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 のドキュメントに投稿する方法」を参照してください。