sp_expired_subscription_cleanup (Transact-SQL)

APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Checks the status of all the subscriptions of every publication and drops those that have expired. This stored procedure is executed at the Publisher on any database or at the Distributor on the distribution database for a non- Microsoft SQL Server Publisher.

Topic link icon Transact-SQL Syntax Conventions


sp_expired_subscription_cleanup [ [ @publisher = ] 'publisher' ]   


[ @publisher = ] 'publisher' Is the name of a non- SQL Server publisher. publication is sysname, with a default value of NULL. You should not specify this parameter for a SQL Server Publisher.

Return Code Values

0 (success) or 1 (failure)


sp_expired_subscription_cleanup is used in all types of replication.

sp_expired_subscription_cleanup is executed by the Expired Subscription Clean Up job to detect and remove expired subscriptions from publication databases every 24 hours. If any of the subscriptions are out-of-date, that is, have not synchronized with the Publisher within the retention period, the publication is declared expired and the traces of the subscription are cleaned up at the Publisher. For more information, see Subscription Expiration and Deactivation.


Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_expired_subscription_cleanup.

See Also

sp_mergesubscription_cleanup (Transact-SQL)
sp_subscription_cleanup (Transact-SQL)
System Stored Procedures (Transact-SQL)