sp_removedbreplication (Transact-SQL)

Applies to: SQL Server Azure SQL Managed Instance

This stored procedure removes all replication objects on the publication database on the Publisher instance of SQL Server or on the subscription database on the Subscriber instance of SQL Server. Execute in the appropriate database, or if the execution is in the context of another database on the same instance, specify the database where the replication objects should be removed. This procedure does not remove objects from other databases, such as the distribution database.

Note

This procedure should be used only if other methods of removing replication objects have failed.

Transact-SQL syntax conventions

Syntax

  
sp_removedbreplication [ [ @dbname = ] 'dbname' ]  
    [ , [ @type = ] type ]   

Arguments

[ @dbname = ] 'dbname' Is the name of the database. dbname is sysname, with a default value of NULL. When NULL, the current database will be used.

[ @type = ] type Is the type of replication for which database objects are being removed. type is nvarchar(5) and can be one of the following values.

Value Description
tran Removes transactional replication publishing objects.
merge Removes merge replication publishing objects.
both (default) Removes all replication publishing objects.

Return Code Values

0 (success) or 1 (failure)

Remarks

sp_removedbreplication is used in all types of replication.

sp_removedbreplication is useful when restoring a replicated database that has no replication objects needing to be restored.

sp_removedbreplication cannot be used against a database that is marked as read-only.

Permissions

Only members of the sysadmin fixed server role can execute sp_removedbreplication.

Examples

A. Remove replication objects, AdventureWorks replica subscription database

-- Remove replication objects from the subscription database on MYSUB.
DECLARE @subscriptionDB AS sysname
SET @subscriptionDB = N'AdventureWorks2022Replica'

-- Remove replication objects from a subscription database (if necessary).
USE master
EXEC sp_removedbreplication @subscriptionDB
GO

B. Remove replication objects, AdventureWorks replica subscription database

-- Remove replication objects from the subscription database on MYSUB.  
DECLARE @subscriptionDB AS sysname  
SET @subscriptionDB = N'AdventureWorksReplica'  
  
-- Remove replication objects from a subscription database (if necessary).  
USE master  
EXEC sp_removedbreplication @subscriptionDB  
GO  
  

See Also

Disable Publishing and Distribution
System Stored Procedures (Transact-SQL)