Désactiver la télémétrie dans SQL Server
Depuis la version 2014, l’installeur de Microsoft ajoute des services de télémétrie afin que l’éditeur dispose des données d’utilisation du moteur et des services SSIS, SSAS, SSRS installés sur votre système Windows. Je ne sais pas, à vrai dire, de quelle nature sont les informations qui sortent de nos machines. Et je m’en fiche éperdument ! Il y a là une question de principe, surtout quand il s’agit de bases de données et donc de données. Or, sauf à disposer d’un pare-feu correctement configuré, ces informations sortent de nos machines, sans que nulle part nous ayons été conviés à activer cette fonctionnalité. J’ose croire que les entreprises françaises travaillant dans des secteurs fortement concurrentiels ou stratégiques prennent le soin de désactiver ces services CEIP (Customer Experience Improvement Program) !
Les noms de services comprennent tous l’expression TELEMETRY ou CEIP, comme ici au niveau de cette installation de la version 2019 de SQL Server.
Un script PowerShell pour désactiver les services de télémétrie associés à SQL Server
Je vous propose deux syntaxes pour un script PowerShell dont l’objet est de désactiver les services dits CEIP associés à SQL Server comprenant le mot TELEMETRY :
<# Get-Service | Where Name -Like '*TELEMETRY*'|ForEach { Stop-Service -Name $_.Name ; Set-Service -Name $_.Name -StartupType Disabled } #> Clear-Host $services=Get-Service | Where Name -Like '*TELEMETRY*' ForEach($service in $services) { Stop-Service -Name $service.Name Set-Service -Name $service.Name -StartupType Disabled } $service=$null $services=$null
Technique alternative
L’autre solution consiste à désactiver le compte de service NT SERVICE\SQLTELEMETRY dans la liste des connexions à l’instance. Vous pouvez le faire à la clicouille à partir de SSMS (SQL Server Management Studio). Connectez-vous à l’instance avec un compte sysadmin (sa ou .\Administrateur). Puis, allez dans Sécurité > Connexions > NT SERVICE\SQLTELEMETRY > Propriétés.
Au cours de l’étape suivante, choisissez État dans le bandeau de gauche. Puis cochez :
- Autorisation de se connecter au moteur de base de données > Refuser ;
- Connexion > Désactivé.
Vous pouvez aussi opter pour un peu de Transact-SQL :
USE [master]; GO DENY CONNECT SQL TO [NT SERVICE\SQLTELEMETRY]; GO ALTER LOGIN [NT SERVICE\SQLTELEMETRY] DISABLE; GO