Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server — tylko system Windows
Wszystkie protokoły sieciowe są instalowane podczas instalacji przez instalatora programu SQL Server, ale mogą być włączone lub nie. W tym artykule opisano sposób włączania lub wyłączania protokołu sieciowego serwera w programie SQL Server przy użyciu programu SQL Server Configuration Manager lub programu PowerShell. Aby zmiany zaczęły obowiązywać, aparat bazy danych musi zostać zatrzymany i uruchomiony ponownie.
Uwagi
Podczas konfigurowania wersji SQL Server Express dodawane jest konto logowania dla grupy BUILTIN\Users. Dzięki temu loginowi wszyscy uwierzytelnieni użytkownicy komputera mogą uzyskiwać dostęp do wystąpienia programu SQL Server Express jako członkowie roli publicznej. Identyfikator logowania BUILTIN\Users można bezpiecznie usunąć, aby ograniczyć dostęp silnika bazy danych do użytkowników, którzy mają indywidualne logowania lub są członkami innych grup systemu Windows z identyfikatorami logowania.
Dostawcy danych programu SQL Server i firmy Microsoft dla programu SQL Server do programu SQL Server 2014 (12.x) obsługują domyślnie tylko protokoły TLS 1.0 i SSL 3.0. Jeśli wymusisz inny protokół (taki jak TLS 1.1 lub TLS 1.2), wprowadzając zmiany w warstwie SChannel systemu operacyjnego, połączenia z programem SQL Server mogą zakończyć się niepowodzeniem, chyba że zainstalujesz odpowiednią aktualizację, aby dodać obsługę protokołu TLS 1.1 i 1.2 do programu SQL Server. Aby uzyskać więcej informacji, zobacz Obsługa protokołu TLS 1.2 dla programu Microsoft SQL Server. Począwszy od programu SQL Server 2016 (13.x), wszystkie wersje programu SQL Server obejmują obsługę protokołu TLS 1.2 bez konieczności wprowadzania dalszych aktualizacji.
Korzystanie z programu SQL Server Configuration Manager
W menedżerze konfiguracji programu SQL Server w konsoli rozwiń węzeł Konfiguracja sieci programu SQL Server.
W okienku konsoli wybierz pozycję Protokoły dla <nazwa instancji>.
W okienku szczegółów kliknij prawym przyciskiem myszy protokół, który chcesz zmienić, a następnie wybierz pozycję Włącz lub Wyłącz.
W okienku konsoli wybierz pozycję Usługi programu SQL Server.
W okienku szczegółów kliknij prawym przyciskiem myszy pozycję SQL Server (<nazwa> wystąpienia), a następnie wybierz polecenie Uruchom ponownie, aby zatrzymać i ponownie uruchomić usługę PROGRAMU SQL Server.
Notatka
Jeśli masz nazwane wystąpienie programu SQL Server, w tym program SQL Server Express, należy również ponownie uruchomić usługę SQL Server Browser.
Korzystanie z programu SQL Server PowerShell
Włączanie protokołu sieciowego serwera za pomocą programu PowerShell
Przy użyciu uprawnień administratora otwórz wiersz polecenia.
Uruchom program Windows PowerShell z paska zadań lub menu Start.
Zaimportuj moduł SqlServer , wprowadzając polecenie
Import-Module SqlServer
.Wykonaj następujące instrukcje, aby włączyć protokoły TCP i nazwanych potoków. Zastąp
<computer_name>
nazwą komputera z uruchomionym programem SQL Server. Jeśli konfigurujesz nazwane wystąpienie (w tym wersję SQL Server Express), zastąpMSSQLSERVER
nazwą wystąpienia.Aby wyłączyć protokoły, ustaw właściwości
IsEnabled
na$false
.Ten skrypt można uruchomić z dowolnego komputera z zainstalowanym programem SQL Server lub bez programu . Upewnij się, że masz zainstalowany moduł SqlServer .
# This script 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
Konfigurowanie protokołów dla komputera lokalnego
Po uruchomieniu skryptu lokalnie i skonfigurowaniu komputera lokalnego program SQL Server PowerShell może zwiększyć elastyczność skryptu, dynamicznie określając nazwę komputera lokalnego. Aby pobrać nazwę komputera lokalnego, zastąp linię ustawiającą zmienną $uri
następującym wierszem.
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
Uruchom ponownie aparat bazy danych za pomocą programu SQL Server PowerShell
Po włączeniu lub wyłączeniu protokołów należy zatrzymać i ponownie uruchomić aparat bazy danych, aby zmiany zaczęły obowiązywać. Wykonaj następujące instrukcje, aby zatrzymać i uruchomić wystąpienie domyślne przy użyciu programu SQL Server PowerShell. Aby zatrzymać i uruchomić nazwane wystąpienie, zastąp 'MSSQLSERVER'
'MSSQL$<instance_name>'
.
# Get a reference to the ManagedComputer class.
Set-Location 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
Notatka
Jeśli masz nazwane wystąpienie programu SQL Server, w tym program SQL Server Express, należy również ponownie uruchomić usługę SQL Server Browser.