Failover forzato

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

Aprire la console SQLPS ed eseguire il failover nella replica di disponibilità di destinazione in modo che quest'ultima diventi la nuova replica primaria del gruppo di disponibilità. In questa attività viene usato il parametro AllowDataLoss.

Element properties:

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

Source Code:

<ConsoleTask ID="Microsoft.SQLServer.2014.AlwaysOn.ForcedFailoverForAvailabilityReplica" Accessibility="Internal" Target="AlwaysOnDisc!Microsoft.SQLServer.2014.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.2014.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>