Share via


SQL Server のインスタンスからの切断

SQL Server 管理オブジェクト (SMO) オブジェクトを手動で閉じたり切断する処理は必要ありません。接続を開いたり閉じたりする操作は、必要に応じて行われます。

接続のプール

Connect メソッドが呼び出された場合、接続は自動的には解放されません。接続プールに接続を解放するには、Disconnect メソッドを明示的に呼び出す必要があります。また、プールされていない接続を要求することもできます。これを行うには、ServerConnection オブジェクトを参照する ConnectionContext プロパティの NonPooledConnection プロパティを設定します。

RMO の SQL Server のインスタンスからの切断

RMO を使ったプログラミングでサーバー接続を閉じる方法は、SMO とは若干異なります。

RMO オブジェクトでのサーバー接続は ServerConnection オブジェクトによって維持されるため、RMO を使用するプログラムでは Microsoft SQL Server のインスタンスからの切断にもこのオブジェクトが使用されます。ServerConnection オブジェクトを使用して接続を閉じるには、RMO オブジェクトの Disconnect メソッドを呼び出します。接続が閉じられた後は、RMO オブジェクトを使用することはできません。

提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。詳細については、SQL Server オンライン ブックの「Visual Studio .NET で Visual Basic SMO プロジェクトを作成する方法」および「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();
}

関連項目

参照