Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls
Alle Netzwerkprotokolle werden vom SQL Server-Setup installiert, sie können jedoch aktiviert oder nicht aktiviert werden. In diesem Thema wird beschrieben, wie mit SQL Server Configuration Manager oder PowerShell ein Servernetzwerkprotokoll in SQL Server 2012 aktiviert oder deaktiviert wird. Datenbankmodul muss beendet und neu gestartet werden, damit die Änderung wirksam wird.
Sicherheitshinweis |
---|
Während des Setups von SQL Server Express wird ein Anmeldename 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 Mitglied der öffentlichen Rolle. Der BUILTIN\Users-Anmeldename kann sicher entfernt werden, um den Datenbankmodul-Zugriff auf Computerbenutzer zu beschränken, die eigene Anmeldenamen besitzen oder Mitglieder anderer Windows-Gruppen mit Anmeldenamen sind. |
In diesem Thema
So aktivieren oder deaktivieren Sie ein Servernetzwerkprotokoll mit:
SQL Server-Konfigurations-Manager
PowerShell
Verwenden des SQL Server-Konfigurations-Managers
So aktivieren Sie ein Server-Netzwerkprotokoll
Erweitern Sie im SQL Server-Konfigurations-Manager im Konsolenbereich SQL Server-Netzwerkkonfiguration.
Klicken Sie im Konsolenbereich auf Protokolle für <instance 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 Konsolenbereich auf SQL Server-Dienste.
Klicken Sie im Detailbereich mit der rechten Maustaste auf SQL Server (<instance name>), und klicken Sie auf Neu starten, um den SQL Server-Dienst zu beenden und neu zu starten.
[Top]
Verwenden von 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 Sie das sqlps-Modul durch Eingeben von 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 Server ausgefü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 $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 das Datenbankmodul mit SQL Server PowerShell neu
Nachdem Sie Protokolle aktiviert oder deaktiviert haben, müssen Sie Datenbankmodul 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
[Top]