MSSQL 2014: non è stato possibile recuperare il database a causa di risultati delle transazioni non risolti

Microsoft.SQLServer.2014.Could_not_recover_database_due_to_unresolved_transaction_outcomes_1_5_Rule (Rule)

Il processo di recupero ha rilevato transazioni in sospeso per il database specificato. Queste transazioni sono transazioni distribuite che utilizzano Microsoft Distributed Transaction Coordinator (MSDTC) oppure transazioni tra database a istanza singola. Le informazioni disponibili non sono sufficienti perché il processo di recupero possa eseguire il commit o il rollback di una o più di queste transazioni.

Knowledge Base article:

Riepilogo

Il processo di recupero ha rilevato transazioni in sospeso per il database specificato. Queste transazioni sono transazioni distribuite che utilizzano Microsoft Distributed Transaction Coordinator (MSDTC) oppure transazioni tra database a istanza singola. Le informazioni disponibili non sono sufficienti perché il processo di recupero possa eseguire il commit o il rollback di una o più di queste transazioni.

Soluzioni

Eseguire il ripristino da un backup noto e valido.

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

 

Genera avvisi

 

Priorità

 

1

Gravità

 

2

Element properties:

TargetMicrosoft.SQLServer.2014.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID3431
Event Source$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2014: non è stato possibile recuperare il database a causa di risultati delle transazioni non risolti
{0}
Event LogApplication
CommentMom2014ID='{3DAD525E-5863-409C-BC77-5E467282D50F}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2014.Could_not_recover_database_due_to_unresolved_transaction_outcomes_1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{3DAD525E-5863-409C-BC77-5E467282D50F}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>3431</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.Could_not_recover_database_due_to_unresolved_transaction_outcomes_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>