設定 SQL Server 的使用狀況和診斷資料收集 (CEIP)

適用於:SQL Server

摘要

根據預設,Microsoft SQL Server 會收集客戶如何使用應用程式的相關資訊。 具體來說,SQL Server 會收集有關安裝體驗、使用情況和效能的相關資訊。 這些資訊可協助 Microsoft 改善產品,以進一步滿足客戶需求。 例如,Microsoft 會收集客戶所遇到之錯誤代碼的相關資訊,以便修正相關錯誤、改善如何使用 SQL Server 的相關文件,以及判斷是否應將功能加入到產品中以滿足客戶。

具體來說,Microsoft 不會透過此機制傳送下列類型的資訊:

  • 使用者資料表內的任何值
  • 任何登入認證或其他驗證資訊
  • 個人資訊

下列範例案例包含可協助改善產品的功能使用方式資訊。

SQL Server 2017 和更新版本支援資料行存放區索引,以便快速分析案例。 資料行存放區索引會為新插入的資料結合傳統的 B 型樹狀結構索引結構和特殊的資料行導向壓縮結構,以壓縮資料並提升查詢執行的速度。 產品包含啟發學習法以在背景中將資料從 B 型樹狀結構移轉至壓縮結構,因此得以加快未來的查詢結果。

注意

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,請參閱 Linux 上的 SQL Server 客戶意見反應 \(英文\)

注意

您僅可在付費版本的 SQL Server 中停用將資訊傳送給 Microsoft 的功能。

備註

  • 不支援移除或停用 SQL CEIP 服務。
  • 不支援從叢集群組移除 SQL CEIP 資源。

若要退出資料收集,請參閱開啟或關閉本機稽核

[錯誤和使用方式報表] 應用程式

安裝後,可以透過 [錯誤和使用方式報告] 應用程式變更 SQL Server 元件和執行個體的使用方式和診斷資料收集設定。 此應用程式包含在 SQL Server 安裝之中。 此工具可讓每個 SQL Server 執行個體設定自己的 [使用方式報表] 設定。

注意

[錯誤和使用方式報表] 應用程式會列出於 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} 是指執行個體類型和執行個體,如下列範例所示:

    • MSSQL14.CANBERRA 適用於搭配 SQL Server 2017 Database 引擎及 "CANBERRA" 執行個體名稱的情況
    • MSAS14.CANBERRA 適用於搭配 SQL Server 2017 Analysis Services 及 "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 為加入

注意

{Major Version} 是指 SQL Server 版本。 例如,"140" 指的是 SQL Server 2017。

設定損毀傾印收集的登錄子機碼

類似舊版 SQL Server 的行為,使用 SQL Server 2017 和更新 Enterprise 版本的客戶可以在伺服器上設定群組原則設定,以選擇加入或退出收集損毀傾印。 這是透過設定以登錄為基礎的原則來完成。 相關的登錄子機碼與設定如下:

  • 針對 SQL Server 執行個體功能:

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

    RegEntry 名稱 = EnableErrorReporting

    項目類型 DWORD:0 為退出;1 為加入

    {InstanceID} 是指執行個體類型和執行個體,如下列範例所示:

    • MSSQL14.CANBERRA 適用於搭配 SQL Server 2017 Database 引擎及 "CANBERRA" 執行個體名稱的情況
    • MSAS14.CANBERRA 適用於搭配 SQL Server 2017 Analysis Services 及 "CANBERRA" 執行個體名稱的情況
  • SQL Server Reporting Services 2017 和更新版本的執行個體功能:

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

    RegEntry 名稱 = EnableErrorReporting

    項目類型 DWORD:0 為退出;1 為加入

  • 針對所有共用功能:

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

    RegEntry 名稱 = EnableErrorReporting

    項目類型 DWORD:0 為退出;1 為加入

注意

{Major Version} 是指 SQL Server 版本。 例如,"140" 指的是 SQL Server 2017。

SQL Server 2017 損毀傾印收集會接受這些登錄子機碼的登錄型群組原則。

SSMS 的損毀傾印收集

SQL Server Management Studio (SSMS) 不會收集自己的損毀傾印。 與 SSMS 相關的任何損毀傾印,都會以 Windows 錯誤報告之一部分的方式收集。

開啟或關閉這項功能的程序會依作業系統版本而異。 若要開啟或關閉功能,請遵循適用於您 Windows 版本之適當文件中的步驟。

針對 Analysis Services 的意見反應

在安裝期間,SQL Server 2016 和更新版本的 Analysis Services 會將特殊帳戶新增至您的 Analysis Services 執行個體。 此帳戶是 Analysis Services 伺服器系統管理員角色的成員。 此帳戶是用來從 Analysis Services 執行個體針對意見反應收集資訊。

您可以將服務設定為不傳送使用方式和診斷資料,如<在伺服器上設定登錄子機碼>一節中所述。 不過,這麼做並不會移除該服務帳戶。

取得協助

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件