Basculement forcé

Microsoft.SQLServer.2012.AlwaysOn.ForcedFailoverForAvailabilityReplica (ConsoleTask)

Ouvrez la console SQLPS et basculez vers le réplica de disponibilité cible qui fera de ce réplica le nouveau réplica principal du groupe de disponibilité. Dans cette tâche, le paramètre - AllowDataLoss est utilisé.

Element properties:

TargetMicrosoft.SQLServer.2012.AlwaysOn.AvailabilityReplica
Applicationsqlps.exe
WorkingDirectory
isRequireOutputFalse
AccessibilityInternal
EnabledTrue

Source Code:

<ConsoleTask ID="Microsoft.SQLServer.2012.AlwaysOn.ForcedFailoverForAvailabilityReplica" Accessibility="Internal" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplica" RequireOutput="false" Category="MonitoringObject">
<Application>sqlps.exe</Application>
<Parameters>
<Parameter>-NoExit</Parameter>
<Parameter>"&amp;{ New-Variable -Name replicaName -Value ([regex]::Replace('$Target/Property[Type="System!System.Entity"]/DisplayName$', '\\', '%5C')); function p{ param($v) if ($v -ilike '*\*') { return $v } else { return '{0}\DEFAULT' -f $v } }; New-Variable -Name rp -Value ('{0}' -f (p(\"$Target/Property[Type="System!System.Entity"]/DisplayName$\"))); New-Variable -Name ag -Value (\"$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$\"); cd SQL\$rp\AvailabilityGroups\$ag\AvailabilityReplicas\$replicaName\; New-Variable -Name avg -Value (Get-Item ..\..\..\$ag); try{ Switch-SqlAvailabilityGroup -InputObject $avg -AllowDataLoss -Confirm; } catch { Write-Host -ForegroundColor Red $_.Exception.Message; } Write-Host "Press any key to exit..."; $key=[Console]::ReadKey($true); Exit }"</Parameter>
</Parameters>
<WorkingDirectory/>
</ConsoleTask>