設定 Linux 上的 SQL Server 的使用狀況與診斷資料收集
適用於:SQL Server - Linux
根據預設,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 上
使用
telemetry.customerfeedback
的set
命令,以根身分執行 mssql-conf 指令碼。 下列範例會藉由指定false
來關閉使用方式和診斷資料收集。sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
重新啟動 SQL Server 服務:
sudo systemctl restart mssql-server
在 Linux 容器中
若要停用 Linux 容器 中的使用方式和診斷資料收集,您必須讓容器保存您的資料。
在主機目錄中新增具有
[telemetry]
和customerfeedback = false
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
執行容器映像:
重要
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
在主機目錄中新增具有
[telemetry]
和customerfeedback = false
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
執行容器映像:
重要
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
在主機目錄中新增具有
[telemetry]
和customerfeedback = false
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'customerfeedback = false' >> <host directory>/mssql.conf
執行容器映像:
重要
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 和 Analysis Services (SSAS) 的執行個體層級設定。 其他 SQL Server 元件和 SQL Server 工具沒有使用方式和診斷資料收集的本機稽核功能。
啟用本機稽核
此選項可啟用本機稽核,並可讓您設定要建立本機稽核記錄的目錄。
為新的本機稽核記錄建立目標目錄。 下列範例會建立新的
/tmp/audit
目錄:sudo mkdir /tmp/audit
將目錄的擁有者和群組變更為
mssql
使用者:sudo chown mssql /tmp/audit sudo chgrp mssql /tmp/audit
使用
telemetry.userrequestedlocalauditdirectory
的set
命令,以根身分執行 mssql-conf 指令碼:sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
重新啟動 SQL Server 服務:
sudo systemctl restart mssql-server
在 Linux 容器中
若要在 Linux 容器中啟用本機稽核,必須讓容器保存您的資料。
新本機稽核記錄的目標目錄會位於容器中。 在您電腦上的主機目錄中,為新的本機稽核記錄建立目標目錄。 下列範例會建立新的
/audit
目錄:sudo mkdir <host directory>/audit
在主機目錄中新增具有
[telemetry]
和userrequestedlocalauditdirectory = <host directory>/audit
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
執行容器映像:
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
新本機稽核記錄的目標目錄會位於容器中。 在您電腦上的主機目錄中,為新的本機稽核記錄建立目標目錄。 下列範例會建立新的
/audit
目錄:sudo mkdir <host directory>/audit
在主機目錄中新增具有
[telemetry]
和userrequestedlocalauditdirectory = <host directory>/audit
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
執行容器映像
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
新本機稽核記錄的目標目錄會位於容器中。 在您電腦上的主機目錄中,為新的本機稽核記錄建立目標目錄。 下列範例會建立新的
/audit
目錄:sudo mkdir <host directory>/audit
在主機目錄中新增具有
[telemetry]
和userrequestedlocalauditdirectory = <host directory>/audit
這二行的mssql.conf
檔案:echo '[telemetry]' >> <host directory>/mssql.conf
echo 'userrequestedlocalauditdirectory = <host directory>/audit' >> <host directory>/mssql.conf
執行容器映像
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 個字元。 盡可能使用長且複雜的密碼。