srv_getbindtoken (API delle stored procedure estese)

Nota importanteImportante

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Non utilizzare questa caratteristica in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. Utilizzare invece la funzionalità di integrazione con CLR.

Ottiene un token di associazione della transazione nella sessione client corrente che richiama la stored procedure estesa.

La stored procedure estesa può quindi utilizzare sp_bindsession per associare qualsiasi nuova sessione creata sullo stesso server alla transazione esistente in modo che la nuova sessione possa condividere lo stesso spazio di blocco della transazione con la sessione client che ha richiamato la stored procedure estesa.

Sintassi


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

Argomenti

  • srvproc
    Puntatore alla struttura SRV_PROC che rappresenta l'handle di una determinata connessione client. La struttura contiene tutte le informazioni utilizzate dalla libreria dell'API della stored procedure estesa per gestire le comunicazioni e i dati tra l'applicazione e il client.

  • bindtoken
    Puntatore a un buffer in cui verrà copiato il token di associazione. Il token di associazione viene rappresentato come stringa con terminazioni Null. Il buffer specificato deve essere lungo almeno 255 byte.

Valori restituiti

SUCCEED o FAIL.

Osservazioni

Per associare una sessione della stored procedure estesa alla sessione client che l'ha chiamata perché condividano lo stesso spazio di blocco della transazione

  1. La stored procedure estesa chiama svr_getbindtoken per ottenere il token di associazione per la transazione corrente nella sessione. Il token viene restituito nel parametro bindtoken specificato.

  2. La stored procedure estesa apre nuove sessioni sullo stesso server. Nella sessione la stored procedure estesa utilizza il token di associazione con sp_bindsession per associare la nuova sessione alla stessa transazione. La stored procedure estesa può creare più sessioni e può associare tutte le sessioni alla stessa transazione.

  3. L'associazione di una sessione viene annullata quando viene restituita la stored procedure esterna o quando sp_bindsession viene chiamata con una stringa vuota.

    [!NOTA]

    A una connessione condivisa può accedere solo una sessione associata per volta. Se una sessione esegue un'istruzione nel server o è in attesa di risultati dal server, nessun'altra sessione che condivide la stessa connessione associata può accedere al server fino a quando la sessione corrente non completa l'esecuzione dell'istruzione corrente. Se una sessione tenta di accedere alla connessione mentre il server è occupato, nella sessione in conflitto viene restituito un errore che indica che la connessione è in uso e che la sessione dovrà eseguire un nuovo tentativo in seguito.

Nota sulla protezioneNota sulla protezione

È necessario esaminare con attenzione il codice sorgente delle stored procedure estese e testare le DLL compilate prima di installarle in un server di produzione. Per informazioni sui test e sull'analisi di protezione, visitare questo sito Web Microsoft.