Partager via


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

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et modifiez dès que possible 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.

Valeurs retournées

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. La procédure stockée étendue appelle svr_getbindtoken pour obtenir le jeton de liaison pour la transaction en cours 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 lorsque la procédure stockée externe retourne une chaîne vide ou lorsque sp_bindsession est appelé avec une chaîne vide.

    Notes

    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.

Remarque relative à la sécuritéRemarque relative à la sécurité

Vous devez examiner avec soin le code source des procédures stockées étendues et 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 (en anglais).