Déconnexion d'une instance de SQL Server
Il n'est pas nécessaire de fermer et de déconnecter manuellement des objets SMO (SQL Server Management Objects). Les connexions sont ouvertes et fermées en fonction des besoins.
Regroupement de connexions
Lorsque la méthode Connect est appelée, la connexion n'est pas automatiquement libérée. La méthode Disconnect doit être appelée explicitement pour libérer la connexion au pool de connexions. Vous pouvez également demander une connexion non regroupée. Pour ce faire, vous définissez la propriété NonPooledConnection de la propriété ConnectionContext qui fait référence à l'objet ServerConnection.
Déconnexion d'une instance de SQL Server pour des objets RMO
La fermeture des connexions au serveur lorsque vous programmez avec des objets RMO est légèrement différente de la procédure utilisée avec des objets SMO.
La connexion au serveur pour un objet RMO étant maintenue par l'objet ServerConnection, ce dernier est également utilisé lors de la déconnexion d'une instance de MicrosoftSQL Server lorsque vous programmez à l'aide d'objets RMO. Pour fermer une connexion à l'aide de l'objet ServerConnection, appelez la méthode Disconnect de l'objet RMO. Une fois la connexion fermée, les objets RMO ne peuvent pas être utilisés.
Exemple
Pour utiliser un exemple de code fourni, vous devrez sélectionner l'environnement, le modèle et le langage de programmation dans lequel créer votre application. Pour plus d'informations, consultez « Procédure : créer un projet Visual Basic SMO dans Visual Studio .NET » ou « Procédure : créer un projet Visual C# SMO dans Visual Studio .NET » dans la documentation en ligne de SQL Server.
Fermeture et déconnexion d'un objet SMO en Visual Basic
Cet exemple de code indique comment demander une connexion non regroupée en définissant la propriété NonPooledConnection de la propriété de l'objet 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()
Fermeture et déconnexion d'un objet SMO en Visual C#
Cet exemple de code indique comment demander une connexion non regroupée en définissant la propriété NonPooledConnection de la propriété de l'objet 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();
}