sp_helppublication (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Renvoie des informations sur une publication. Pour une publication SQL Server, cette procédure stockée est exécutée sur le serveur de publication sur la base de données de publication. Pour une publication Oracle, cette procédure stockée est exécutée sur n'importe quelle base de données du serveur de distribution.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_helppublication_snapshot
    [ @publication = ] N'publication'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Arguments

[ @publication = ] N’publication'

Nom de la composition à afficher. @publication est sysname, avec une valeur par défaut , %qui retourne des informations sur toutes les publications.

[ @publisher = ] N’publisher'

Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL.

Remarque

l’éditeur ne doit pas être spécifié lors de la demande d’informations de publication auprès d’un serveur de publication SQL Server.

Jeu de résultats

Nom de la colonne Type de données Description
pubid int ID de la publication.
name sysname Nom de la publication.
restricted int Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
status tinyint État actuel de la publication.

0 = Inactif.
1 = Actif.
task Utilisé pour la compatibilité descendante.
replication frequency tinyint Type de fréquence de réplication :

0 = Transactionnel
1 = Instantané
synchronization method tinyint Mode de synchronisation :

0 = Programme de copie en bloc natif (utilitaire bcp )
1 = Copie en bloc de caractères
3 = Simultané, ce qui signifie que la copie en bloc native (utilitaire bcp ) est utilisée, mais les tables ne sont pas verrouillées pendant l’instantané
4 = Concurrent_c, ce qui signifie que la copie en bloc de caractères est utilisée, mais que les tables ne sont pas verrouillées pendant l’instantané
description nvarchar(255) Description facultative de la publication.
immediate_sync bit Spécifie si les fichiers de synchronisation sont créés ou recréé chaque fois que l’Agent d’instantané s’exécute.
enabled_for_internet bit Spécifie si les fichiers de synchronisation de la publication sont exposés à Internet, par le biais du protocole FTP (File Transfer Protocol) et d’autres services.
allow_push bit Spécifie si les abonnements push sont autorisés sur la publication.
allow_pull bit Spécifie si les abonnements par extraction sont autorisés sur la publication.
allow_anonymous bit Spécifie si les abonnements anonymes sont autorisés sur la publication.
independent_agent bit Spécifie s’il existe une Agent de distribution autonome pour cette publication.
immediate_sync_ready bit Spécifie si l’Agent d’instantané a généré un instantané prêt à être utilisé par de nouveaux abonnements. Ce paramètre est défini seulement si la publication est configurée de telle sorte qu'un instantané soit toujours disponible pour les abonnements nouveaux ou réinitialisés.
allow_sync_tran bit Indique si les abonnements de mise à jour immédiate sont autorisés pour la publication.
autogen_sync_procs bit Spécifie s’il faut générer automatiquement des procédures stockées pour prendre en charge les abonnements à mise à jour immédiate.
snapshot_jobid binary(16) ID de tâche planifiée
retention int Volume des modifications, en heures, à enregistrer pour la publication donnée.
has subscription bit Spécifie si la publication a un abonnement actif. 1 signifie que la publication a des abonnements actifs et 0 signifie que la publication n’a pas d’abonnements.
allow_queued_tran bit Spécifie si la mise en file d’attente des modifications sur l’Abonné est désactivée jusqu’à ce qu’elles puissent être appliquées sur le serveur de publication. Si 0, les modifications apportées à l’Abonné ne sont pas mises en file d’attente.
snapshot_in_defaultfolder bit Spécifie si les fichiers d’instantané sont stockés dans le dossier par défaut. Si 0, les fichiers d’instantané sont stockés dans l’autre emplacement spécifié par alternate_snapshot_folder. Si 1, les fichiers d’instantané se trouvent dans le dossier par défaut.
alt_snapshot_folder nvarchar(255) Indique l'emplacement du dossier de remplacement pour l'instantané.
pre_snapshot_script nvarchar(255) Spécifie un pointeur vers un emplacement de .sql fichier. L'Agent de distribution exécute le script de pré-instantané avant toute exécution de scripts d'objets répliqués, lors de l'application d'un instantané sur un Abonné.
post_snapshot_script nvarchar(255) Spécifie un pointeur vers un emplacement de .sql fichier. L’Agent de distribution exécutera le script post-instantané après l’application de tous les autres scripts et données d’objet répliqués lors d’une synchronisation initiale.
compress_snapshot bit Spécifie que l’instantané écrit à l’emplacement alt_snapshot_folder doit être compressé au format CAB Microsoft. 0 spécifie que l’instantané n’est pas compressé.
ftp_address sysname Adresse réseau du service FTP du serveur de distribution. Indique l'emplacement à partir duquel l'Agent de distribution ou l'Agent de fusion d'un abonné peut extraire les fichiers d'instantané de la publication.
ftp_port int Numéro de port du service FTP pour le serveur de distribution.
ftp_subdirectory nvarchar(255) Spécifie l’emplacement où les fichiers d’instantanés sont disponibles pour la Agent de distribution ou le Agent de fusion de l’abonné à récupérer si la publication prend en charge la propagation des instantanés à l’aide de FTP.
ftp_login sysname Nom d'utilisateur, utilisé pour la connexion au service FTP.
allow_dts bit Indique que la publication autorise les transformations de données. 0 spécifie que les transformations DTS ne sont pas autorisées.
allow_subscription_copy bit Spécifie si la possibilité de copier les bases de données d’abonnement qui s’abonnent à cette publication est activée. 0 signifie que la copie n’est pas autorisée.
centralized_conflicts bit Spécifie si les enregistrements en conflit sont stockés sur le serveur de publication :

0 = Les enregistrements de conflit sont stockés à la fois sur l’éditeur et sur l’abonné qui a provoqué le conflit.
1 = Les enregistrements de conflit sont stockés sur le serveur de publication.
conflict_retention int Spécifie la durée de rétention des conflits en jours.
conflict_policy int Spécifie la stratégie de résolution de conflits à suivre lorsque l'option d'abonné avec mise à jour en attente est utilisée. Peut prendre l'une des valeurs suivantes :

1 = Publisher gagne le conflit.
2 = L’abonné gagne le conflit.
3 = L’abonnement est réinitialisé.
queue_type Spécifie le type de file d'attente utilisé. Peut prendre l'une des valeurs suivantes :

msmq = Utiliser Microsoft Message Queuing pour stocker des transactions.
sql = Utilisez SQL Server pour stocker les transactions.
Remarque : La prise en charge de Message Queuing est interrompue.
backward_comp_level Niveau de compatibilité de la base de données et peut être l’une des valeurs suivantes :

90 = SQL Server 2005 (9.x)
100 = Microsoft SQL Server 2008 (10.0.x)
publish_to_AD bit Spécifie si la publication est publiée dans Microsoft Active Directory. La valeur indique 1 qu’elle est publiée et qu’elle 0 indique qu’elle n’est pas publiée.
allow_initialize_from_backup bit Indique si les Abonnés peuvent initialiser un abonnement à cette publication à partir d'une sauvegarde plutôt qu'à partir de son instantané initial. 1 signifie que les abonnements peuvent être initialisés à partir d’une sauvegarde, ce 0 qui signifie qu’ils ne peuvent pas. Pour plus d’informations, consultez Initialiser un abonnement transactionnel sans instantané d’abonné transactionnel sans instantané.
replicate_ddl int Précise si la réplication de schéma est prise en charge pour la publication. 1 indique que les instructions DDL (Data Definition Language) exécutées sur le serveur de publication sont répliquées et 0 indique que les instructions DDL ne sont pas répliquées. Pour plus d’informations, consultez Modifier le schéma dans les bases de données de publication.
enabled_for_p2p int Spécifie si la publication peut être utilisée dans une topologie de réplication d’égal à égal. 1 indique que la publication prend en charge la réplication d’égal à égal. Pour plus d’informations, consultez Peer-to-Peer - Réplication transactionnelle.
publish_local_changes_only int Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
enabled_for_het_sub int Spécifie si la publication prend en charge les abonnés non-SQL Server. Une valeur de 1 signifie que les abonnés non-SQL Server sont pris en charge. Une valeur de 0 signifie que seuls les abonnés SQL Server sont pris en charge. Pour plus d’informations, consultez Non-SQL Server Subscribers.
enabled_for_p2p_conflictdetection int Spécifie si l'Agent de distribution détecte des conflits pour une publication activée pour la réplication d'égal à égal. Valeur de 1 signifie que les conflits sont détectés. Pour plus d’informations, consultez Peer-to-Peer - Conflict Detection in Peer-to-Peer Replication.
originator_id int Spécifie un ID pour un nœud dans une topologie d'égal à égal. Cet ID est utilisé pour la détection des conflits si enabled_for_p2p_conflictdetection est défini sur 1. Pour obtenir la liste des ID déjà utilisés, interrogez la table système MSpeer_originatorid_history .
p2p_continue_onconflict int Indique si l'Agent de distribution continue à traiter les modifications lorsqu'un conflit est détecté. Une valeur de 1 signifie que l’agent continue de traiter les modifications.

Attention : nous vous recommandons d’utiliser la valeur par défaut de 0. Lorsque cette option est définie 1sur , l’Agent de distribution tente de converger les données dans la topologie en appliquant la ligne en conflit à partir du nœud qui est l’ID d’origine le plus élevé. Cette méthode ne garantit pas la convergence. Vous devez vous assurer que la topologie est cohérente après la détection d'un conflit. Pour plus d’informations, consultez « Gestion des conflits » dans Peer-to-Peer - Détection des conflits dans la réplication d’égal à égal.
allow_partition_switch int Spécifie si ALTER TABLE...SWITCH les instructions peuvent être exécutées sur la base de données publiée. Pour plus d’informations, consultez Répliquer des tables et des index partitionnés.
replicate_partition_switch int Spécifie si ALTER TABLE...SWITCH les instructions exécutées sur la base de données publiée doivent être répliquées sur les Abonnés. Cette option est valide uniquement si allow_partition_switch elle est définie sur 1.
enabled_for_p2p_lastwriter_conflictdetection int Spécifie si le Agent de distribution détecte la détection des conflits du dernier enregistreur et les conflits de résolution pour une publication activée pour la réplication d’égal à égal. Valeur de signifie que les derniers conflits d’enregistreur 1 sont détectés.

S’applique à : SQL Server 2019 (15.x) CU 13 et versions ultérieures.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

sp_helppublication est utilisé dans la réplication d’instantané et transactionnelle.

sp_helppublication retourne des informations sur toutes les publications appartenant à l’utilisateur qui exécute cette procédure.

Exemples

DECLARE @myTranPub AS sysname
SET @myTranPub = N'AdvWorksProductTran' 

USE [AdventureWorks2022]
EXEC sp_helppublication @publication = @myTranPub
GO

autorisations

Seuls les membres du rôle serveur fixe sysadmin sur le serveur de publication ou les membres du rôle de base de données fixe db_owner sur la base de données de publication ou les utilisateurs de la liste d’accès à la publication (PAL) peuvent s’exécutersp_helppublication.

Pour un serveur de publication non-SQL Server, seuls les membres du rôle serveur fixe sysadmin sur le serveur de distribution ou les membres du rôle de base de données fixe db_owner sur la base de données de distribution ou les utilisateurs de la pal peuvent s’exécuter sp_helppublication.