SQL Server のインスタンスからの切断
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
SQL Server 管理オブジェクト (SMO) オブジェクトを手動で閉じて切断する必要はありません。 接続を開いたり閉じたりする操作は、必要に応じて行われます。
接続プール
Connect メソッドが呼び出されると、接続は自動的に解放されません。 接続プールへの接続を解放するには、 Disconnect メソッドを明示的に呼び出す必要があります。 また、プールされていない接続を要求することもできます。 これを行うには、ServerConnection オブジェクトを参照するConnectionContext プロパティの NonPooledConnection プロパティを設定します。
RMO の SQL Server のインスタンスからの切断
RMO を使ったプログラミングでサーバー接続を閉じる方法は、SMO とは若干異なります。
RMO オブジェクトのサーバー接続は ServerConnection オブジェクトによって維持されるため、このオブジェクトは、RMO を使用してプログラムを実行するときに Microsoft SQL Server のインスタンスから切断するときにも使用されます。 ServerConnection オブジェクトを使用して接続を閉じるには、RMO オブジェクトの Disconnect メソッドを呼び出します。 接続が閉じられた後は、RMO オブジェクトを使用することはできません。
例
提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual C# SMO プロジェクトを作成するを参照してください。
Visual Basic で SMO オブジェクトを閉じたり切断する処理を行う方法
このコード例では、ConnectionContext オブジェクト プロパティの NonPooledConnection プロパティを設定して、プールされていない接続を要求する方法を示します。
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()
Visual C# で SMO オブジェクトを閉じたり切断する処理を行う方法
このコード例では、ConnectionContext オブジェクト プロパティの NonPooledConnection プロパティを設定して、プールされていない接続を要求する方法を示します。
{
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();
}