MSDN Library
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls

 

Betrifft: SQL Server 2016

<_caps3a_sxs _xmlns3a_caps="http://schemas.microsoft.com/build/caps/2013/11"><_caps3a_sxstarget locale="de-DE">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 2016 Configuration Manager oder PowerShell ein Servernetzwerkprotokoll in SQL Server aktiviert oder deaktiviert wird.Datenbankmodul muss beendet und neu gestartet werden, damit die Änderung wirksam wird.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 Element 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.SQL Server und Microsoft-Datenanbieter für SQL Server 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 zu SQL Server herstellen.In diesem ThemaSo aktivieren oder deaktivieren Sie ein Servernetzwerkprotokoll mit: SQL Server-Konfigurations-ManagerPowerShellVerwenden des SQL Server-Konfigurations-ManagersSo aktivieren Sie ein Server-NetzwerkprotokollErweitern 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 dann auf Neu starten, um den SQL Server-Dienst zu beenden und neu zu starten.SQL Server PowerShellSo aktivieren Sie ein Server-Netzwerkprotokoll mit PowerShellÖffnen Sie eine Eingabeaufforderung unter Administratorberechtigungen.Starten Sie Windows PowerShell 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, indem Sie Import-Module “sqlps” eingeben.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 <caps:sentence sentenceid="81cc4751e95d5b5bff8d792cd61b6ac3" id="tgt29" class="tgtSentence">So konfigurieren Sie die Protokolle für den lokalen Computer</caps:sentence> <caps:sentence sentenceid="783f2c3b305aaca4bd97d31a97a7cccb" id="tgt30" class="tgtSentence">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.</caps:sentence> <caps:sentence sentenceid="e613b8772e8996f40299579983938087" id="tgt31" class="tgtSentence"> Um den lokalen Computernamen abzurufen, ersetzen Sie die Zeile, die die $uri-Variable festlegt, mit der folgenden Zeile.</caps:sentence> $uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']" <caps:sentence sentenceid="8685b3462aee1b7c425104fb4f535a94" id="tgt32" class="tgtSentence">So starten Sie das Datenbankmodul mit SQL Server PowerShell neu</caps:sentence> <caps:sentence sentenceid="63ca56ac8e5dd4e47bb85a652cd9cecc" id="tgt33" class="tgtSentence">Nachdem Sie Protokolle aktiviert oder deaktiviert haben, müssen Sie Datenbankmodul beenden und neu starten, damit die Änderung wirksam wird.</caps:sentence> <caps:sentence sentenceid="c9d0836213820c626dcce9072091acb9" id="tgt34" class="tgtSentence"> Führen Sie die folgenden Anweisungen aus, um die Standardinstanz mithilfe von SQL Server PowerShell zu beenden und zu starten.</caps:sentence> <caps:sentence sentenceid="0c975c6cc174ee6c8fea707789b4374a" id="tgt35" class="tgtSentence"> Um eine benannte Instanz zu beenden und zu starten, ersetzen Sie 'MSSQLSERVER' durch 'MSSQL$<instance_name>'.</caps:sentence> # Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL&lt;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 </caps:SxSTarget> <caps:SxSSource locale="en-US"> <caps:sentence id="src1" class="srcSentence">All network protocols are installed by SQL Server Setup, but may or may not be enabled.</caps:sentence> <caps:sentence id="src2" class="srcSentence"> This topic describes how to enable or disable a server network protocol in SQL Server 2016 by using SQL Server Configuration Manager or PowerShell.</caps:sentence> <caps:sentence id="src3" class="srcSentence"> The Datenbankmodul must be stopped and restarted for the change to take effect.</caps:sentence> <caps:sentence id="src4" class="srcSentence">During setup of SQL Server Express a login is added for the BUILTIN\Users group.</caps:sentence> <caps:sentence id="src5" class="srcSentence"> This allows all authenticated users of the computer to access the instance of SQL Server Express as a member of the public role.</caps:sentence> <caps:sentence id="src6" class="srcSentence"> The BUILTIN\Users login can be safely removed to restrict Datenbankmodul access to computer users who have individual logins or are members of other Windows groups with logins.</caps:sentence> <caps:sentence id="src7" class="srcSentence"> SQL Server and Microsoft data providers for SQL Server support TLS 1.0 and SSL 3.0.</caps:sentence> <caps:sentence id="src8" class="srcSentence"> If you enforce a different protocol (such as TLS 1.1 or TLS 1.2) by making changes in the operating system SChannel layer, your connections to SQL Server might fail.</caps:sentence> <caps:sentence id="src9" class="srcSentence">In This Topic</caps:sentence> <caps:sentence id="src10" class="srcSentence">To enable or disable a server network protocol using: </caps:sentence> <caps:sentence id="src11" class="srcSentence">SQL Server Configuration Manager</caps:sentence> <caps:sentence id="src12" class="srcSentence">PowerShell</caps:sentence> <caps:sentence id="src13" class="srcSentence">Using SQL Server Configuration Manager</caps:sentence> <caps:sentence id="src14" class="srcSentence">To enable a server network protocol</caps:sentence> <caps:sentence id="src15" class="srcSentence">In SQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration.</caps:sentence> <caps:sentence id="src16" class="srcSentence">In the console pane, click Protocols for <instance name>.</caps:sentence> <caps:sentence id="src17" class="srcSentence">In the details pane, right-click the protocol you want to change, and then click Enable or Disable.</caps:sentence> <caps:sentence id="src18" class="srcSentence">In the console pane, click SQL Server Services.</caps:sentence> <caps:sentence id="src19" class="srcSentence">In the details pane, right-click SQL Server (<instance name>), and then click Restart, to stop and restart the SQL Server service.</caps:sentence> <caps:sentence id="src20" class="srcSentence">Using SQL Server PowerShell</caps:sentence> <caps:sentence id="src21" class="srcSentence">To Enable a Server Network Protocol Using PowerShell</caps:sentence> <caps:sentence id="src22" class="srcSentence">Using administrator permissions open a command prompt.</caps:sentence> <caps:sentence id="src23" class="srcSentence">Start Windows PowerShell from the taskbar, or click Start, then All Programs, then Accessories, then Windows PowerShell, then Windows PowerShell.</caps:sentence> <caps:sentence id="src24" class="srcSentence"> Import the sqlps module by entering Import-Module “sqlps”</caps:sentence> <caps:sentence id="src25" class="srcSentence">Execute the following statements to enable both the TCP and named pipes protocols.</caps:sentence> <caps:sentence id="src26" class="srcSentence"> Replace <computer_name> with the name of the computer that is running SQL Server.</caps:sentence> <caps:sentence id="src27" class="srcSentence"> If you are configuring a named instance, replace MSSQLSERVER with the instance name.</caps:sentence> <caps:sentence id="src28" class="srcSentence">To disable protocols, set the IsEnabled properties to $false.</caps:sentence> $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 <caps:sentence id="src29" class="srcSentence">To configure the protocols for the local computer</caps:sentence> <caps:sentence id="src30" class="srcSentence">When the script is run locally and configures the local computer, SQL Server PowerShell can make the script more flexible by dynamically determining the local computer name.</caps:sentence> <caps:sentence id="src31" class="srcSentence"> To retrieve the local computer name, replace the line setting the $uri variable with the following line.</caps:sentence> $uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']" <caps:sentence id="src32" class="srcSentence">To restart the Database Engine by using SQL Server PowerShell</caps:sentence> <caps:sentence id="src33" class="srcSentence">After you enable or disable protocols, you must stop and restart the Datenbankmodul for the change to take effect.</caps:sentence> <caps:sentence id="src34" class="srcSentence"> Execute the following statements to stop and start the default instance by using SQL Server PowerShell.</caps:sentence> <caps:sentence id="src35" class="srcSentence"> To stop and start a named instance replace 'MSSQLSERVER' with 'MSSQL$<instance_name>'.</caps:sentence> # Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL&lt;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 </caps:SxSSource> </caps:SxS>

Community-Beiträge

Anzeigen:
© 2016 Microsoft