SQL Server の使用状況および診断データの収集を構成する (CEIP)

適用対象:SQL Server

まとめ

Microsoft SQL Server は既定で、お客様のアプリケーションの使用状態に関する情報を収集します。 具体的には、SQL Server はインストール エクスペリエンス、利用状況、およびパフォーマンスに関する情報を収集します。 この情報は、Microsoft が製品の向上を図り、お客様のニーズをさらに満たすのに役立ちます。 たとえば Microsoft では、お客様が受け取るエラー コードの種類に関する情報を収集して、関連するバグの修正、SQL Server の使用方法に関するドキュメントの改善、より良いサービスのために製品に機能を追加すべきかどうかの判断を行います。

具体的には、Microsoft はこのメカニズムでは次の種類の情報は送信しません。

  • ユーザー テーブル内からのすべての値
  • すべてのログオン資格情報またはその他の認証情報
  • 個人情報

次のサンプル シナリオには、製品の向上に役立つ、機能の利用状況の情報が含まれます。

SQL Server 2017 以降では、列ストア インデックスをサポートすることで、高速な分析シナリオを可能にしています。 列ストア インデックスでは、新しく挿入されるデータに対して、従来の B ツリー インデックス構造と特殊な列指向の圧縮構造とを結合し、データを圧縮してクエリ実行の速度を上げます。 製品には、バックグラウンドで B ツリー構造から圧縮構造にデータを移行するヒューリスティックが含まれており、それによってその後のクエリ結果の速度を上げます。

Note

SQL Server のドキュメントでは、一般にインデックスに関して B ツリーという用語が使用されます。 行ストア インデックスで、SQL Server によって B+ ツリーが実装されます。 これは、列ストア インデックスやメモリ内データ ストアには適用されません。 詳細については、「SQL Server と Azure SQL のインデックスのアーキテクチャとデザイン ガイド」を参照してください。

バック グラウンド操作がデータ挿入の速度に追いつかない場合、クエリのパフォーマンスが想定よりも遅くなることがあります。 製品向上のため、Microsoft では、SQL Server がデータの自動圧縮プロセスにどれくらい追いついているかの情報を収集します。 製品チームはこの情報を活用して、圧縮を実行するコードの頻度と並列処理を微調整します。 このクエリはこの情報を収集するために不定期に実行されるため、Microsoft はデータの移動速度を評価できます。 これによって、製品のヒューリスティックを最適化することができます。

SELECT object_id, type_desc, data_space_id, db_id() AS database_id FROM sys.indexes WITH(nolock) WHERE type = 5 or type = 6 
SELECT cntr_value as merge_policy_evaluation
FROM sys.dm_os_performance_counters WITH(nolock)
WHERE object_name LIKE '%columnstore%' 
AND counter_name ='Total Merge Policy Evaluations' 
AND instance_name = '_Total'

このプロセスは、お客様に価値あるものをお届けするために必要なメカニズムに重点を置いたものです。 製品チームはインデックス内のデータを見ることはなく、そうしたデータを Microsoft に送信することもありません。 SQL Server により、インストール エクスペリエンスに関する情報がセットアップ時点から常に収集され、送信されてくるので、お客様側で発生しているインストールの問題をすばやく発見し修正することができます。 SQL Server 2017 以降では、次のメカニズムによって、Microsoft に (サーバー インスタンスごとに) 情報を送信しないように構成できます。

  • エラーと使用状況レポートのアプリケーションの使用
  • サーバー上でのレジストリ サブキーの設定

Linux 上の SQL Server については、「Customer Feedback for SQL Server on Linux (Linux 上の SQL Server のカスタマー フィードバック)」をご覧ください。

Note

Microsoft への情報送信を無効にできるのは、有料版の SQL Server のみです。

解説

  • SQL CEIP サービスの削除または無効化はサポートされていません。
  • クラスター グループからの SQL CEIP リソースの削除はサポートされていません。

データ収集をオプト アウトするには、「ローカル監査の有効/無効を切り替える」を参照してください。

エラーと使用状況レポートのアプリケーション

セットアップ後は、SQL Server コンポーネントおよびインスタンスの使用状況と診断データの収集の設定は、エラーと使用状況レポートのアプリケーションを通じて変更できます。 このアプリケーションは、SQL Server のインストールの一部として提供されます。 このツールを使うと、それぞれの SQL Server インスタンスで、それ自体の使用状況レポート設定を構成できます。

Note

エラーと使用状況レポートのアプリケーションは、SQL Server の構成ツールに表示されます。 このツールを使用して、SQL Server 2017 と同様の方法で、エラー報告および使用状況と診断データの収集の設定を管理できます。 エラー報告は、使用状況と診断データの収集とは異なるため、使用状況と診断データの収集に関係なくオンまたはオフにすることができます。 エラー報告では、Microsoft に送信するクラッシュ ダンプを収集しますが、それには「プライバシーに関する声明」で説明されているような機密情報が含まれている可能性があります。

