Powershell で現在のプライマリ レプリカのマシンを取得したいと考えています。それを行うコマンドレットはありますか?
私はsqlpsモジュールをロードし、find all sqlコマンドをダンプしましたが、誰もこれに関連していないようです..
ありがとう
Powershell で現在のプライマリ レプリカのマシンを取得したいと考えています。それを行うコマンドレットはありますか?
私はsqlpsモジュールをロードし、find all sqlコマンドをダンプしましたが、誰もこれに関連していないようです..
ありがとう
リスナーに接続してプライマリ レプリカを取得することもできます。
$null = [Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo");
$listenerName = "YourListenerName";
$sqlListener = New-Object Microsoft.SqlServer.Management.Smo.Server($listenerName);
$primaryReplicaName = $sqlListener.AvailabilityGroups.PrimaryReplicaServerName;
クラスター リソース名から所有者名プロパティを使用します。
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."
}