Conexões de contexto vs. conexões regulares
Aplica-se a:SQL Server
Se você estiver se conectando a um servidor remoto, sempre use conexões regulares em vez de conexões de contexto. Se você precisar se conectar ao mesmo servidor no qual o procedimento armazenado ou a função está sendo executada, use a conexão de contexto na maioria dos casos. Esse método tem benefícios, como ser executado no mesmo espaço de transação e não precisar autenticar novamente.
Além disso, o uso da conexão de contexto normalmente resulta em melhor desempenho e menos uso de recursos. A conexão de contexto é uma conexão somente em processo, portanto, ele pode entrar em contato com o servidor diretamente ignorando o protocolo de rede e as camadas de transporte para enviar instruções Transact-SQL e receber resultados. O processo de autenticação também é ignorado. A figura a seguir mostra os componentes principais do provedor gerenciado SqlClient
e como os diferentes componentes interagem entre si ao usar uma conexão regular versus a conexão de contexto.
A conexão de contexto segue um caminho de código mais curto e envolve menos componentes, portanto, você pode esperar que as solicitações e os resultados cheguem de e para o servidor mais rapidamente do que em uma conexão regular. O tempo de execução da consulta no servidor é o mesmo para conexões regulares e de contexto.
Há alguns casos em que você pode precisar abrir uma conexão regular separada para o mesmo servidor. Por exemplo, há certas restrições no uso da conexão de contexto, descritas em Restrições em conexões de contexto e conexões regulares.