Trennen der Verbindung zu einer Instanz von SQL Server
Das manuelle Schließen und Trennen der Verbindung von SQL Server Management Objects (SMO) ist nicht erforderlich. Verbindungen werden bei Bedarf hergestellt und geschlossen.
Verbindungspooling
Wenn die Connect-Methode aufgerufen wird, wird die Verbindung nicht automatisch freigegeben. Die Disconnect-Methode muss explizit aufgerufen werden, um die Verbindung zum Verbindungspool freizugeben. Sie können auch eine nicht in einem Pool enthaltene Verbindung anfordern. Hierfür wird die NonPooledConnection-Eigenschaft der ConnectionContext-Eigenschaft, die auf das ServerConnection-Objekt verweist, festgelegt.
Trennen der Verbindung zu einer Instanz von SQL Server für RMO
Das Schließen von Serververbindungen beim Programmieren mit RMO funktioniert etwas anders als mit SMO.
Da die Serververbindung für ein RMO-Objekt vom ServerConnection-Objekt aufrechterhalten wird, wird dieses Objekt auch zum Trennen der Verbindung von einer Instanz von MicrosoftSQL Server verwendet, wenn das Programmieren mit RMO erfolgt. Um mit dem ServerConnection-Objekt eine Verbindung zu schließen, rufen Sie die Disconnect-Methode des RMO-Objekts auf. Nachdem die Verbindung geschlossen wurde, können keine RMO-Objekte verwendet werden.
Beispiel
Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Vorgehensweise: Erstellen eines Visual Basic SMO-Projekts in Visual Studio .NET" oder "Vorgehensweise: Erstellen eines Visual C# SMO-Projekts in Visual Studio .NET".
Schließen und Trennen der Verbindung eines SMO-Objekts in Visual Basic
In diesem Codebeispiel wird gezeigt, wie Sie eine nicht in einem Pool enthaltene Verbindung anfordern, indem Sie die NonPooledConnection-Eigenschaft der ConnectionContext-Objekteigenschaft festlegen.
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()
Schließen und Trennen der Verbindung eines SMO-Objekts in Visual C#
In diesem Codebeispiel wird gezeigt, wie Sie eine nicht in einem Pool enthaltene Verbindung anfordern, indem Sie die NonPooledConnection-Eigenschaft der ConnectionContext-Objekteigenschaft festlegen.
{
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();
}