Configurar a coleta de dados de uso e diagnóstico do SQL Server em Linux

Aplica-se a: SQL Server – Linux

Por padrão, o Microsoft coleta informações sobre como os clientes usam o SQL Server. Especificamente, o SQL Server coleta informações sobre a experiência de instalação, uso e desempenho. Essas informações ajudam a Microsoft a melhorar o produto para melhor atender às necessidades do cliente. Por exemplo, a Microsoft coleta informações sobre quais tipos de códigos de erro os clientes costumam encontrar, para que possamos corrigir erros relacionados, melhorar nossa documentação sobre como usar o SQL Server e determinar se os recursos devem ser adicionados ao produto para melhor atender aos clientes.

Este documento fornece detalhes sobre quais tipos de informações são coletados e sobre como configurar o SQL Server em Linux para enviar essas informações coletadas à Microsoft. O SQL Server inclui uma política de privacidade que explica as informações que coletamos e que não coletamos dos usuários. Para obter mais informações, confira a política de privacidade.

Especificamente, a Microsoft não envia nenhum dos seguintes tipos de informações por meio desse mecanismo:

  • Qualquer valor das tabelas de usuário
  • Qualquer credencial de logon ou outras informações de autenticação
  • Dados pessoais

O SQL Server sempre coleta e envia informações sobre a experiência de instalação do processo de configuração para que possamos localizar e corrigir rapidamente quaisquer problemas de instalação que o cliente esteja enfrentando. O SQL Server pode ser configurado para não enviar informações (em uma base de instância por servidor) para a Microsoft por meio de mssql-conf. mssql-conf é um script de configuração que é instalado com o SQL Server para Red Hat Enterprise Linux, SUSE Linux Enterprise Server e Ubuntu.

Observação

Você só pode desabilitar o envio de informações para a Microsoft em versões pagas do SQL Server.

Desabilitar a coleta de dados de diagnóstico e de uso

Essa opção permite alterar se o SQL Server envia a coleta de dados de diagnóstico e uso para a Microsoft ou não. Por padrão, esse valor é definido como true. Para alterar o valor, execute os seguintes comandos:

Importante

Você não pode desligar a coleta de dados de diagnóstico e uso para edições gratuitas do SQL Server, Express e Developer.

No Red Hat, SUSE e Ubuntu

  1. Execute o script mssql-conf como raiz com o comando set para telemetry.customerfeedback. O exemplo a seguir desativa a coleta de dados de diagnóstico e uso especificando false.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. Reinicie o serviço SQL Server:

    sudo systemctl restart mssql-server
    

Em um contêiner do Linux

Para desabilitar a coleta de dados de diagnóstico e uso em um contêiner do Linux, você deve fazer o contêiner persistir seus dados.

  1. Adicione um arquivo mssql.conf com as linhas [telemetry] e customerfeedback = false no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Executar a imagem de contêiner:

    Importante

    A variável de ambiente SA_PASSWORD foi preterida. Use MSSQL_SA_PASSWORD em vez disso.

    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
    
  1. Adicione um arquivo mssql.conf com as linhas [telemetry] e customerfeedback = false no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Executar a imagem de contêiner:

    Importante

    A variável de ambiente SA_PASSWORD foi preterida. Use MSSQL_SA_PASSWORD em vez disso.

    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
    
  1. Adicione um arquivo mssql.conf com as linhas [telemetry] e customerfeedback = false no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Executar a imagem de contêiner:

    Importante

    A variável de ambiente SA_PASSWORD foi preterida. Use MSSQL_SA_PASSWORD em vez disso.

    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
    

Auditoria Local para coleta de dados de diagnóstico e uso do SQL Server em Linux

O SQL Server contém recursos habilitados para Internet que podem coletar e enviar à Microsoft informações sobre seu computador ou dispositivo (“informações padrão do computador”). O componente de Auditoria Local da coleta de Dados de Diagnóstico e Uso do SQL Server pode gravar os dados coletados pelo serviço em uma pasta designada, representando os dados (logs) que serão enviados à Microsoft. A finalidade da Auditoria Local é permitir que os clientes vejam todos os dados que a Microsoft coleta com esse recurso, para fins de conformidade, regulatórios ou de validação de privacidade.

No SQL Server em Linux, a Auditoria Local é configurável no nível da instância para o Mecanismo de Banco de Dados do SQL Server. Outros componentes do SQL Server e Ferramentas do SQL Server não têm a funcionalidade de Auditoria Local para a coleta de dados de diagnóstico e uso.

Habilitar a Auditoria Local

Essa opção habilita a Auditoria Local e permite que você defina o diretório em que os logs de auditoria local são criados.

  1. Crie um diretório de destino para novos logs de Auditoria Local. O exemplo a seguir cria um diretório /tmp/audit:

    sudo mkdir /tmp/audit
    
  2. Altere o proprietário e o grupo do diretório para o usuário mssql:

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Execute o script mssql-conf como raiz com o comando set para telemetry.userrequestedlocalauditdirectory:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. Reinicie o serviço SQL Server:

    sudo systemctl restart mssql-server
    

Em um contêiner do Linux

Para habilitar a Auditoria Local em um contêiner do Linux, você deve fazer com que o contêiner persista seus dados.

  1. O diretório de destino para novos logs de Auditoria Local estará no contêiner. Crie um diretório de destino para novos logs de Auditoria Local no diretório de host em seu computador. O exemplo a seguir cria um diretório /audit:

    sudo mkdir <host directory>/audit
    
  2. Adicione um arquivo mssql.conf com as linhas [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Executar a imagem de contêiner:

    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
    
  1. O diretório de destino para novos logs de Auditoria Local estará no contêiner. Crie um diretório de destino para novos logs de Auditoria Local no diretório de host em seu computador. O exemplo a seguir cria um diretório /audit:

    sudo mkdir <host directory>/audit
    
  2. Adicione um arquivo mssql.conf com as linhas [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Executar a imagem de contêiner

    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
    
  1. O diretório de destino para novos logs de Auditoria Local estará no contêiner. Crie um diretório de destino para novos logs de Auditoria Local no diretório de host em seu computador. O exemplo a seguir cria um diretório /audit:

    sudo mkdir <host directory>/audit
    
  2. Adicione um arquivo mssql.conf com as linhas [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit no diretório de host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Executar a imagem de contêiner

    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