How to configure SQL Server 2016 to send feedback to Microsoft

Summary
By default, Microsoft SQL Server collects information about how its customers are using the application. Specifically, SQL Server collects information about the installation experience, usage, and performance. This information helps Microsoft improve the product to better meet customer needs. For example, Microsoft collects information about what kinds of error codes customers encounter so that we can fix related bugs, improve our documentation about how to use SQL Server, and determine whether features should be added to the product to better serve customers.

This document provides details about what kinds of information are collected and about how to configure SQL Server 2016 to send that collected information to Microsoft. SQL Server 2016 includes a privacy statement that explains what information we do and do not collect from users. Please read the privacy statement.

Specifically, Microsoft does not send any of the following types of information through this mechanism:

  • Any values from inside user tables
  • Any logon credentials or other authentication information
  • Personally Identifiable Information (PII)

The following sample scenario includes feature usage information that helps improve the product.

SQL Server 2016 supports ColumnStore indexes to enable fast analytics scenarios. ColumnStore indexes combine a traditional “B-tree” index structure for newly inserted data with a special column-oriented compressed structure to compress data and speed query execution. The product contains heuristics to migrate data from the B-tree structure to the compressed structure in the background, thereby speeding up future query results.

If the background operation does not keep pace with the rate at which data is inserted, query performance may be slower than expected. To improve the product, Microsoft collects information about how well SQL Server is keeping up with the automatic data compression process. The product team uses this information to fine-tune the frequency and parallelism of the code that performs compression. This query is run occasionally to collect this information so that we (Microsoft) can evaluate the data movement rate. This helps us optimize the product heuristics.

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_evaluationFROM sys.dm_os_performance_counters WITH(nolock)WHERE object_name LIKE '%columnstore%' AND counter_name ='Total Merge Policy Evaluations' AND instance_name = '_Total'
Be aware that this process focuses on the necessary mechanisms for delivering value to customers. The product team does not look at the data in the index or send that data to Microsoft.

What’s new in SQL Server 2016

SQL Server 2016 always collects and sends information about the installation experience from the setup process so that we can quickly find and fix any installation problems that the customer is experiencing. SQL Server 2016 can be configured not to send information (on a per-server instance basis) to Microsoft through the following mechanisms:

  • By using the Error and Usage Reporting application
  • By setting registry keys on the server
Note You can disable the sending of information to Microsoft only in paid versions of SQL Server. You cannot disable this functionality in Developer, Enterprise Evaluation, and Express editions of SQL Server 2016.

Error and Usage Reporting application

After setup, the usage data collection setting for SQL Server components and instances can be changed through the Error and Usage Reporting application. This application is available as part of SQL Server installation. This tool lets each SQL Server instance configure its own Usage Data setting.

Note The Error and Usage Reporting application is listed under the Configuration Tools of SQL Server. You can use this tool to manage your preference for Error Reporting and Usage Feedback collection in the same manner as in earlier versions of SQL Server 2016. Error Reporting is separate from Usage Feedback collection, therefore can be turned on or off independently from Usage Feedback collection. Error Reporting collects crash dumps that are sent to Microsoft and that may contain sensitive information as outlined in the Privacy Statement.

To start SQL Server Error and Usage Reporting, click or tap Start, and then search on "Error" in the search box. The SQL Server Error and Usage Reporting item will be displayed, as shown in the following screen shot from Windows Server 2012 R2.



Or, you can also start the tool by using the SQL Server 2016 Error and Usage Reporting item under Microsoft SQL Server 2016 in the Windows Apps list.



After you start the tool, you can manage usage feedback and serious errors that are collected for instances and components that are installed on that computer, as shown in the following screen shot of the Error and Usage Report Settings dialog box.



For paid versions, use the “Usage Reports” check boxes to manage sending usage feedback to Microsoft.
For paid or free versions, use the “Error Reports” check boxes to manage sending feedback on serious errors and crash dumps to Microsoft.

Set registry keys on the server

Enterprise customers can configure Group Policy settings to opt in or out of usage data collection. This is done by configuring a registry-based policy. The relevant registry key and settings are as follows:

  • For SQL Server instance features:

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

    RegEntry name = CustomerFeedback

    Entry type DWORD: 0 is opt out; 1 is opt in

    {InstanceID} refers to the instance type and instance, as in the following examples:

    MSSQL13.CANBERRA for SQL Server 2016 Database engine and Instance name of "CANBERRA"

    MSAS13.CANBERRA for SQL Server 2016 Analysis Services and Instance name of "CANBERRA"

    MSRS13.CANBERRA for SQL Server 2016 Reporting Services and Instance name of "CANBERRA"
  • For all shared features:

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

    RegEntry name = CustomerFeedback

    Entry type DWORD: 0 is opt out; 1 is opt in

    {Major Version} refers to the version of SQL Server—for example, 130 for SQL Server 2016
  • For SQL Server Management Studio:

    Key = HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\130

    RegEntry name = CustomerFeedback

    Entry type DWORD: 0 is opt out; 1 is opt in
Registry-based Group Policy on these registry keys is honored by SQL Server 2016 usage data collection.

Set registry keys on the server for crash dump collection

Similar to the behavior in an earlier version of SQL Server, SQL Server 2016 Enterprise customers can configure Group Policy settings to opt in or out of crash dump collection. This is done by configuring a registry-based policy. The relevant registry key and settings are as follows: 
  • For SQL Server instance features:

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

    RegEntry name = EnableErrorReporting

    Entry type DWORD: 0 is opt out; 1 is opt-in
     
    {InstanceID} refers to the instance type and instance, as in the following examples: 
    • MSSQL13.CANBERRA for SQL Server 2016 Database engine and Instance name of "CANBERRA"
    • MSAS13.CANBERRA for SQL Server 2016 Analysis Services and Instance name of "CANBERRA"
    • MSRS13.CANBERRA for SQL Server 2016 Reporting Services and Instance name of "CANBERRA"


  • For all shared features:

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

    RegEntry name = EnableErrorReporting

    Entry type DWORD: 0 is opt out; 1 is opt-in

    {Major Version} refers to the version of SQL Server—for example, 130 for SQL Server 2016  

    Registry-based Group Policy on these registry keys is honored by SQL Server 2016 crash dump collection. 
Feedback for Analysis Services

During installation, SQL Server 2016 Analysis Services adds a special account to your Analysis Services instance. This account is a member of the Analysis Services Server Admin role. The account is used to collect information for feedback from the Analysis Services instance.  

You can configure your service not to send usage data, as described in the "Set registry keys on the server" section. However, doing this does not remove the service account. You can manually remove the SSASTELEMETRY account through SQL Server Management Studio in the Server Properties section on the Security tab.
Properties

Article ID: 3153756 - Last Review: 09/22/2016 19:52:00 - Revision: 5.0

Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

  • KB3153756
Feedback