Impossible de supprimer correctement les tables système pour la réplication de fusion.
Cette erreur est générée dans sp_MSdrop_mergesystables. sp_MSdrop_mergesystables est appelé lorsque vous tentez de supprimer une réplication de fusion à partir d'une base de données ou d'une instance SQL Server complète. Cette erreur indique qu'une ou plusieurs tables système de fusion n'ont pas pu être supprimées pour différentes raisons.
Pour résoudre ce problème, essayez les opérations suivantes :
Vérifiez si des erreurs sont survenues avant celle-ci et corrigez-les.
Exécutez le Générateur de profils SQL dans l'instance SQL Server appropriée afin de capturer les événements « Erreurs et avertissements ». Ces erreurs non visibles par ailleurs sont parfois capturées.
Utilisez DBCC CHECKDB pour vérifier l'intégrité de la base de données avec les tables système de réplication de fusion.
Réessayez la suppression quand aucun utilisateur n'est connecté à la base de données.
Supprimez la réplication élément par élément.
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.2008.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.SystemTablesForMergeReplicationCouldNotBeDroppedSuccessfullyRule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2008.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<PublisherName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</PublisherName>
<EventNumber>20007</EventNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.SystemTablesForMergeReplicationCouldNotBeDroppedSuccessfullyRule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>