Включение или отключение сетевого протокола сервера
Все сетевые протоколы устанавливаются программой установки SQL Server, но могут быть включены или не включены. В этом разделе описывается включение или отключение сетевого протокола сервера в SQL Server 2014 с помощью диспетчер конфигурации SQL Server или PowerShell. Чтобы изменения вступили в силу, необходимо остановить и перезапустить ядро СУБД.
Внимание
Во время установки SQL Server Express для группы BUILDIN\Users добавляется имя входа. Это позволяет всем пользователям, прошедшим проверку подлинности, получить доступ к экземпляру SQL Server Express в качестве члена общедоступной роли. Имя входа BUILDIN\Users можно безопасно удалить, чтобы ограничить ядро СУБД доступ к пользователям компьютера, у которых есть отдельные имена входа или члены других групп Windows с именами входа.
Предупреждение
Поставщики данных SQL Server и Microsoft по умолчанию поддерживают только TLS 1.0 и SSL 3.0. Если применить другой протокол (например, TLS 1.1 или TLS 1.2), внеся изменения на уровне операционной системы SChannel, при подключении к SQL Server может возникнуть ошибка.
В этом разделе
Включение или отключение сетевого протокола сервера с использованием следующего.
Использование диспетчера конфигурации SQL Server
Включение протокола SNP
В диспетчере конфигурации SQL Server в области консоли разверните раздел Сетевая конфигурация SQL Server.
В области консоли щелкните "Протоколы" для <имени> экземпляра.
В области сведений щелкните правой кнопкой мыши протокол, который необходимо переключить, затем выберите Включить или Отключить.
В области консоли выберите Службы SQL Server.
В области сведений щелкните правой кнопкой мыши SQL Server (<имя экземпляра>), а затем нажмите кнопку Перезапустить, чтобы остановить и перезагрузить службу SQL Server.
Использование SQL Server PowerShell
Включение сетевого протокола сервера с использованием PowerShell
Откройте командную строку с использованием разрешений администратора.
Запустите c панели задач Windows PowerShell 2.0 или нажмите кнопку «Пуск», а затем последовательно выберите «Все программы», «Стандартные», «Windows PowerShell» и «Windows PowerShell».
Импорт модуля sqlps путем ввода
Import-Module "sqlps"
Выполните следующие инструкции, чтобы включить протокол TCP и протокол именованных каналов. Замените
<computer_name>
именем компьютера под управлением SQL Server. Если настраивается именованный экземпляр, замените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']"
Перезапуск компонента Database Engine с использованием SQL Server PowerShell
После включения или отключения протоколов необходимо остановить и перезапустить ядро СУБД, чтобы изменения вступили в силу. Выполните следующие инструкции, чтобы остановить и запустить экземпляр по умолчанию с помощью 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