Een servernetwerkprotocol in- of uitschakelen
van toepassing op:SQL Server- - alleen Windows
Alle netwerkprotocollen worden geïnstalleerd tijdens de installatie, door SQL Server Setup, maar mogelijk wel of niet ingeschakeld. In dit artikel wordt beschreven hoe u een servernetwerkprotocol in SQL Server inschakelt of uitschakelt met behulp van SQL Server Configuration Manager of PowerShell. De database-engine moet worden gestopt en opnieuw worden gestart om de wijziging van kracht te laten worden.
Opmerkingen
Tijdens de installatie van de SQL Server Express-editie wordt er een aanmelding toegevoegd voor de groep BUILTIN\Users. Met deze aanmelding hebben alle geverifieerde gebruikers van de computer toegang tot het exemplaar van SQL Server Express als lid van de openbare rol. De aanmelding bij BUILTIN\Users kan veilig worden verwijderd om de toegang van database-engine te beperken tot computergebruikers die afzonderlijke aanmeldingen hebben of lid zijn van andere Windows-groepen met aanmeldingen.
SQL Server- en Microsoft-gegevensproviders voor SQL Server tot en met SQL Server 2014 (12.x) bieden standaard alleen ondersteuning voor TLS 1.0 en SSL 3.0. Als u een ander protocol (zoals TLS 1.1 of TLS 1.2) afdwingt door wijzigingen aan te brengen in de SChannel-laag van het besturingssysteem, kunnen uw verbindingen met SQL Server mislukken, tenzij u de juiste update installeert om ondersteuning voor TLS 1.1 en 1.2 toe te voegen aan SQL Server. Zie KB 3135244voor meer informatie. Vanaf SQL Server 2016 (13.x) bevatten alle releaseversies van SQL Server TLS 1.2-ondersteuning zonder verdere updates vereist.
SQL Server Configuration Manager gebruiken
In SQL Server Configuration Manager, in het consolevenster, breid SQL Server-netwerkconfiguratieuit.
Selecteer in het consoledeelvenster Protocollen voor <exemplaarnaam>.
Klik in het detailvenster met de rechtermuisknop op het protocol dat u wilt wijzigen en selecteer inschakelen of uitschakelen.
Selecteer in het consolevenster SQL Server Services-.
Klik in het detailvenster met de rechtermuisknop op SQL Server (<exemplaarnaam>)en selecteer opnieuw opstarten om de SQL Server-service te stoppen en opnieuw op te starten.
Notitie
Als u een benoemd exemplaar van SQL Server hebt, inclusief SQL Server Express-editie, moet u ook de SQL Server Browser-service opnieuw starten.
SQL Server PowerShell gebruiken
Een servernetwerkprotocol inschakelen met PowerShell
Open een opdrachtprompt met beheerdersmachtigingen.
Start Windows PowerShell via de taakbalk of het menu Start.
Importeer de SqlServer-module door
Import-Module SqlServer
in te voeren.Voer de volgende instructies uit om zowel tcp- als named pipes-protocollen in te schakelen. Vervang
<computer_name>
door de naam van de computer waarop SQL Server wordt uitgevoerd. Als u een benoemd exemplaar (inclusief SQL Server Express-editie) configureert, vervangt uMSSQLSERVER
door de naam van het exemplaar.Als u protocollen wilt uitschakelen, stelt u de eigenschappen van de
IsEnabled
in op$false
.U kunt dit script uitvoeren vanaf elke computer, met of zonder SQL Server geïnstalleerd. Zorg ervoor dat de SqlServer-module is geïnstalleerd.
#requires the SqlServer module Import-Module SQLServer $wmi = New-Object Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer <#computer_name#> # 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
De protocollen voor de lokale computer configureren
Wanneer het script lokaal wordt uitgevoerd en de lokale computer configureert, kan SQL Server PowerShell het script flexibeler maken door dynamisch de naam van de lokale computer te bepalen. Als u de naam van de lokale computer wilt ophalen, vervangt u de regelinstelling van de $uri
variabele door de volgende regel.
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
De database-engine opnieuw starten met SQL Server PowerShell
Nadat u protocollen hebt ingeschakeld of uitgeschakeld, moet u de database-engine stoppen en opnieuw starten om de wijziging van kracht te laten worden. Voer de volgende instructies uit om het standaardexemplaar te stoppen en te starten met behulp van SQL Server PowerShell. Als u een benoemd exemplaar wilt starten en stoppen, vervangt u 'MSSQLSERVER'
door '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
Notitie
Als u een benoemd exemplaar van SQL Server hebt, inclusief SQL Server Express-editie, moet u ook de SQL Server Browser-service opnieuw starten.