sp_changedistributiondb (Transact-SQL)

APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Changes the properties of the distribution database. This stored procedure is executed at the Distributor on any database.

Topic link icon Transact-SQL Syntax Conventions


sp_changedistributiondb [ @database= ] 'database'   
    [ , [ @property= ] 'property' ]   
    [ , [ @value= ] 'value' ]  


[ @database = ] 'database' Is the name of the distribution database. database is sysname, with no default.

[ @property = ] 'property' Is the property to change for the given database. property is sysname, and can be one of these values.

Value Description
history_retention History table retention period.
max_distretention Maximum distribution retention period.
min_distretention Minimum distribution retention period.
NULL (default) All available property values are printed.

[ @value = ] 'value' Is the new value for the specified property. value is nvarchar(255), with a default of NULL.

Return Code Values

0 (success) or 1 (failure)


sp_changedistributiondb is used in all types of replication.


DECLARE @distributionDB AS sysname;
SET @distributionDB = N'distribution';

-- Change the history retention period to 24 hours and the
-- maximum retention period to 48 hours.  
USE distribution
EXEC sp_changedistributiondb @distributionDB, N'history_retention', 24
EXEC sp_changedistributiondb @distributionDB, N'max_distretention', 48


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

See Also

View and Modify Distributor and Publisher Properties
sp_adddistributiondb (Transact-SQL)
sp_dropdistributiondb (Transact-SQL)
sp_helpdistributiondb (Transact-SQL)
Replication Stored Procedures (Transact-SQL)