Procédure : afficher et modifier les propriétés de publications (programmation Transact-SQL de la réplication)
Les publications peuvent être modifiées et leurs propriétés retournées par programme à l'aide de procédures stockées de réplication. Les procédures stockées que vous utilisez dépendent du type de publication.
Pour afficher les propriétés d'une publication transactionnelle ou de capture instantanée
- Exécutez sp_helppublication, en spécifiant le nom de la publication pour le paramètre @publication. Si vous ne spécifiez pas ce paramètre, les informations sur toutes les publications sur le serveur de publication sont retournées.
Pour modifier les propriétés d'une publication transactionnelle ou de capture instantanée
Exécutez sp_changepublication, en spécifiant la propriété de publication à modifier dans le paramètre @property et la nouvelle valeur de cette propriété dans le paramètre @value.
Notes
Si la modification nécessite la génération d'une nouvelle capture instantanée, vous devez également spécifier la valeur 1 pour @force_invalidate_snapshot et si la modification nécessite la réinitialisation des Abonnés, vous devez spécifier la valeur 1 pour @force_reinit_subscription. Pour plus d'informations sur les propriétés qui, une fois modifiées, nécessitent une nouvelle capture instantanée ou réinitialisation, consultez Modification des propriétés des publications et des articles.
Pour afficher les propriétés d'une publication de fusion
- Exécutez sp_helpmergepublication, en spécifiant le nom de la publication pour le paramètre @publication. Si vous ne spécifiez pas ce paramètre, les informations sur toutes les publications sur le serveur de publication sont retournées.
Pour modifier les propriétés d'une publication de fusion
Exécutez sp_changemergepublication, en spécifiant la propriété de publication à modifier dans le paramètre @property et la nouvelle valeur de cette propriété dans le paramètre @value.
Notes
Si la modification nécessite la génération d'une nouvelle capture instantanée, vous devez également spécifier la valeur 1 pour @force_invalidate_snapshot et si la modification nécessite la réinitialisation des Abonnés, vous devez spécifier la valeur 1 pour @force_reinit_subscription. Pour plus d'informations sur les propriétés qui, une fois modifiées, nécessitent une nouvelle capture instantanée ou réinitialisation, consultez Modification des propriétés des publications et des articles.
Pour afficher les propriétés d'une capture instantanée
- Exécutez sp_helppublication_snapshot, en spécifiant le nom de la publication pour le paramètre @publication.
Pour modifier les propriétés d'une capture instantanée
- Exécutez sp_changepublication_snapshot, en spécifiant une ou plusieurs des nouvelles propriétés de capture instantanée pour les paramètres de capture instantanée appropriés.
Exemple
Cet exemple de réplication transactionnelle retourne les propriétés de la publication.
DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran'
USE [AdventureWorks2008R2]
EXEC sp_helppublication @publication = @myTranPub
GO
Cet exemple de réplication transactionnelle désactive la réplication du schéma pour la publication.
DECLARE @publication AS sysname
SET @publication = N'AdvWorksProductTran'
-- Turn off DDL replication for the transactional publication.
USE [AdventureWorks2008R2]
EXEC sp_changepublication
@publication = @publication,
@property = N'replicate_ddl',
@value = 0
GO
Cet exemple de réplication de fusion retourne les propriétés de la publication.
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2008R2]
EXEC sp_helpmergepublication @publication = @publication;
GO
Cet exemple de réplication de fusion désactive la réplication du schéma pour la publication.
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
-- Disable DDL replication for the publication.
USE [AdventureWorks2008R2]
EXEC sp_changemergepublication
@publication = @publication,
@property = N'replicate_ddl',
@value = 0,
@force_invalidate_snapshot = 0,
@force_reinit_subscription = 0;
GO