MSSQL 2014: se ha cambiado el rol de réplica de base de datos

Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplicaRoleChanged (Rule)

Este error se produce cuando la réplica de base de datos cambia de rol.

Knowledge Base article:

Resumen

Este error se produce cuando la réplica de base de datos cambia de rol.

Este evento está deshabilitado en SQL Server de forma predeterminada. Se puede habilitar con el siguiente TSQL: sp_altermessage 1480, 'with_log', 'true'

Causas

Compruebe la razón en la descripción del evento.

Soluciones

No se necesita acción del usuario. Para obtener más información, vea el registro de errores SQL Server, la consola de administración de Clústeres de conmutación por error de Windows Server (WSFC) o el registro de WSFC.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

Habilita o deshabilita el flujo de trabajo.

Prioridad

Define la prioridad de la alerta.

1

Gravedad

Define la gravedad de la alerta.

1

Element properties:

TargetMicrosoft.SQLServer.2014.AlwaysOn.DatabaseReplica
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2014: se ha cambiado el rol de réplica de base de datos
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplicaRoleChanged" Target="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplica" Enabled="true" ConfirmDelivery="true" Remotable="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplica"]/PerformanceObjectName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!--Default instance with SQLServer object name-->
<Value Type="String">MS$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplica"]/PerformanceObjectName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1480</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplica"]/AvailabilityDatabaseName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.AlwaysOn.DatabaseReplicaRoleChanged.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>