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.

La console des services Windows

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.

SSMS : Sécurité > Connexions > NT SERVICE\SQLTELEMETRY > Propriétés

Au cours de l’étape suivante, choisissez État dans le bandeau de gauche.  Puis cochez :

Propriétés de la connexion NT SERVICE\SQLTELEMETRY > Etat

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

Base de données  / Formateur SQL Server