Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls
Alle Netzwerkprotokolle werden vom SQL Server-Setup installiert, sind jedoch möglicherweise oder nicht aktiviert. In diesem Thema wird beschrieben, wie Sie ein Servernetzwerkprotokoll in SQL Server 2014 mithilfe von SQL Server-Konfigurations-Manager oder PowerShell aktivieren oder deaktivieren. Datenbank-Engine muss beendet und neu gestartet werden, damit die Änderung wirksam wird.
Wichtig
Während des Setups von SQL Server Express wird eine Anmeldung für die Gruppe BUILTIN\Users hinzugefügt. Dies ermöglicht allen authentifizierten Benutzern des Computers den Zugriff auf die Instanz von SQL Server Express als Element der öffentlichen Rolle. Die BUILTIN\Users-Anmeldung kann sicher entfernt werden, um den Datenbank-Engine -Zugriff auf Computerbenutzer zu beschränken, die eigene Logins besitzen oder Mitglieder anderer Windows-Gruppen mit Logins sind.
Warnung
SQL Server und Microsoft-Datenanbieter für SQL unterstützen TLS 1.0 und SSL 3.0. Wenn Sie ein anderes Protokoll (beispielsweise TLS 1.1 oder TLS 1.2) erzwingen, indem Sie Änderungen an der Schannel-Betriebssystemebene vornehmen, können Sie möglicherweise keine Verbindung mit SQL Server herstellen.
In diesem Thema
So aktivieren oder deaktivieren Sie ein Servernetzwerkprotokoll mit:
Verwenden des SQL Server-Konfigurations-Managers
So aktivieren Sie ein Server-Netzwerkprotokoll
Erweitern Sie im SQL Server-Konfigurations-Manager im Konsolenbereich den Knoten SQL Server-Netzwerkkonfiguration.
Klicken Sie im Konsolenbereich auf "Protokolle", z. B. "<Name>".
Klicken Sie im Detailbereich mit der rechten Maustaste auf das zu ändernde Protokoll, und klicken Sie dann auf Aktivieren oder Deaktivieren.
Klicken Sie im linken Bereich auf SQL Server-Dienste.
Klicken Sie im Detailbereich mit der rechten Maustaste auf SQL Server (<Instanzname>), und klicken Sie dann auf Neu starten, um den SQL Server-Dienst zu beenden und neu zu starten.
SQL Server PowerShell
So aktivieren Sie ein Server-Netzwerkprotokoll mit PowerShell
Öffnen Sie eine Eingabeaufforderung unter Administratorberechtigungen.
Starten Sie Windows PowerShell 2.0 aus der Taskleiste, oder klicken Sie auf "Start", auf "Alle Programme", auf "Zubehör", auf "Windows PowerShell" und dann auf "Windows PowerShell".
Importieren des SQLPs-Moduls durch Eingabe
Import-Module "sqlps"
Führen Sie die folgenden Anweisungen aus, um die Protokolle für TCP und Named Pipes zu aktivieren. Ersetzen Sie
<computer_name>
mit dem Namen des Computers, auf dem SQL Serverausgeführt wird. Wenn Sie eine benannte Instanz konfigurieren, ersetzen SieMSSQLSERVER
durch den Namen der Instanz.Um die Protokolle zu deaktivieren, legen Sie die
IsEnabled
-Eigenschaften auf$false
fest.$smo = 'Microsoft.SqlServer.Management.Smo.' $wmi = new-object ($smo + 'Wmi.ManagedComputer'). # List the object properties, including the instance names. $Wmi # Enable the TCP protocol on the default instance. $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']" $Tcp = $wmi.GetSmoObject($uri) $Tcp.IsEnabled = $true $Tcp.Alter() $Tcp # Enable the named pipes protocol for the default instance. $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']" $Np = $wmi.GetSmoObject($uri) $Np.IsEnabled = $true $Np.Alter() $Np
So konfigurieren Sie die Protokolle für den lokalen Computer
Wenn das Skript lokal ausgeführt wird und den lokalen Computer konfiguriert, kann SQL Server PowerShell das Skript flexibler gestalten, indem der lokale Computernamen dynamisch festgelegt wird. Um den lokalen Computernamen abzurufen, ersetzen Sie die Zeile, die die
$uri
-Variable festlegt, mit der folgenden Zeile.$uri = "ManagedComputer[@Name='" + (Get-Item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
So starten Sie die Datenbank-Engine mit SQL Server PowerShell neu
Nachdem Sie Protokolle aktiviert oder deaktiviert haben, müssen Sie Datenbank-Engine beenden und neu starten, damit die Änderung wirksam wird. Führen Sie die folgenden Anweisungen aus, um die Standardinstanz mithilfe von SQL Server PowerShell zu beenden und zu starten. Um eine benannte Instanz zu beenden und zu starten, ersetzen Sie
'MSSQLSERVER'
durch'MSSQL$<instance_name>'
.# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\<computer_name> $Wmi = (Get-Item .).ManagedComputer # Get a reference to the default instance of the Database Engine. $DfltInstance = $Wmi.Services['MSSQLSERVER'] # Display the state of the service. $DfltInstance # Stop the service. $DfltInstance.Stop(); # Wait until the service has time to stop. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance # Start the service again. $DfltInstance.Start(); # Wait until the service has time to start. # Refresh the cache and display the state of the service. $DfltInstance.Refresh(); $DfltInstance