Включение или отключение сетевого протокола сервера
Применимо к:SQL Server — только Windows
Все сетевые протоколы устанавливаются во время установки SQL Server установки, но могут быть включены или не включены. В этой статье описывается, как включить или отключить сетевой протокол сервера в SQL Server с помощью диспетчер конфигурации SQL Server или PowerShell. Компонент Компонент Database Engine необходимо остановить и перезапустить, чтобы изменения вступили в силу.
Комментарии
Во время установки выпуска SQL Server Express для группы BUILTIN\Users добавляется имя входа. Это имя входа позволяет всем пользователям компьютера, прошедшим проверку подлинности, получить доступ к экземпляру SQL Server Express в качестве члена общедоступной роли. Имя входа группы BUILTIN\Users можно удалить, чтобы ограничить доступ к компоненту Компонент Database Engine только пользователям компьютера, у которых есть отдельные имена входа, или членам других групп Windows с именами входа.
Поставщики данных SQL Server и Microsoft для версий с SQL Server по SQL Server 2014 (12.x) по умолчанию поддерживают только TLS 1.0 и SSL 3.0. При применении другого протокола (например, TLS 1.1 или TLS 1.2) путем внесения изменений на уровне SChannel операционной системы подключения к SQL Server могут завершиться сбоем, если не установить соответствующее обновление для добавления поддержки TLS 1.1 и 1.2 в SQL Server. Дополнительные сведения см. в 3135244 базы знаний. Начиная с SQL Server 2016 (13.x); все выпуски SQL Server поддерживают TLS 1.2 без установки дополнительных обновлений.
Использование диспетчер конфигурации SQL Server
В диспетчере конфигурации SQL Server в области консоли разверните раздел Сетевая конфигурация SQL Server.
В области консоли выберите Протоколы в поле <Имя> экземпляра.
В области сведений щелкните правой кнопкой мыши протокол, который требуется изменить, и выберите включить или отключить.
В области консоли выберите SQL Server Службы.
В области сведений щелкните правой кнопкой мыши SQL Server (<имя> экземпляра) и выберите Перезапустить, чтобы остановить и перезапустить службу SQL Server.
Примечание
Если у вас есть именованный экземпляр SQL Server, включая SQL Server Express выпуск, необходимо также перезапустить службу браузера SQL Server.
Использование SQL Server PowerShell
Включение сетевого протокола сервера с помощью PowerShell
Используя разрешения администратора, откройте командную строку.
Запустите Windows PowerShell на панели задач или в меню "Пуск".
Импортируйте модуль sqlps , введя
Import-Module sqlps
.Выполните следующие инструкции, чтобы включить протокол TCP и протокол именованных каналов. Замените
<computer_name>
именем компьютера, на котором работает SQL Server. Если вы настраиваете именованный экземпляр (включая SQL Server Express выпуск), заменитеMSSQLSERVER
именем экземпляра.Чтобы отключить протоколы, установите для свойства
IsEnabled
значение$false
.$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
Настройка протоколов для локального компьютера
Если скрипт запускается локально и настраивает локальный компьютер, с помощью SQL Server PowerShell можно сделать скрипт более гибким, динамически определяя имя локального компьютера. Для получения имени локального компьютера замените строку, устанавливающую переменную $uri
, следующей строкой.
$uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"
Перезапустите ядро СУБД с помощью SQL Server PowerShell
После включения или отключения протоколов необходимо остановить и перезапустить компонент Компонент Database Engine , чтобы эти изменения вступили в действие. Выполните следующие инструкции, чтобы остановить и запустить экземпляр по умолчанию с использованием SQL Server PowerShell. Чтобы остановить и запустить именованный экземпляр, замените на 'MSSQLSERVER'
'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
Примечание
Если у вас есть именованный экземпляр SQL Server, включая SQL Server Express выпуск, необходимо также перезапустить службу браузера SQL Server.
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по