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