Включение или отключение сетевого протокола сервера
Все сетевые протоколы устанавливаются программой установки SQL Server, но некоторые могут быть включены, а некоторые — нет. В этом разделе описано, как включить или отключить сетевой протокол сервера в SQL Server 2012 с помощью диспетчера конфигурации SQL Server или PowerShell. Компонент Ядро СУБД необходимо остановить и перезапустить, чтобы изменения вступили в силу.
Примечание по безопасности |
---|
Во время установки SQL Server Express для группы «BUILTIN\Пользователи» добавляется имя входа. Благодаря этому все прошедшие проверку подлинности пользователи компьютера получают доступ к экземпляру SQL Server Express как члены роли public. Имя входа группы «BUILTIN\Пользователи» можно удалить, чтобы ограничить доступ к компоненту Ядро СУБД только теми пользователями компьютера, у которых есть отдельные имена входа, или членами других групп Windows с именами входа. |
В этом разделе
Включение или отключение сетевого протокола сервера с использованием следующего.
Диспетчер конфигурации SQL Server
PowerShell
Использование диспетчера конфигурации SQL Server
Включение протокола SNP
В диспетчере конфигурации SQL Server на панели консоли раскройте Сетевая конфигурация SQL Server.
В области консоли щелкните Протоколы для <instance name>.
В области сведений щелкните правой кнопкой мыши протокол, который необходимо переключить, затем выберите Включить или Отключить.
В области консоли выберите Службы SQL Server.
В области сведений щелкните правой кнопкой мыши SQL Server(<instance name>) и выберите команду Перезапустить, чтобы остановить и снова запустить службу SQL Server.
[Top]
Использование 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
[Top]