断开与 SQL Server 实例的连接

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Microsoft Fabric SQL 数据库

不需要手动关闭和断开 SQL Server 管理对象(SMO)对象。 系统会根据需要打开和关闭连接。

连接池

调用 Connect 方法时,不会自动释放连接。 必须显式调用 Disconnect 方法才能释放与连接池的连接。 您还可以请求不加入连接池的连接。 为此,请设置引用 ServerConnection 对象的属性的 ConnectionContext NonPooledConnection 属性。

断开 RMO 的 SQL Server 实例连接

在使用 RMO 进行编程时,关闭服务器连接的操作过程与使用 SMO 时略有不同。

由于 RMO 对象的服务器连接由 ServerConnection 对象维护,因此在使用 RMO 编程时,也会在与 Microsoft SQL Server 实例断开连接时使用此对象。 若要使用 ServerConnection 对象关闭连接,请调用 RMO 对象的 Disconnect 方法。 在关闭连接之后,无法再使用 RMO 对象。

示例

若要使用所提供的任何代码示例,您必须选择创建应用程序所需的编程环境、编程模板和编程语言。 有关详细信息,请参阅 在 Visual Studio .NET 中创建 Visual C# SMO 项目。

在 Visual Basic 中关闭和断开 SMO 对象

此代码示例演示如何通过设置对象属性的 ConnectionContext NonPooledConnection 属性来请求非共用连接。

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

在 Visual C# 中关闭和断开 SMO 对象

此代码示例演示如何通过设置对象属性的 ConnectionContext NonPooledConnection 属性来请求非共用连接。

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

另请参阅

Server
ServerConnection