作者:mobiledu2502862217 | 来源:互联网 | 2023-02-05 22:20
安装SQL 2016会自动打开所有"CEIP"或客户体验改善计划元素.这些元素向Microsoft报告安装体验的各个方面以及功能使用情况.我想把它关掉,因为无论如何它都被我们的防火墙阻挡了,我不需要头疼.
1> Slogmeister ..:
事实证明,这样做似乎很容易.设置以下注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\130\CustomerFeedback=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\130\EnableErrorReporting=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSAS13.TESTINSTANCE\CPE\CustomerFeedback=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSAS13.TESTINSTANCE\CPE\EnableErrorReporting=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSRS13.TESTINSTANCE\CPE\CustomerFeedback=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSRS13.TESTINSTANCE\CPE\EnableErrorReporting=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL13.TESTINSTANCE\CPE\CustomerFeedback=0
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL13.TESTINSTANCE\CPE\EnableErrorReporting=0
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Microsoft SQL Server\130\CustomerFeedback=0
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Microsoft SQL Server\130\EnableErrorReporting=0
如果任何键不存在,那就没问题,因为你显然没有安装该功能.
禁用以下服务:
SQL Analysis Services CEIP
SQL Server CEIP service
SQL Server Integration Services CEIP service 13.0
谢谢.不知道为什么,但三个遥测服务在我们的服务器上使用了很多内存......
如果这些特定的键不存在,则可能您安装了另一个版本,并且这些键仍在附近(例如SQL Server 2017而不是2016,版本号为140而不是130)。
2> 小智..:
这是一个Powershell脚本,它将禁用所有遥测CEIP服务,并将更新注册表以禁用CustomerFeedback和EnableErrorReporting:
Get-Service |
Where-Object { $_.Name -like '*telemetry*' -or $_.DisplayName -like '*CEIP*' } |
ForEach-Object {
$servicename = $_.Name;
$displayname = $_.DisplayName;
Set-Service -Name $servicename -StartupType Disabled
$serviceinfo = Get-Service -Name $servicename
$startup = $serviceinfo.StartType
Write-Host "$servicename : $startup : $displayname";
}
Set-Location "HKLM:\"
$sqlentries = @( "\Software\Microsoft\Microsoft SQL Server\", "\Software\Wow6432Node\Microsoft\Microsoft SQL Server\" )
Get-ChildItem -Path $sqlentries -Recurse |
ForEach-Object {
$keypath = $_.Name
(Get-ItemProperty -Path $keypath).PSObject.Properties |
Where-Object { $_.Name -eq "CustomerFeedback" -or $_.Name -eq "EnableErrorReporting" } |
ForEach-Object {
$itemporpertyname = $_.Name
$olditemporpertyvalue = Get-ItemPropertyValue -Path $keypath -Name $itemporpertyname
Set-ItemProperty -Path $keypath -Name $itemporpertyname -Value 0
$newitemporpertyvalue = Get-ItemPropertyValue -Path $keypath -Name $itemporpertyname
Write-Host "$keypath.$itemporpertyname = $olditemporpertyvalue --> $newitemporpertyvalue"
}
}
3> 小智..:
您还可以使用Microsoft SQL Server 2016附带的“错误和使用情况报告设置”应用程序。
该文章显示了漂亮的图片细节。可以省去编辑注册表的胖手指。在我的测试中,它不需要重启服务,就可以了。