Delen via


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

  1. In SQL Server Configuration Manager, in het consolevenster, breid SQL Server-netwerkconfiguratieuit.

  2. Selecteer in het consoledeelvenster Protocollen voor <exemplaarnaam>.

  3. Klik in het detailvenster met de rechtermuisknop op het protocol dat u wilt wijzigen en selecteer inschakelen of uitschakelen.

  4. Selecteer in het consolevenster SQL Server Services-.

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

  1. Open een opdrachtprompt met beheerdersmachtigingen.

  2. Start Windows PowerShell via de taakbalk of het menu Start.

  3. Importeer de SqlServer-module door Import-Module SqlServerin te voeren.

  4. 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 u MSSQLSERVER 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.