Настройка сбора данных об использовании и данных диагностики для SQL Server на Linux

Применимо к:SQL Server — Linux

По умолчанию Microsoft SQL Server собирает сведения о том, как пользователи используют приложение. В частности, SQL Server собирает сведения об установке, использовании и производительности. Эти сведения помогают корпорации Майкрософт улучшать продукты и удовлетворять ожидания клиентов. Например, корпорация Майкрософт собирает сведения о кодах ошибок, с которыми сталкиваются пользователи. Это помогает нам исправлять вызвавшие их проблемы, улучшать качество документации об использовании SQL Server и определять, нужно ли добавить в продукт новые возможности, которые будут полезны нашим клиентам.

В этом документе приводятся сведения о том, какие данные собираются и как настроить в Microsoft SQL Server на Linux отправку собранных данных в корпорацию Майкрософт. Для SQL Server 2017 действует заявление о конфиденциальности, в котором описывается, какие сведения мы собираем и не собираем от пользователей. Дополнительные сведения см. в заявлении о конфиденциальности.

При этом, используя этот механизм, корпорация Майкрософт не собирает следующие данные:

  • любые значения из пользовательских таблиц;
  • любые учетные данные или другие параметры аутентификации;
  • личные сведения (PII).

SQL Server 2017 всегда собирает и отправляет сведения о ходе установки. Это помогает нам быстро обнаруживать и исправлять любые проблемы, которые возникают у клиентов при установке. С помощью mssql-conf сервер SQL Server 2017 можно настроить так, чтобы он не отправлял в корпорацию Майкрософт какие-либо сведения. Такое поведение настраивается отдельно для каждого экземпляра сервера. mssql-conf — это скрипт настройки, который устанавливается вместе с SQL Server 2017 для Red Hat Enterprise Linux, SUSE Linux Enterprise Server и Ubuntu.

Примечание.

Вы можете отключить отправку данных в корпорацию Майкрософт только в платной версии SQL Server.

Отключение сбора данных об использовании и данных диагностики

С помощью этого параметра можно включить или отключить отправку данных об использовании и данных диагностики из SQL Server в корпорацию Майкрософт. По умолчанию он имеет значение True. Чтобы изменить значение, выполните следующие команды:

Важно!

Отключить сбор данных об использовании и данных диагностики для бесплатных выпусков SQL Server, Express и Developer, невозможно.

В Red Hat, SUSE и Ubuntu

  1. Запустите скрипт mssql-conf от имени привилегированного пользователя с помощью команды set для telemetry.customerfeedback. В приведенном ниже примере сбор данных об использовании и данных диагностики отключается путем указания значения false.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. Перезапустите службу SQL Server:

    sudo systemctl restart mssql-server
    

В Docker

Чтобы отключить сбор данных об использовании и диагностике в Docker, необходимо сохранить данные Docker.

  1. Добавьте файл mssql.conf со строками [telemetry] и customerfeedback = false в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Запустите образ контейнера:

    Важно!

    Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте 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. Добавьте файл mssql.conf со строками [telemetry] и customerfeedback = false в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Запустите образ контейнера:

    Важно!

    Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте 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. Добавьте файл mssql.conf со строками [telemetry] и customerfeedback = false в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'customerfeedback = false' >> <host directory>/mssql.conf
    
  2. Запустите образ контейнера:

    Важно!

    Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте 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
    

Локальный аудит для сбора данных об использовании и данных диагностики SQL Server на Linux

Microsoft SQL Server 2017 включает в себя функции, которые могут собирать и отправлять в Майкрософт сведения о компьютере или устройстве пользователя через Интернет (далее — "стандартные сведения о компьютере"). Компонент локального аудита для сбора данных об использовании и диагностических данных SQL Server позволяет записывать собранные службой данные в указанную папку. Эти данные (журналы) будут отправлены в корпорацию Майкрософт. Локальный аудит позволяет клиентам просмотреть все данные, которые корпорация Майкрософт собирает с помощью этой функции для обеспечения соответствия, выполнения нормативных требований или соблюдения конфиденциальности.

В SQL Server на Linux локальный аудит настраивается на уровне экземпляра для ядра СУБД SQL Server. Другие компоненты и средства SQL Server не имеют функций локального аудита для сбора данных об использовании и диагностических данных.

Включение локального аудита

Этот параметр позволяет включить локальный аудит и указать каталог, в котором создаются журналы локального аудита.

  1. Создайте целевой каталог для новых журналов локального аудита. В следующем примере создается каталог /tmp/audit:

    sudo mkdir /tmp/audit
    
  2. Задайте пользователя mssql в качестве владельца и группы каталога:

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. Запустите скрипт mssql-conf от имени привилегированного пользователя с командой set для telemetry.userrequestedlocalauditdirectory.

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. Перезапустите службу SQL Server:

    sudo systemctl restart mssql-server
    

В Docker

Чтобы включить локальный аудит в Docker, необходимо сохранить данные Docker.

  1. Целевой каталог для новых журналов локального аудита будет находиться в контейнере. Создайте целевой каталог для новых журналов локального аудита в каталоге узла на вашем компьютере. В следующем примере создается каталог /audit:

    sudo mkdir <host directory>/audit
    
  2. Добавьте файл mssql.conf со строками [telemetry] и userrequestedlocalauditdirectory = <host directory>/audit в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Запустите образ контейнера:

    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. Целевой каталог для новых журналов локального аудита будет находиться в контейнере. Создайте целевой каталог для новых журналов локального аудита в каталоге узла на вашем компьютере. В следующем примере создается каталог /audit:

    sudo mkdir <host directory>/audit
    
  2. Добавьте файл mssql.conf со строками [telemetry] и userrequestedlocalauditdirectory = <host directory>/audit в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Запустите образ контейнера:

    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. Целевой каталог для новых журналов локального аудита будет находиться в контейнере. Создайте целевой каталог для новых журналов локального аудита в каталоге узла на вашем компьютере. В следующем примере создается каталог /audit:

    sudo mkdir <host directory>/audit
    
  2. Добавьте файл mssql.conf со строками [telemetry] и userrequestedlocalauditdirectory = <host directory>/audit в каталог узла:

    echo '[telemetry]' >> <host directory>/mssql.conf
    
    echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
    
  3. Запустите образ контейнера:

    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