Aktivera eller inaktivera ett servernätverksprotokoll
gäller för:SQL Server – endast Windows
Alla nätverksprotokoll installeras under installationen av SQL Server-installationsprogrammet, men kan vara aktiverade eller inte. Den här artikeln beskriver hur du aktiverar eller inaktiverar ett servernätverksprotokoll i SQL Server med hjälp av SQL Server Configuration Manager eller PowerShell. Databasmotorn måste stoppas och startas om för att ändringen ska börja gälla.
Anmärkningar
Under installationen av SQL Server Express-utgåvan läggs en inloggning till för gruppen BUILTIN\Users. Med den här inloggningen kan alla autentiserade användare av datorn komma åt instansen av SQL Server Express som medlem i den offentliga rollen. Inloggningen BUILTIN\Users kan tas bort på ett säkert sätt för att begränsa databasmotorns åtkomst till datoranvändare som har enskilda inloggningar eller är medlemmar i andra Windows-grupper med inloggningar.
SQL Server- och Microsoft-dataprovidrar för SQL Server upp till SQL Server 2014 (12.x) stöder endast TLS 1.0 och SSL 3.0 som standard. Om du framtvingar ett annat protokoll (till exempel TLS 1.1 eller TLS 1.2) genom att göra ändringar i operativsystemets SChannel-lager kan dina anslutningar till SQL Server misslyckas, såvida du inte installerar lämplig uppdatering för att lägga till stöd för TLS 1.1 och 1.2 till SQL Server. Mer information finns i KB-3135244. Från och med SQL Server 2016 (13.x) innehåller alla versioner av SQL Server TLS 1.2-stöd utan ytterligare uppdateringar.
Använda SQL Server Configuration Manager
I SQL Server Configuration Manager går du till konsolfönstret och expanderar SQL Server Network Configuration.
I konsolfönstret väljer du Protokoll för <instansnamn>.
Högerklicka på det protokoll som du vill ändra i informationsfönstret och välj sedan Aktivera eller Inaktivera.
I konsolfönstret väljer du SQL Server Services.
I informationsfönstret högerklickar du på SQL Server (<instansnamn>)och väljer sedan Starta omför att stoppa och starta om SQL Server-tjänsten.
Not
Om du har en namngiven instans av SQL Server, inklusive SQL Server Express Edition, bör du även starta om SQL Server Browser-tjänsten.
Använda SQL Server PowerShell
Aktivera ett servernätverksprotokoll med PowerShell
Öppna en kommandotolk med administratörsbehörigheter.
Starta Windows PowerShell från aktivitetsfältet eller Start-menyn.
Importera modulen SqlServer genom att ange
Import-Module SqlServer
.Kör följande instruktioner för att aktivera både TCP- och namngivna pipes-protokoll. Ersätt
<computer_name>
med namnet på datorn som kör SQL Server. Om du konfigurerar en namngiven instans (inklusive SQL Server Express Edition) ersätter duMSSQLSERVER
med instansnamnet.Om du vill inaktivera protokoll anger du egenskaperna för
IsEnabled
till$false
.Du kan köra det här skriptet från valfri dator, med eller utan SQL Server installerat. Kontrollera att modulen SqlServer är installerad.
#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
Konfigurera protokollen för den lokala datorn
När skriptet körs lokalt och konfigurerar den lokala datorn kan SQL Server PowerShell göra skriptet mer flexibelt genom att dynamiskt fastställa namnet på den lokala datorn. Om du vill hämta namnet på den lokala datorn, ersätt inställningen av variabeln $uri
med följande rad.
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
Starta om databasmotorn med SQL Server PowerShell
När du har aktiverat eller inaktiverat protokoll måste du stoppa och starta om databasmotorn för att ändringen ska börja gälla. Kör följande instruktioner för att stoppa och starta standardinstansen med hjälp av SQL Server PowerShell. Om du vill stoppa och starta en namngiven instans ersätter du 'MSSQLSERVER'
med '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
Not
Om du har en namngiven instans av SQL Server, inklusive SQL Server Express Edition, bör du även starta om SQL Server Browser-tjänsten.