Article ID: 243377 - View products that this article applies to.
This article was previously published under Q243377
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 56522 (SQLBUG_70)
When restoring the backup of a database, which is enabled for Transactional and Merge Replication (Sysdatabases.Category = 5), to a non-published database on a different server, the merge replication system tables are not dropped and the user tables on the destination server's database cannot be dropped. If the backup is restored on the same server (different database), then the restore works fine and the replication information is removed.
Also, the restore works fine across servers when the source database is enabled either for Transactional or Merge Replication only (Sysdatabases.Category = 1 OR 4).
To work around this problem, you can either:
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
254561For more information, contact your primary support provider.
(https://support.microsoft.com/kb/254561/ )INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
Steps To Reproduce The Problem
If you try to drop these tables manually from the SQL Enterprise Manager (SEM), you get the following error message:
conflict_<table_name> MSmerge_contents MSmerge_delete_conflicts MSmerge_genhistory MSmerge_replinfo MSmerge_tombstone
However, you can drop these tables using the DROP TABLE syntax from the SQL Query Analyzer.
Error 20515: [SQL-DMO]System tables cannot be altered, dropped or otherwise modified.
If you try to drop the user tables in the destination database, you get this error message:
Contact Microsoft Product Support Services if you need to drop the user tables and are unable to do so.
Server: Msg 3724, Level 16, State 2, Line 1
Cannot drop the table '<table_name>' because it is published for replication.