Condividi tramite


Disconnessione da un'istanza di SQL Server

Non è richiesta la chiusura e la disconnessione manuale degli oggetti SMO (SQL Server Management Objects). 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 al server per un oggetto RMO viene gestita dall'oggetto ServerConnection, questo oggetto viene utilizzato anche in caso di disconnessione da un'istanza di Microsoft SQL Server quando si 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 utilizzare 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.

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

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

Riferimento