Поделиться через


Включение или отключение сетевого протокола сервера

Все сетевые протоколы устанавливаются программой установки SQL Server, но некоторые могут быть включены, а некоторые — нет. В этом разделе описано, как включить или отключить сетевой протокол сервера в SQL Server 2012 с помощью диспетчера конфигурации SQL Server или PowerShell. Компонент Ядро СУБД необходимо остановить и перезапустить, чтобы изменения вступили в силу.

Примечание по безопасностиПримечание по безопасности

Во время установки SQL Server Express для группы «BUILTIN\Пользователи» добавляется имя входа. Благодаря этому все прошедшие проверку подлинности пользователи компьютера получают доступ к экземпляру SQL Server Express как члены роли public. Имя входа группы «BUILTIN\Пользователи» можно удалить, чтобы ограничить доступ к компоненту Ядро СУБД только теми пользователями компьютера, у которых есть отдельные имена входа, или членами других групп Windows с именами входа.

В этом разделе

  • Включение или отключение сетевого протокола сервера с использованием следующего.

    Диспетчер конфигурации SQL Server

    PowerShell

Использование диспетчера конфигурации SQL Server

Включение протокола SNP

  1. В диспетчере конфигурации SQL Server на панели консоли раскройте Сетевая конфигурация SQL Server.

  2. В области консоли щелкните Протоколы для <instance name>.

  3. В области сведений щелкните правой кнопкой мыши протокол, который необходимо переключить, затем выберите Включить или Отключить.

  4. В области консоли выберите Службы SQL Server.

  5. В области сведений щелкните правой кнопкой мыши SQL Server(<instance name>) и выберите команду Перезапустить, чтобы остановить и снова запустить службу SQL Server.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование SQL Server PowerShell

Включение сетевого протокола сервера с использованием PowerShell

  1. Откройте командную строку с использованием разрешений администратора.

  2. Запустите c панели задач Windows PowerShell 2.0 или нажмите кнопку «Пуск», а затем последовательно выберите «Все программы», «Стандартные», «Windows PowerShell» и «Windows PowerShell».

  3. Импортируйте модуль sqlps, введя команду Import-Module «sqlps»

  4. Выполните следующие инструкции, чтобы включить протокол 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]