3

Powershell で現在のプライマリ レプリカのマシンを取得したいと考えています。それを行うコマンドレットはありますか?

私はsqlpsモジュールをロードし、find all sqlコマンドをダンプしましたが、誰もこれに関連していないようです..

ありがとう

4

4 に答える 4

1

リスナーに接続してプライマリ レプリカを取得することもできます。

$null = [Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo");

$listenerName = "YourListenerName";

$sqlListener = New-Object Microsoft.SqlServer.Management.Smo.Server($listenerName);

$primaryReplicaName = $sqlListener.AvailabilityGroups.PrimaryReplicaServerName;
于 2014-11-06T14:54:49.513 に答える
1

クラスター リソース名から所有者名プロパティを使用します。

get-clusterresource -name $AGName |  Select -ExpandProperty OwnerNode

以下は、あるノードから別のノードに SQL エージェントをコピーするために使用する例です。

$Node1 = 'Node1\Instance1'
$Node2 = 'Node2\Instance2'
$AGName = "AG_Name"

$AGPrimary = get-clusterresource -name $AGName |  Select -ExpandProperty OwnerNode  
If ($AGPrimary -eq $env:COMPUTERNAME)
{
Copy-DbaAgentJob -source $Node1 -destination $Node2  
write-host 'Success!'
}
else
{
    Write-Output "No object copying is processed, this is not the primary node."
}
于 2018-09-17T18:54:37.013 に答える