Partilhar via


Desconectando de uma instância do SQL Server

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Banco de Dados SQL no Microsoft Fabric

Não é necessário fechar e desconectar manualmente objetos do SQL Server Management Objects (SMO). As conexões são abertas e fechadas, conforme o necessário.

Pool de conexões

Quando o método Connect é chamado, a conexão não é liberada automaticamente. O método Disconnect deve ser chamado explicitamente para liberar a conexão com o pool de conexões. Você também pode solicitar uma conexão não inserida no pool. Você faz isso definindo a propriedade NonPooledConnection da ConnectionContext propriedade que faz referência ao objeto ServerConnection .

Desconectando de uma instância do SQL Server para RMO

O fechamento de conexões de servidor quando você está programando com RMO é um pouco diferente do que quando a programação é feita com SMO.

Como a conexão do servidor para um objeto RMO é mantida pelo objeto ServerConnection , esse objeto também é usado ao se desconectar de uma instância do Microsoft SQL Server quando você programa usando o RMO. Para fechar uma conexão usando o objeto ServerConnection , chame o método Disconnect do objeto RMO. Depois que a conexão tiver sido fechada, os objetos RMO não poderão ser usados.

Exemplo

Para usar qualquer exemplo de código fornecido, será necessário escolher o ambiente de programação, o modelo de programação e a linguagem de programação para criar o aplicativo. Para obter mais informações, consulte Criar um projeto SMO do Visual C# no Visual Studio .NET.

Fechando e desconectando um objeto SMO no Visual Basic

Este exemplo de código mostra como solicitar uma conexão não em pool definindo a propriedade NonPooledConnection da ConnectionContext propriedade do objeto.

Dim srv As Server
srv = New Server
'Disable automatic disconnection.
srv.ConnectionContext.AutoDisconnectMode = AutoDisconnectMode.NoAutoDisconnect
'Connect to the local, default instance of SQL Server.
srv.ConnectionContext.Connect()
'The actual connection is made when a property is retrieved.
Console.WriteLine(srv.Information.Version)
'Disconnect explicitly.
srv.ConnectionContext.Disconnect()

Fechando e desconectando um objeto SMO no Visual C#

Este exemplo de código mostra como solicitar uma conexão não em pool definindo a propriedade NonPooledConnection da ConnectionContext propriedade do objeto.

{   
Server srv;   
srv = new Server();   
//Disable automatic disconnection.   
srv.ConnectionContext.AutoDisconnectMode = AutoDisconnectMode.NoAutoDisconnect;   
//Connect to the local, default instance of SQL Server.   
srv.ConnectionContext.Connect();   
//The actual connection is made when a property is retrieved.   
Console.WriteLine(srv.Information.Version);   
//Disconnect explicitly.   
srv.ConnectionContext.Disconnect();  
}  

Confira também

Server
Conexão do servidor