Контекст: я получил Vagrantfile для предоставления ВМ, на этой ВМ установлен SQL-SERVER 2012, 2014, 2016 и 2017. Когда я проверял МЕНЕДЖЕР КОНФИГУРАЦИИ СЕРВЕРА SQL, я увидел, что в каждом экземпляре SQL-SERVER протокол TCP/IP отключен.

Есть ли способ включить их через скрипт powershell или sql script?

2 ответа2

1

Microsoft уже предоставляет руководство по этой теме.

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/enable-or-disable-a-server-network-protocol?view=sql-server-2017

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

Чтобы включить сетевой протокол сервера с помощью

  1. Используя права администратора, откройте командную строку.
  2. Запустите Windows PowerShell на панели задач или нажмите Пуск, затем Все программы, затем Стандартные, затем Windows PowerShell, затем Windows PowerShell.
  3. Импортируйте модуль sqlps, введя Import-Module "sqlps"
  4. Выполните следующие операторы, чтобы включить протоколы TCP и именованных каналов. Замените на имя компьютера, на котором работает SQL Server. Если вы настраиваете именованный экземпляр, замените MSSQLSERVER на имя экземпляра. Чтобы отключить протоколы, установите для свойств IsEnabled значение $ false.

    $ smo = 'Microsoft.SqlServer.Управление.SMO.'
    $ wmi = new-object ($ smo + 'Wmi.ManagedComputer ').

Перечислите свойства объекта, включая имена экземпляров.

$Wmi  

Включите протокол TCP на экземпляре по умолчанию.

$uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
$Tcp = $wmi.GetSmoObject($uri)  
$Tcp.IsEnabled = $true  
$Tcp.Alter()  
$Tcp  

Включите протокол именованных каналов для экземпляра по умолчанию.

$uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"  
$Np = $wmi.GetSmoObject($uri)  
$Np.IsEnabled = $true  
$Np.Alter()  
$Np
0

Включение протокола TCP/IP в SQL Server можно выполнить прямо из диспетчера конфигурации SQL Server, после расширения "Конфигурация сети SQL Server" и "Протоколы для MSSQLSERVER".

Щелкните правой кнопкой мыши «TCP /IP» и выберите "Включить", а затем щелкните правой кнопкой мыши «SQL Server (MSSQLSERVER)» и выберите "Перезапустить".

Для сценария PowerShell см. Статью Microsoft Включение или отключение сетевого протокола сервера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .