Freigeben über


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

Verwenden des SQL Server-Konfigurations-Managers

So aktivieren Sie ein Server-Netzwerkprotokoll

  1. Erweitern Sie im SQL Server-Konfigurations-Manager im Konsolenbereich den Knoten SQL Server-Netzwerkkonfiguration.

  2. Klicken Sie im Konsolenbereich auf "Protokolle", z. B. "<Name>".

  3. Klicken Sie im Detailbereich mit der rechten Maustaste auf das zu ändernde Protokoll, und klicken Sie dann auf Aktivieren oder Deaktivieren.

  4. Klicken Sie im linken Bereich auf SQL Server-Dienste.

  5. 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

  1. Öffnen Sie eine Eingabeaufforderung unter Administratorberechtigungen.

  2. 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".

  3. Importieren des SQLPs-Moduls durch Eingabe Import-Module "sqlps"

  4. 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 Sie MSSQLSERVER durch den Namen der Instanz.

    Um die Protokolle zu deaktivieren, legen Sie die IsEnabled -Eigenschaften auf $falsefest.

    $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