Configurare la raccolta di dati di diagnostica e utilizzo per SQL Server in Linux

Si applica a:SQL Server - Linux

Per impostazione predefinita, Microsoft SQL Server raccoglie informazioni su come i clienti usano l'applicazione. In particolare, SQL Server raccoglie informazioni sull'esperienza di installazione, l'utilizzo e le prestazioni. Queste informazioni consentono a Microsoft di migliorare il prodotto per meglio soddisfare le esigenze dei clienti. Ad esempio, Microsoft raccoglie informazioni sui tipi di codici di errore riscontrati dai clienti in modo da poter correggere i bug correlati, migliorare la documentazione su come usare SQL Server e determinare se occorre aggiungere funzionalità al prodotto per offrire un'esperienza migliore ai clienti.

Questo documento fornisce dettagli sui tipi di informazioni raccolte e su come configurare Microsoft SQL Server in Linux per inviare le informazioni raccolte a Microsoft. SQL Server 2017 include un'informativa sulla privacy che spiega quali informazioni degli utenti vengono raccolte e quali non vengono raccolte. Per altre informazioni, vedere l'informativa sulla privacy.

In particolare, Microsoft non invia alcuna informazione dei tipi seguenti tramite questo meccanismo:

  • Qualsiasi valore all'interno delle tabelle utente
  • Credenziali di accesso o altre informazioni di autenticazione
  • Informazioni personali

SQL Server 2017 raccoglie e invia sempre informazioni sull'esperienza di installazione dal processo di installazione, in modo che sia possibile individuare e correggere eventuali problemi di installazione riscontrati dai clienti. SQL Server 2017 può essere configurato (per ogni singola istanza) per non inviare informazioni a Microsoft tramite mssql-conf. mssql-conf è uno script di configurazione che viene installato con SQL Server 2017 per Red Hat Enterprise Linux, SUSE Linux Enterprise Server e Ubuntu.

Nota

È possibile disabilitare l'invio di informazioni a Microsoft solo nelle versioni a pagamento di SQL Server.

Disabilitare la raccolta di dati di diagnostica e utilizzo

Questa opzione consente di modificare l'impostazione che determina se SQL Server deve inviare la raccolta di dati di utilizzo e diagnostica a Microsoft o meno. Per impostazione predefinita, questo valore è impostato su true. Per modificare il valore, eseguire i comandi seguenti:

Importante

Non è possibile disattivare la raccolta di dati di utilizzo e diagnostica per le edizioni gratuite di SQL Server, Express e Developer.

In Red Hat, SUSE e Ubuntu

  1. Eseguire lo script mssql-conf come radice con il comando set per telemetry.customerfeedback. L'esempio seguente disattiva la raccolta di dati di utilizzo e diagnostica specificando false.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. Riavviare il servizio SQL Server:

    sudo systemctl restart mssql-server
    

In Docker

Per disabilitare la raccolta di dati di utilizzo e diagnostica in Docker, è necessario che Docker salvi in modo permanente i dati.

  1. Aggiungere un file mssql.conf con le righe [telemetry] e customerfeedback = false nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Eseguire l'immagine del contenitore.

    Importante

    La variabile di ambiente SA_PASSWORD è deprecata. Utilizzare invece MSSQL_SA_PASSWORD.

    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. Aggiungere un file mssql.conf con le righe [telemetry] e customerfeedback = false nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Eseguire l'immagine del contenitore.

    Importante

    La variabile di ambiente SA_PASSWORD è deprecata. Utilizzare invece MSSQL_SA_PASSWORD.

    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. Aggiungere un file mssql.conf con le righe [telemetry] e customerfeedback = false nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Eseguire l'immagine del contenitore.

    Importante

    La variabile di ambiente SA_PASSWORD è deprecata. Utilizzare invece MSSQL_SA_PASSWORD.

    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
    

Controllo locale per la raccolta di dati di diagnostica e utilizzo di SQL Server in Linux

In Microsoft SQL Server 2017 sono disponibili funzionalità abilitate per Internet che riescono a raccogliere e inviare a Microsoft dati relativi al computer o al dispositivo ("dati standard sul computer"). Il componente per il controllo locale della raccolta di dati di diagnostica e utilizzo di SQL Server può scrivere i dati raccolti dal servizio in una specifica cartella, che rappresenta i dati (log) da inviare a Microsoft. Lo scopo del controllo locale è quello di consentire ai clienti di visualizzare tutti i dati che Microsoft raccoglie con questa funzionalità, per motivi di conformità alle normative o rispetto della privacy.

In SQL Server in Linux il controllo locale è configurabile a livello di istanza per il motore di database di SQL Server. Gli altri componenti di SQL Server e strumenti di SQL Server non hanno funzionalità di controllo locale per la raccolta di dati di utilizzo e diagnostica.

Abilitare il controllo locale

Questa opzione abilita il controllo locale e consente di impostare la directory in cui vengono creati i log di controllo locale.

  1. Creare una directory di destinazione per i nuovi log di controllo locale. L'esempio seguente crea una nuova directory /tmp/audit:

    sudo mkdir /tmp/audit
    
  2. Sostituire il proprietario e il gruppo della directory con l'utente mssql:

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Eseguire lo script mssql-conf come radice con il comando set per telemetry.userrequestedlocalauditdirectory:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. Riavviare il servizio SQL Server:

    sudo systemctl restart mssql-server
    

In Docker

Per abilitare il controllo locale in Docker, è necessario che Docker salvi in modo permanente i dati.

  1. La directory di destinazione per i nuovi log di controllo locale sarà nel contenitore. Creare una directory di destinazione per i nuovi log di controllo locale nella directory host del computer. L'esempio seguente crea una nuova directory /audit:

    sudo mkdir <host directory>/audit
    
  2. Aggiungere un file mssql.conf con le righe [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Eseguire l'immagine del contenitore.

    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. La directory di destinazione per i nuovi log di controllo locale sarà nel contenitore. Creare una directory di destinazione per i nuovi log di controllo locale nella directory host del computer. L'esempio seguente crea una nuova directory /audit:

    sudo mkdir <host directory>/audit
    
  2. Aggiungere un file mssql.conf con le righe [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Eseguire l'immagine del contenitore

    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. La directory di destinazione per i nuovi log di controllo locale sarà nel contenitore. Creare una directory di destinazione per i nuovi log di controllo locale nella directory host del computer. L'esempio seguente crea una nuova directory /audit:

    sudo mkdir <host directory>/audit
    
  2. Aggiungere un file mssql.conf con le righe [telemetry] e userrequestedlocalauditdirectory = <host directory>/audit nella directory host:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Eseguire l'immagine del contenitore

    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