BUG: Previously Replicated Stored Procedure Causes Access Violation (308355)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q308355
BUG #: 100882 (SQLBUG_70)

SYMPTOMS

If you run a stored procedure that SQL Server previously replicated, a server-side access violation (AV) may occur. The short stack dump is:
0x006bea52 Module(sqlservr+2bea52) (ReplicateProcExecution+c4)
0x0053217d Module(sqlservr+13217d) (CMsqlExecContext::SetupRepl+3f)
0x0040ef1a Module(sqlservr+ef1a) (CMsqlExecContext::Execute+14f)
0x0040e847 Module(sqlservr+e847) (CSQLSource::Execute+232)
0x0046225f Module(sqlservr+6225f) (CStmtExec::XretLocalExec+127)
0x0046211e Module(sqlservr+6211e) (CStmtExec::XretExecute+253)
0x0040f487 Module(sqlservr+f487) (CMsqlExecContext::ExecuteStmts+11b)
0x0040ef35 Module(sqlservr+ef35) (CMsqlExecContext::Execute+16b)

CAUSE

The exception occurs if SQL Server previously restored the database to which the stored procedure belongs from a database backup in which SQL Server published the stored procedure for replication.

SQL Server uses the sp_removedbreplication stored procedure to remove all replication objects from a database without updating data at the distributor. However, use of the sp_removedbreplication stored procedure does not clean the replication information of a replicated stored procedure when you restore the database to a different server.

WORKAROUND

To work around this problem, drop and then re-create the stored procedure on the destination server after you restore the database backup.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0.

Modification Type:MajorLast Reviewed:9/4/2002
Keywords:kbbug KB308355