Connessioni di contesto e connessioni regolari
Si applica a:SQL Server
Se ci si connette a un server remoto, usare sempre connessioni regolari anziché connessioni di contesto. Se è necessario connettersi allo stesso server in cui è in esecuzione la stored procedure o la funzione, utilizzare la connessione di contesto nella maggior parte dei casi. Questo metodo offre vantaggi, ad esempio l'esecuzione nello stesso spazio delle transazioni, e non la necessità di ripetere l'autenticazione.
L'utilizzo della connessione di contesto, inoltre, consente in genere prestazioni migliori e un minore utilizzo delle risorse. La connessione di contesto è una connessione in-process-only, quindi può contattare il server direttamente ignorando il protocollo di rete e i livelli di trasporto per inviare istruzioni Transact-SQL e ricevere risultati. Viene ignorato anche il processo di autenticazione. Nella figura seguente vengono illustrati i componenti principali del provider gestito SqlClient
e il modo in cui i diversi componenti interagiscono tra loro quando si usa una connessione regolare rispetto alla connessione di contesto.
Poiché la connessione di contesto segue un percorso di codice più corto e interessa un numero minore di componenti, è probabile che le richieste e i risultati vengano trasmessi al e dal server più rapidamente che in una connessione normale. I tempi di esecuzione delle query nel server sono uguali per le connessioni normali e di contesto.
In alcuni casi potrebbe essere necessario aprire una connessione regolare separata allo stesso server. Esistono, ad esempio, alcune restrizioni sull'uso della connessione di contesto, descritte in Restrizioni sulle connessioni di contesto e connessioni regolari.
Contenuto correlato
- di connessione del contesto di