Disconnessione da un'istanza di SQL Server
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL di Azure Synapse Analytics in Microsoft Fabric
Non è necessario chiudere e disconnettere manualmente gli 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. Il metodo Disconnect deve essere chiamato in modo esplicito per rilasciare la connessione al pool di connessioni. È inoltre possibile richiedere una connessione non in pool. A tale scopo, impostare la proprietà NonPooledConnection della ConnectionContext proprietà 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 ServerConnection , questo oggetto viene utilizzato anche quando si disconnette da un'istanza di Microsoft SQL Server quando si esegue il programma tramite RMO. Per chiudere una connessione utilizzando 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 altre informazioni, vedere Creare un progetto SMO di Visual C# in Visual Studio .NET.
Chiusura e disconnessione di un oggetto SMO in Visual Basic
Questo esempio di codice illustra 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#
Questo esempio di codice illustra 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();
}