Partilhar via


Conexão de contexto

Aplica-se a:SQL Server

O problema do acesso interno aos dados é um cenário bastante comum. Ou seja, você deseja acessar o mesmo servidor no qual seu procedimento armazenado ou função CLR (Common Language Runtime) está sendo executado. Uma opção é criar uma conexão usando System.Data.SqlClient.SqlConnection, especificar uma cadeia de conexão que aponte para o servidor local e abrir a conexão. Este método requer a especificação de credenciais para iniciar sessão. A conexão está em uma sessão de banco de dados diferente do procedimento armazenado ou função, pode ter opções de SET diferentes, está em uma transação separada, não vê suas tabelas temporárias e assim por diante.

Se o procedimento armazenado gerenciado ou o código de função estiver sendo executado no processo do SQL Server, é porque alguém se conectou a esse servidor e executou uma instrução SQL para invocá-lo. Você provavelmente deseja que o procedimento armazenado ou a função seja executada no contexto dessa conexão, juntamente com sua transação, opções de SET e assim por diante. Isso é chamado de conexão de contexto.

A conexão de contexto permite executar instruções Transact-SQL no mesmo contexto em que seu código foi invocado em primeiro lugar. Para obter a conexão de contexto, você deve usar a palavra-chave da cadeia de conexão "conexão de contexto", como no exemplo a seguir.

using(SqlConnection connection = new SqlConnection("context connection=true"))
{
    connection.Open();
    // Use the connection
}

Nesta secção

Artigo Descrição
Conexões de contexto vs. conexões regulares Descreve as diferenças entre conexões regulares e de contexto.
Restrições em conexões de contexto e conexões regulares Descreve as restrições em conexões regulares e de contexto.