エラーと使用状況レポートのアプリケーションは、SQL Server Reporting Services 2017 以降のセットアップには含まれていません。 Microsoft への情報の送信を構成するために使用できる唯一のメカニズムは、サーバー上でレジストリ サブキーを設定する方法です。

SQL Server エラーと使用状況レポートを開始するには、 [開始] を選択してから、検索ボックスで「エラー」を検索します。 SQL Server エラーと使用状況レポートの項目が表示されます。 このツールを開始した後は、使用状況と診断データに加えて、インスタンスとそのコンピューターにインストールされているコンポーネントについて収集された重大なエラーを管理できます。

有料版では、[使用状況レポート] チェック ボックスを使用して、使用状況と診断データの Microsoft への送信を管理します。

有料版または無料版では、[エラー レポート] チェック ボックスを使用して、重大なエラーについてのフィードバックとクラッシュ ダンプの Microsoft への送信を管理します。

サーバー上でのレジストリ サブキーの設定

企業のお客様は、グループ ポリシーの設定を構成して、使用状況と診断データの収集のオプトイン、オプトアウトを設定できます。 これを行うには、レジストリに基づいたポリシーを構成します。 関連するレジストリ サブキーと設定は以下の通りです。

  • SQL Server インスタンスの機能

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\{InstanceID}\CPE

    レジストリ エントリ名 = CustomerFeedback

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

    {InstanceID} は、次の例のように、インスタンスの型とインスタンスを表します。

    • SQL Server 2017 データベース エンジンの MSSQL14.CANBERRA、インスタンス名は "CANBERRA"
    • SQL Server 2017 Analysis Services の MSAS14.CANBERRA、インスタンス名は "CANBERRA"
  • SQL Server Reporting Services 2017 以降のインスタンスの機能:

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\SSRS\CPE

    レジストリ エントリ名 = CustomerFeedback

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

  • すべての共有機能

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\{Major Version}

    レジストリ エントリ名 = CustomerFeedback

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

Note

{Major Version} は SQL Server のバージョンを表します。 たとえば、"140" は、SQL Server 2017 を指します。

クラッシュ ダンプ収集のレジストリ サブキーの設定

SQL Server の以前のバージョンでの動作と同様に、SQL Server 2017 以降の Enterprise edition のお客様は、サーバーでグループ ポリシー設定を構成してクラッシュ ダンプの収集のオプトイン、オプトアウトを設定できます。 これを行うには、レジストリに基づいたポリシーを構成します。 関連するレジストリ サブキーと設定は以下の通りです。

  • SQL Server インスタンスの機能

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\{InstanceID}\CPE

    レジストリ エントリ名 = EnableErrorReporting

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

    {InstanceID} は、次の例のように、インスタンスの型とインスタンスを表します。

    • SQL Server 2017 データベース エンジンの MSSQL14.CANBERRA、インスタンス名は "CANBERRA"
    • SQL Server 2017 Analysis Services の MSAS14.CANBERRA、インスタンス名は "CANBERRA"
  • SQL Server Reporting Services 2017 以降のインスタンスの機能:

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\SSRS\CPE

    レジストリ エントリ名 = EnableErrorReporting

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

  • すべての共有機能

    Subkey = HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\{Major Version}

    レジストリ エントリ名 = EnableErrorReporting

    エントリのデータ型 DWORD :0 はオプトアウト、1 はオプトインです

Note

{Major Version} は SQL Server のバージョンを表します。 たとえば、"140" は、SQL Server 2017 を指します。

これらのレジストリ サブキー上のレジストリに基づいたグループ ポリシーは、SQL Server クラッシュ ダンプ収集で受け入れられます。

SSMS のクラッシュ ダンプの収集

SQL Server Management Studio (SSMS) では、独自のクラッシュ ダンプを収集しません。 SSMS に関連するクラッシュ ダンプはすべて、Windows エラー報告の一部として収集されます。

この機能をオンまたはオフにする手順は、対象の OS バージョンによって異なります。 機能をオンまたはオフにするには、お使いの Windows バージョンの該当資料にある手順を実行してください。

Analysis Services に関するフィードバック

インストール中に、SQL Server 2016 以降の Analysis Services では、ご利用の Analysis Services インスタンスに特別なアカウントを追加します。 このアカウントは、Analysis Services Server 管理者ロールのメンバーです。 このアカウントを使用して、Analysis Services インスタンスからフィードバック情報を収集します。

「サーバー上でのレジストリ サブキーの設定」セクションで説明したように、お使いのサービスで使用状況と診断データを送信しないように構成できます。 ただし、これを実行しても、サービス アカウントは削除されません。

ヘルプの参照

SQL ドキュメントへの投稿

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

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