Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Disconnecting from an Instance of SQL Server

Topic Status: Some information in this topic is preview and subject to change in future releases. Preview information describes new features or changes to existing features in Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2).

Manually closing and disconnecting SQL Server Management Objects (SMO) objects is not required. Connections are opened and closed as required.

When the Connect method is called, the connection is not automatically released. The Disconnect method must be called explicitly to release the connection to the connection pool. Also, you can request a non-pooled connection. You do this by setting the NonPooledConnection property of the ConnectionContext property that references the ServerConnection object.

Closing server connections when you are programming with RMO works slightly different from SMO.

Because the server connection for an RMO object is maintained by the ServerConnection object, this object is also used when disconnecting from an instance of Microsoft SQL Server when you program by using RMO. To close a connection by using the ServerConnection object, call the Disconnect method of the RMO object. After the connection has been closed, RMO objects cannot be used.

To use any code example that is provided, you will have to choose the programming environment, the programming template, and the programming language in which to create your application. For more information, see "How to: Create a Visual Basic SMO Project in Visual Studio .NET" or "How to: Create a Visual C# SMO Project in Visual Studio .NET" in SQL Server Books Online.

This code example shows how to request a non-pooled connection by setting the NonPooledConnection property of the ConnectionContext object property.

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

This code example shows how to request a non-pooled connection by setting the NonPooledConnection property of the ConnectionContext object property.

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

Reference

Other Resources

Community Additions

ADD
Show:
© 2015 Microsoft