Partage via


srv_getbindtoken (API de procédure stockée étendue)

S’applique à : SQL Server

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt l'intégration du CLR.

Obtient un jeton de liaison de la transaction dans la session cliente actuelle qui appelle la procédure stockée étendue.

La procédure stockée étendue peut utiliser ensuite sp_bindsession pour lier toute nouvelle session qu’elle crée sur le même serveur à la transaction existante, afin que la nouvelle session puisse partager le même espace de verrouillage de transaction avec la session cliente qui a appelé la procédure stockée étendue.

Syntaxe

  
int srv_getbindtoken (  
SRV_PROC*  
srvproc  
,  
char*  
bindtoken  
);  

Arguments

srvproc
Pointeur vers la structure SRV_PROC qui est le handle pour une connexion cliente particulière. La structure contient toutes les informations que la bibliothèque d'API de procédure stockée étendue utilise pour gérer les communications et les données entre l'application et le client.

bindtoken
Pointeur vers une mémoire tampon où le jeton de liaison sera copié. Le jeton de liaison est représenté sous la forme d'une chaîne terminée par le caractère NULL. La mémoire tampon que vous spécifiez doit avoir une longueur minimale de 255 octets.

Retours

SUCCEED ou FAIL.

Notes

Pour lier une session de procédure stockée étendue à la session cliente qui l'a appelée pour qu'elles partagent le même espace de verrouillage de transaction

  1. Les appels de procédure stockée étendue srv_getbindtoken pour obtenir le jeton de liaison pour la transaction actuelle dans la session. Le jeton est retourné dans le paramètre bindtoken donné.

  2. La procédure stockée étendue ouvre une ou de nouvelles sessions sur le même serveur. Au sein de cette session, la procédure stockée étendue utilise le jeton de liaison avec sp_bindsession pour lier la nouvelle session à la même transaction. La procédure stockée étendue peut créer plusieurs sessions et lier toutes les sessions à la même transaction.

  3. Une session liée est détachée quand la procédure stockée externe retourne une chaîne vide ou quand sp_bindsession est appelé avec une chaîne vide.

    Remarque

    Une seule session liée peut avoir accès à une connexion partagée à la fois. Si une session exécute une instruction côté serveur ou si elle attend des résultats du serveur, aucune autre session partageant la même connexion liée ne peut accéder au serveur tant que la session active n'a pas fini d'exécuter l'instruction en cours. Si une session essaie d'accéder à la connexion pendant que le serveur est occupé, une erreur est retournée à la session en conflit, qui indique que la connexion est en cours d'utilisation et que la session doit réessayer ultérieurement.

Important

Il est préférable d'examiner avec soin le code source des procédures stockées étendues et de tester les DLL compilées avant de les installer sur un serveur de production. Pour plus d'informations sur l'examen et les tests de sécurité, consultez ce site Web de Microsoft.

Voir aussi

sp_bindsession (Transact-SQL)
sp_getbindtoken (Transact-SQL)