Configure usage & diagnostic data collection for SQL Server on Linux
Applies to: SQL Server - Linux
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 Microsoft SQL Server on Linux to send that collected information to Microsoft. SQL Server 2017 includes a privacy statement that explains what information we do and do not collect from users. For more information, see 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)
SQL Server 2017 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 2017 can be configured not to send information (on a per-server instance basis) to Microsoft through mssql-conf. mssql-conf is a configuration script that installs with SQL Server 2017 for Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Ubuntu.
Note
You can disable the sending of information to Microsoft only in paid versions of SQL Server.
Disable Usage and Diagnostic Data Collection
This option lets you change if SQL Server sends usage and diagnostic data collection to Microsoft or not. By default, this value is set to true. To change the value, run the following commands:
Important
You can not turn off usage and diagnostic data collection for free editions of SQL Server, Express and Developer.
On Red Hat, SUSE, and Ubuntu
Run the mssql-conf script as root with the set command for telemetry.customerfeedback. The following example turns off usage and diagnostic data collection by specifying false.
sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
Restart the SQL Server service:
sudo systemctl restart mssql-server
On Docker
To disable usage and diagnostic data collection on Docker, you must have Docker persist your data.
Add an
mssql.conf
file with the lines[telemetry]
andcustomerfeedback = false
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
Run the container image:
Important
The
SA_PASSWORD
environment variable is deprecated. UseMSSQL_SA_PASSWORD
instead.docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
Add an
mssql.conf
file with the lines[telemetry]
andcustomerfeedback = false
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
Run the container image:
Important
The
SA_PASSWORD
environment variable is deprecated. UseMSSQL_SA_PASSWORD
instead.docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
Add an
mssql.conf
file with the lines[telemetry]
andcustomerfeedback = false
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
Run the container image:
Important
The
SA_PASSWORD
environment variable is deprecated. UseMSSQL_SA_PASSWORD
instead.docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
Local Audit for SQL Server on Linux Usage and Diagnostic Data Collection
Microsoft SQL Server 2017 contains Internet-enabled features that can collect and send information about your computer or device ("standard computer information") to Microsoft. The Local Audit component of SQL Server Usage and Diagnostic Data collection can write data collected by the service to a designated folder, representing the data (logs) that will be sent to Microsoft. The purpose of the Local Audit is to allow customers to see all data Microsoft collects with this feature, for compliance, regulatory or privacy validation reasons.
In SQL Server on Linux, Local Audit is configurable at instance level for SQL Server Database Engine. Other SQL Server components and SQL Server Tools do not have Local Audit capability for usage and diagnostic data collection.
Enable Local Audit
This option enables Local Audit and lets you set the directory where the Local Audit logs are created.
Create a target directory for new Local Audit logs. The following example creates a new /tmp/audit directory:
sudo mkdir /tmp/audit
Change the owner and group of the directory to the mssql user:
sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/audit
Run the mssql-conf script as root with the set command for telemetry.userrequestedlocalauditdirectory:
sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
Restart the SQL Server service:
sudo systemctl restart mssql-server
On Docker
To enable Local Audit on Docker, you must have Docker persist your data.
The target directory for new Local Audit logs will be in the container. Create a target directory for new Local Audit logs in the host directory on your machine. The following example creates a new /audit directory:
sudo mkdir <host directory>/audit
Add an
mssql.conf
file with the lines[telemetry]
anduserrequestedlocalauditdirectory = <host directory>/audit
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
Run the container image:
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
The target directory for new Local Audit logs will be in the container. Create a target directory for new Local Audit logs in the host directory on your machine. The following example creates a new /audit directory:
sudo mkdir <host directory>/audit
Add an
mssql.conf
file with the lines[telemetry]
anduserrequestedlocalauditdirectory = <host directory>/audit
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
Run the container image
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
The target directory for new Local Audit logs will be in the container. Create a target directory for new Local Audit logs in the host directory on your machine. The following example creates a new /audit directory:
sudo mkdir <host directory>/audit
Add an
mssql.conf
file with the lines[telemetry]
anduserrequestedlocalauditdirectory = <host directory>/audit
in the host directory:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
Run the container image
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
Related content
Athugasemdir
https://aka.ms/ContentUserFeedback.
Væntanlegt: Á árinu 2024 munum við hætta með GitHub-mál sem ábendingaleið fyrir efni og skipta því út fyrir nýtt ábendingakerfi. Frekari upplýsingar er að finna hér:Senda inn og skoða endurgjöf fyrir