Failover forzato

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

Open SQLPS console and fail over to target Availability Replica that will make this replica to the new primary of availability group. In questa attività viene utilizzato il parametro AllowDataLoss

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>