Auf einem meiner Rechner wollte der "SQL Server Configuration Manager" nicht mehr starten, den ich brauchte, um das TCP-Protokoll als "Client Protocol" für den Zugriff auf den Microsoft SQL Server zu aktivieren. Fehlermeldung: "Cannot connect to WMI provider".
Das Problem ist bei Microsoft dokumentiert im Knowledge-Base-Beitrag 956013 und ließ sich in meinem Fall lösen mit diesem Kommandozeilenbefehl:
Mofcomp "C:\Program Files (x86)\Microsoft SQL Server\140\Shared\sqlmgmproviderxpsp2up.mof"
Dabei muss die Windows-Konsole als Administrator gestartet sein.
Noch bevor ich diese Lösung fand, hatte ich das Protokoll schon per PowerShell aktivieren können – mit diesem Skript:
$ErrorActionPreference = "Stop"
Import-Module "sqlps"
$smo = new-object "Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer"
$Computer = ($env:computername)
$computer
# TCP-Protokoll für SQL Server Default Instance aktivieren
$uri = "ManagedComputer[@Name='$Computer']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
$sp = $smo.GetSmoObject($uri)
"--------- Alter Zustand"
"Vorher: " + $sp.IsEnabled
"--------- TCP aktivieren"
$sp.IsEnabled = $true
$sp.Alter()
"--------- Neuer Zustand"
"Nachher: " + $sp.IsEnabled
# Dienstneustart notwendig!!!
Restart-Service MSSQLServer -force
In meinem Fall bekam ich für den Server S21 die Ausgabe:
Computer: S21
Vorher: False
Nachher: True
()