適用対象:Linux 上の SQL Server
マイクロソフトは既定で、お客様の SQL Server の使用状況に関する情報を収集します。 具体的には、SQL Server はインストール エクスペリエンス、利用状況、およびパフォーマンスに関する情報を収集します。 この情報は、Microsoft が製品の向上を図り、お客様のニーズをさらに満たすのに役立ちます。 たとえば Microsoft では、お客様が受け取るエラー コードの種類に関する情報を収集して、関連するバグの修正、SQL Server の使用方法に関するドキュメントの改善、より良いサービスのために製品に機能を追加すべきかどうかの判断を行います。
この記事では、どのような情報が収集されるか、そしてSQL Server on Linuxで収集された情報をMicrosoftに送信する方法について詳しく説明します。 SQL Server にはプライバシーに関する声明が含まれています。この声明では、ユーザーから収集される情報と収集されない情報について説明します。 詳しくは、プライバシーに関する声明をご覧ください。
具体的には、SQL Serverはこのメカニズムを通じて以下の種類の情報を収集または送信しません。
- ユーザー テーブル内からのすべての値
- サインイン資格情報またはその他の認証情報
- 個人データ
SQL Server により、インストール エクスペリエンスに関する情報がセットアップ時点から常に収集され、送信されてくるので、お客様側で発生しているインストールの問題をすばやく発見し修正することができます。 SQL Serverは、ms sql-conf設定スクリプトを通じて、Microsoftに情報を送らないよう設定できます。このスクリプトはRed Hat Enterprise Linux、SUSE Linux Enterprise Server、Ubuntu向けにSQL Serverをインストールします。
Note
Microsoft への情報送信を無効にできるのは、有料版の SQL Server のみです。
使用状況と診断データの収集を無効にする
このオプションでは、SQL Serverが使用状況や診断データをMicrosoftに送信するかどうかを選択できます。 既定では、この値は true に設定されます。 値を変更するには、次のコマンドを実行します。
Important
SQL Server、Express、Developerの無料版では、使用状況や診断データの送信をオフにすることはできません。
Red Hat、SUSE、Ubuntu の場合
mssql-confのsetコマンドを使用して、telemetry.customerfeedbackスクリプトを root として実行します。 次の例では、falseを指定することによって、使用状況と診断データの収集をオフにします。sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback falseSQL Server サービスを再起動します。
sudo systemctl restart mssql-server
Linux コンテナーで
Linux コンテナーで使用状況と診断データの収集を無効にするには、コンテナーにデータが保持されるようにする必要があります。
mssql.confおよび[telemetry]という行を含むcustomerfeedback = falseファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'customerfeedback = false' >> <host directory>/mssql.confコンテナー イメージを実行します。
Important
SA_PASSWORD環境変数は非推奨です。MSSQL_SA_PASSWORDを代わりに使用します。docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
mssql.confおよび[telemetry]という行を含むcustomerfeedback = falseファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'customerfeedback = false' >> <host directory>/mssql.confコンテナー イメージを実行します。
Important
SA_PASSWORD環境変数は非推奨です。MSSQL_SA_PASSWORDを代わりに使用します。docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
mssql.confおよび[telemetry]という行を含むcustomerfeedback = falseファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'customerfeedback = false' >> <host directory>/mssql.confコンテナー イメージを実行します。
Important
SA_PASSWORD環境変数は非推奨です。MSSQL_SA_PASSWORDを代わりに使用します。docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
Caution
パスワードは SQL Server の既定のパスワード ポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 可能な限り長く複雑なパスワードを使用してください。
Linux 上の SQL Server の使用状況と診断データ収集に関するローカル監査
SQL Server は、お客様のコンピューターまたはデバイスに関する情報 (以下「標準的なコンピューター情報」といいます) を収集してマイクロソフトに送信するインターネット対応の機能を備えています。 SQL Server の使用状況と診断データの収集の Local Audit コンポーネントでは、サービスによって収集されたデータを指定されたフォルダーに書き込むことができます。このデータは、マイクロソフトに送信されるデータ (ログ) です。 Local Audit の目的は、Microsoft がこの機能で収集するすべてのデータをユーザーがコンプライアンス、法規制、またはプライバシーの検証目的で確認できるようにすることです。
SQL Server on Linux では、Local Audit は SQL Server データベース エンジン のインスタンス レベルで構成可能です。 その他の SQL Server コンポーネントおよび SQL Server ツールには、使用状況と診断データの収集のための Local Audit 機能がありません。
Local Audit を有効にする
このオプションを使用すると、Local Audit を有効にし、Local Audit ログが作成されるディレクトリを設定できます。
新しい Local Audit ログのターゲット ディレクトリを作成します。 次の例では、新しい
/tmp/auditディレクトリを作成します。sudo mkdir /tmp/auditディレクトリの所有者とグループを
mssqlユーザーに変更します。sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/auditmssql-confのsetコマンドを使用して、telemetry.userrequestedlocalauditdirectoryスクリプトを root として実行します。sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/auditSQL Server サービスを再起動します。
sudo systemctl restart mssql-server
Linux コンテナーで
Linux コンテナーで Local Audit を有効にするには、コンテナーにデータが保持されるようにする必要があります。
新しい Local Audit ログのターゲット ディレクトリは、コンテナーに格納されます。 マシン上のホスト ディレクトリに新しい Local Audit ログのターゲット ディレクトリを作成します。 次の例では、新しい
/auditディレクトリを作成します。sudo mkdir <host directory>/auditmssql.confおよび[telemetry]という行を含むuserrequestedlocalauditdirectory = /var/opt/mssql/auditファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'userrequestedlocalauditdirectory = /var/opt/mssql/audit' >> <host directory>/mssql.confコンテナー イメージを実行します。
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
新しい Local Audit ログのターゲット ディレクトリは、コンテナーに格納されます。 マシン上のホスト ディレクトリに新しい Local Audit ログのターゲット ディレクトリを作成します。 次の例では、新しい
/auditディレクトリを作成します。sudo mkdir <host directory>/auditmssql.confおよび[telemetry]という行を含むuserrequestedlocalauditdirectory = /var/opt/mssql/auditファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'userrequestedlocalauditdirectory = /var/opt/mssql/audit' >> <host directory>/mssql.confコンテナー イメージを実行します。
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
新しい Local Audit ログのターゲット ディレクトリは、コンテナーに格納されます。 マシン上のホスト ディレクトリに新しい Local Audit ログのターゲット ディレクトリを作成します。 次の例では、新しい
/auditディレクトリを作成します。sudo mkdir <host directory>/auditmssql.confおよび[telemetry]という行を含むuserrequestedlocalauditdirectory = /var/opt/mssql/auditファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'userrequestedlocalauditdirectory = /var/opt/mssql/audit' >> <host directory>/mssql.confコンテナー イメージを実行します。
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
新しい Local Audit ログのターゲット ディレクトリは、コンテナーに格納されます。 マシン上のホスト ディレクトリに新しい Local Audit ログのターゲット ディレクトリを作成します。 次の例では、新しい
/auditディレクトリを作成します。sudo mkdir <host directory>/auditmssql.confおよび[telemetry]という行を含むuserrequestedlocalauditdirectory = /var/opt/mssql/auditファイルをホスト ディレクトリに追加します。echo '[telemetry]' >> <host directory>/mssql.confecho 'userrequestedlocalauditdirectory = /var/opt/mssql/audit' >> <host directory>/mssql.confコンテナー イメージを実行します。
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2025-latestdocker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2025-latest
Caution
パスワードは SQL Server の既定のパスワード ポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 可能な限り長く複雑なパスワードを使用してください。