The system tables for merge replication could not be dropped successfully.
This error is raised in sp_MSdrop_mergesystables. sp_MSdrop_mergesystables is called when you try to remove merge replication from a database or from an entire instance of SQL Server. The error indicates that one or more of the merge system tables could not be dropped for any number of reasons.
To resolve the issue try the following:
Check for and then troubleshoot any previous errors raised before this error.
Run SQL Profiler against the relevant SQL Server instance to capture "Errors and Warnings" events. Sometimes this will capture errors that are otherwise not seen.
Use DBCC CHECKDB to verify the integrity of the database with the merge replication system tables.
Try the removal process again when no users are in the database.
Manually remove replication piece by piece.
How to: Disable Publishing and Distribution (Replication Transact-SQL Programming)
Name | Description | Default Value |
Enabled | Enables or disables the workflow. | No |
Priority | Defines Alert Priority. | 2 |
Severity | Defines Alert Severity. | 2 |
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | False | ||
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="false" 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>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>