Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a:SQL Server
Associa o annulla l'associazione di una sessione ad altre sessioni nella stessa istanza del motore di database di SQL Server. Le sessioni di associazione consentono a due o più sessioni di partecipare alla stessa transazione e condividere blocchi fino a quando non viene emesso un ROLLBACK TRANSACTION o COMMIT TRANSACTION .
Importante
Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Usare invece più set di risultati attivi (MARS) o transazioni distribuite. Per altre informazioni, vedere Uso di MARS (Multiple Active Result Set) in SQL Server Native Client.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_bindsession { 'bind_token' | NULL }
Argomenti
Importante
Gli argomenti per le stored procedure estese devono essere immessi nell'ordine specifico, come descritto nella sezione Sintassi. Se i parametri vengono immessi in ordine non corretto, si verifica un messaggio di errore.
'bind_token'
Token che identifica la transazione ottenuta originariamente tramite sp_getbindtoken o la funzione Open Data Services srv_getbindtoken .
bind_token è varchar(255).
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Osservazioni:
Due sessioni associate condividono esclusivamente la transazione e i blocchi. Ogni sessione mantiene il proprio livello di isolamento e l'impostazione di un nuovo livello di isolamento in una sessione non influisce sul livello di isolamento dell'altra sessione. Ogni sessione rimane identificata dall'account di sicurezza e può accedere solo alle risorse del database a cui viene concessa l'autorizzazione.
sp_bindsession usa un token di associazione per associare due o più sessioni client esistenti. Queste sessioni client devono trovarsi nella stessa istanza del motore di database da cui è stato ottenuto il token di associazione. Una sessione è un client che esegue un comando. Le sessioni di database associate condividono una transazione e uno spazio di blocco.
Un token di associazione ottenuto da un'istanza del motore di database non può essere usato per una sessione client connessa a un'altra istanza, anche per le transazioni DTC. Un token di associazione è valido solo in locale all'interno di ogni istanza e non può essere condiviso tra più istanze. Per associare sessioni client in un'altra istanza del motore di database, è necessario ottenere un token di associazione diverso eseguendo sp_getbindtoken.
sp_bindsession ha esito negativo con un errore se usa un token che non è attivo.
Annullare l'associazione da una sessione usando sp_bindsession senza specificare bind_token o passando NULLbind_token.
Autorizzazioni
È richiesta l'appartenenza al ruolo public .
Esempi
Nell'esempio seguente viene associato alla sessione corrente il token di associazione specificato.
Nota
Il token di associazione illustrato nell'esempio è stato ottenuto eseguendo sp_getbindtoken prima di eseguire sp_bindsession.
USE master;
GO
EXECUTE sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO