sp_check_for_sync_trigger (Transact-SQL)sp_check_for_sync_trigger (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Détermine si un déclencheur ou une procédure stockée définis par l'utilisateur sont appelés dans le contexte d'un déclencheur de réplication utilisé pour les abonnements avec mise à jour immédiate.Determines whether a user-defined trigger or stored procedure is being called in the context of a replication trigger that is used for immediate updating subscriptions. Cette procédure stockée est exécutée sur la base de données de publication du serveur de publication ou sur la base de données d’abonnement de l’abonné.This stored procedure is executed at the Publisher on the publication database or at the Subscriber on the subscription database.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_check_for_sync_trigger [ @tabid = ] 'tabid'   
    [ , [ @trigger_op = ] 'trigger_output_parameters' OUTPUT ]  
    [ , [ @fonpublisher = ] fonpublisher ]  

ArgumentsArguments

[@tabid = ] «n»[@tabid = ] 'tabid'
ID d'objet de la table dans laquelle les déclencheurs de mise à jour immédiate sont recherchés.Is the object ID of the table being checked for immediate updating triggers. est de type int , sans valeur par défaut.tabid is int with no default.

sortie de [ @trigger_op = ] 'trigger_output_parameters'[@trigger_op = ] 'trigger_output_parameters' OUTPUT
Spécifie si le paramètre de sortie doit renvoyer le type du déclencheur à partir duquel il est appelé.Specifies if the output parameter is to return the type of trigger it is being called from. trigger_output_parameters est de type char (10) et peut prendre l’une des valeurs suivantes.trigger_output_parameters is char(10) and can be one of these values.

ValueValue DescriptionDescription
CeuxIns Déclencheur INSERT.INSERT trigger
HebdomadaireUpd Déclencheur UPDATE.UPDATE trigger
SupprDel Déclencheur DELETE.DELETE trigger
NULL (par défaut)NULL (default)

[ @fonpublisher = ] fonpublisherSpécifie l’emplacement où la procédure stockée est exécutée.[ @fonpublisher = ] fonpublisher Specifies the location where the stored procedure is executed. fonpublisher est de bits, avec 0 comme valeur par défaut.fonpublisher is bit, with a default value of 0. Si la valeur est 0, l'exécution s'effectue sur l'Abonné et, si la valeur est 1, l'exécution s'effectue sur le serveur de publication.If 0, the execution is at the Subscriber, and if 1, the execution is at the Publisher.

Valeurs des codes de retourReturn Code Values

0 indique que la procédure stockée n'est pas appelée dans le contexte d'un déclencheur de mise à jour immédiate.0 indicates that the stored procedure is not being called within the context of an immediate-updating trigger. 1 indique qu’il est appelé dans le contexte d’un déclencheur de mise à jour immédiate et est le type de déclencheur retourné *@trigger_op* dans.1 indicates that it is being called within the context of an immediate-updating trigger and is the type of trigger being returned in *@trigger_op*.

NotesRemarks

sp_check_for_sync_trigger est utilisé dans la réplication d’instantané et la réplication transactionnelle.sp_check_for_sync_trigger is used in snapshot replication and transactional replication.

sp_check_for_sync_trigger est utilisé pour coordonner la réplication et les déclencheurs définis par l’utilisateur.sp_check_for_sync_trigger is used to coordinate between replication and user-defined triggers. Cette procédure stockée détermine si elle est appelée dans le contexte d'un déclencheur de réplication.This stored procedure determines if it is being called within the context of a replication trigger. Par exemple, vous pouvez appeler la procédure sp_check_for_sync_trigger dans le corps d’un déclencheur défini par l’utilisateur.For example, you can call the procedure sp_check_for_sync_trigger in the body of a user-defined trigger. Si sp_check_for_sync_trigger retourne la valeur 0, le déclencheur défini par l’utilisateur continue le traitement.If sp_check_for_sync_trigger returns 0, the user-defined trigger continues processing. Si sp_check_for_sync_trigger retourne la valeur 1, le déclencheur défini par l’utilisateur se termine.If sp_check_for_sync_trigger returns 1, the user-defined trigger exits. Vous êtes ainsi assuré que le déclencheur défini par l'utilisateur ne s'active pas lorsque le déclencheur de réplication met à jour la table.This ensures that the user-defined trigger does not fire when the replication trigger updates the table.

ExempleExample

L'exemple suivant contient du code que vous pouvez utiliser dans un déclencheur appliqué à une table de l'Abonné.The following example shows code that could be used in a trigger on a Subscriber table.

DECLARE @retcode int, @trigger_op char(10), @table_id int  
SELECT @table_id = object_id('tablename')  
EXEC @retcode = sp_check_for_sync_trigger @table_id, @trigger_op OUTPUT  
IF @retcode = 1  
RETURN  

ExempleExample

Le code peut également être ajouté à un déclencheur sur une table sur le serveur de publication; le code est similaire, mais l’appel à sp_check_for_sync_trigger comprend un paramètre supplémentaire.The code can also be added to a trigger on a table at the Publisher; the code is similar, but the call to sp_check_for_sync_trigger includes an additional parameter.

DECLARE @retcode int, @trigger_op char(10), @table_id int, @fonpublisher int  
SELECT @table_id = object_id('tablename')  
SELECT @fonpublisher = 1  
EXEC @retcode = sp_check_for_sync_trigger @table_id, @trigger_op OUTPUT, @fonpublisher  
IF @retcode = 1  
RETURN  

AutorisationsPermissions

la procédure stockée sp_check_for_sync_trigger peut être exécutée par n’importe quel utilisateur disposant d’autorisations SELECT dans la vue système sys. Objects .sp_check_for_sync_trigger stored procedure can be executed by any user with SELECT permissions in the sys.objects system view.

Voir aussiSee Also

Updatable Subscriptions for Transactional ReplicationUpdatable Subscriptions for Transactional Replication