Изменение учетной записи службы отказоустойчивого кластера SQL Server через Powershell - PullRequest
0 голосов
/ 12 октября 2011

Я создал ниже скрипт Powershell для изменения учетных записей службы сервера sql.Этот скрипт работает нормально с моего локального, если я прохожу автономные сервера SQL.Но происходит сбой для кластеризованных служб sql с сообщением об ошибке ниже:

$OldServiceAccount = '****'
$NewServiceAccount = '*****'
$Password = '****'
$Servers = Get-Content D:\RP-Test\Service_Account_Change\Servers.txt | Select-Object -Unique

foreach($Server in $Servers) {
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SqlWmiManagement") | Out-Null

    $wmi = New-Object ("Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer") $Server
    $Services = $wmi.services | Where-Object { ($_.ServiceAccount -eq $OldServiceAccount) -and ($_.Type -ne 'ReportServer') }

    foreach($Service in $Services) {
        $Service.SetServiceAccount($NewServiceAccount,$Password)
        $Service.Refresh()
    }
    $Services | Select-Object @{ label = "ServiceName"; expression = { $_.Name } }, Type, ServiceAccount, ServiceState | Format-Table -Auto
}

Сообщение об ошибке:

Exception calling "SetServiceAccount" with "2" argument(s): "Set service account failed. "
At line:3 char:27
+ $Service.SetServiceAccount <<<< ($NewServiceAccount,$Password)
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

Я не могу удаленно изменить учетную запись службы кластеризованного sql.Если я скопирую этот скрипт в активный узел кластера и выполню его там, то этот скрипт работает нормально.

BOL говорит

Для кластерных серверов: изменение учетной записи службы, используемой SQL Serverили агент SQL Server должен выполняться с активного узла кластера SQL Server. (http://msdn.microsoft.com/en-us/library/ms345578.aspx)

Означает ли это, что нам нужно подключиться к TS для каждого активного узла кластера и изменить учетную запись службы.мы автоматизируем этот процесс - это по назначению? или есть какой-либо другой способ изменения учетной записи службы для кластерных служб sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...