Condividi tramite


Disconnessione da un'istanza di SQL Server

Non è necessario chiudere e disconnettere manualmente gli oggetti SMO (Management Objects) SQL Server. Le connessioni vengono aperte e chiuse in base alle necessità.

Pool di connessioni

Quando viene chiamato il metodo Connect, la connessione non viene rilasciata automaticamente. Per rilasciare la connessione nel pool di connessioni, è necessario che il metodo Disconnect venga richiamato in modo esplicito. È inoltre possibile richiedere una connessione non in pool. Per eseguire questa operazione, impostare la proprietà NonPooledConnection della proprietà ConnectionContext che fa riferimento all'oggetto ServerConnection.

Disconnessione da un'istanza di SQL Server per RMO

La chiusura delle connessioni al server quando si programma con RMO funziona in modo leggermente diverso da SMO.

Poiché la connessione server per un oggetto RMO viene gestita dall'oggetto , questo oggetto viene usato anche quando si disconnette da un'istanza di Microsoft SQL Server quando si esegue il ServerConnection programma tramite RMO. Per chiudere una connessione tramite l'oggetto ServerConnection, chiamare il metodo Disconnect dell'oggetto RMO. Dopo che è stata chiusa la connessione, gli oggetti RMO non possono essere utilizzati.

Esempio

Per usare qualsiasi esempio di codice fornito, è necessario scegliere l'ambiente di programmazione, il modello di programmazione e il linguaggio di programmazione per la creazione dell'applicazione. Per ulteriori informazioni, vedere "Procedura: Creare un progetto Visual Basic SMO in Visual Studio .NET" o "Procedura: Creare un progetto Visual C# SMO in Visual Studio .NET" nella documentazione online di SQL Server.

Chiusura e disconnessione di un oggetto SMO in Visual Basic

In questo esempio di codice viene illustrato come richiedere una connessione non in pool impostando la proprietà NonPooledConnection della proprietà dell'oggetto ConnectionContext.

Chiusura e disconnessione di un oggetto SMO in Visual C#

In questo esempio di codice viene illustrato come richiedere una connessione non in pool impostando la proprietà NonPooledConnection della proprietà dell'oggetto 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();  
}  

Vedere anche

Server
ServerConnection