Partilhar via


Desconectando de uma instância do SQL Server

O fechamento e a desconexão manuais do SQL Server SMO (SQL Management Objects) não são necessários. 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. Para isso, defina a propriedade NonPooledConnection da propriedade ConnectionContext 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.

Pelo fato de a conexão de servidor para um objeto RMO ser mantida pelo objeto ServerConnection, esse objeto também é usado durante a desconexão de uma instância do MicrosoftSQL Server quando você programa usando 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 mais informações, consulte "Como criar um projeto Visual Basic SMO no Visual Studio .NET" ou "Como criar um projeto Visual C# SMO no Visual Studio .NET" nos Manuais Online do SQL Server.

Fechando e desconectando um objeto SMO no Visual Basic

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

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 agrupada definindo a propriedade NonPooledConnection da propriedade de objeto ConnectionContext.

{ 
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();
}

Consulte também

Referência