共用方式為


設定 Linux 上的 SQL Server 的使用狀況與診斷資料收集

適用於:Linux 上的 SQL Server

根據預設,Microsoft 會收集客戶如何使用應用程式的相關資訊。 具體來說,SQL Server 會收集有關安裝體驗、使用情況和效能的相關資訊。 這些資訊可協助 Microsoft 改善產品,以進一步滿足客戶需求。 例如,Microsoft 會收集客戶所遇到之錯誤代碼的相關資訊,以便修正相關錯誤、改善如何使用 SQL Server 的相關文件,以及判斷是否應將功能加入到產品中以滿足客戶。

本文件提供關於所收集的資訊種類、如何設定 Linux 上的 SQL Server,以將所收集資訊傳送給 Microsoft 的詳細資料。 SQL Server 包含隱私權聲明,其中說明我們會 (與不會) 向使用者收集的資訊。 如需詳細資訊,請參閱隱私權聲明

具體來說,Microsoft 不會透過此機制傳送下列類型的資訊:

  • 使用者資料表內的任何值
  • 任何登入認證或其他驗證資訊
  • 個人資料

SQL Server 一律會收集並傳送與安裝程序之安裝體驗相關的資訊,以便我們能夠快速找出並修正客戶所遇到的任何安裝問題。 SQL Server 可以透過 mssql-conf 設定為不傳送資訊 (針對每個伺服器執行個體) 給 Microsoft。 mssql-conf 是一個設定指令碼,會使用適用於 Red Hat Enterprise Linux、SUSE Linux Enterprise Server 和 Ubuntu 的 SQL Server 進行安裝。

注意

您僅可在付費版本的 SQL Server 中停用將資訊傳送給 Microsoft 的功能。

停用使用與診斷資料收集

此選項可讓您變更 SQL Server 是否要將使用方式和診斷資料收集傳送給 Microsoft。 根據預設,此值設為 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
    

在 Linux 容器中

若要停用 Linux 容器中的使用和診斷資料收集,您必須讓容器持久化您的資料

  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=<password>' -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=<password>" -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=<password>' -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=<password>" -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=<password>' -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=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-latest
    

警告

您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。

Linux 上 SQL Server 使用方式和診斷資料收集的本機稽核

SQL Server 包含一些啟用網際網路的功能,而這些功能可能會收集您電腦或裝置的相關資訊 (「標準電腦資訊」) 並將此資訊傳送至 Microsoft。 SQL Server 使用方式和診斷資料收集的本機稽核元件,會將服務收集的資料寫入指定資料夾,這些資料(記錄)代表將傳送給 Microsoft 的內容。 本機稽核的目的是要讓客戶看到 Microsoft 以此功能收集的所有資料,以用於相容性、法規或隱私權驗證的理由。

在 Linux 上的 SQL Server 中,本機稽核可以在 SQL Server Database Engine 的執行個體層級設定。 其他 SQL Server 元件和 SQL Server 工具沒有收集使用和診斷資料的本機審核功能。

啟用本機稽核

此選項可啟用本機稽核,並可讓您設定要建立本機稽核記錄的目錄。

  1. 為新的本機稽核記錄建立目標目錄。 下列範例會建立新的 /tmp/audit 目錄:

    sudo mkdir /tmp/audit
    
  2. 將目錄的擁有者和群組變更為 mssql 使用者:

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. 使用 set 命令,以根身分執行 telemetry.userrequestedlocalauditdirectory 指令碼:

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. 重新啟動 SQL Server 服務:

    sudo systemctl restart mssql-server
    

在 Linux 容器中

若要在 Linux 容器中啟用本機稽核,必須讓容器保存您的資料

  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=<password>' -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=<password>" -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=<password>' -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=<password>" -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=<password>' -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=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2022-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=<password>' -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2025-latest
    
    docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" -p 1433:1433 -v <host directory>:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2025-latest
    

警告

您的密碼應遵循 SQL Server 預設 密碼原則。 依預設,密碼長度必須至少有 8 個字元,並包含下列四種字元組合中其中三種組合的字元:大寫字母、小寫字母、以 10 為底數的數字以及符號。 密碼長度最多可達 128 個字元。 盡可能使用長且複雜的密碼。