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

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

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

接続のプール

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

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

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

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

提供されているコード例を使用するには、アプリケーションを作成するプログラミング環境、プログラミング テンプレート、およびプログラミング言語を選択する必要があります。 詳細については、「 Visual Studio .NET で Visual C# SMO プロジェクトを作成する」を参照してください。

Visual Basic で SMO オブジェクトを閉じたり切断する処理を行う方法

このコード例では、オブジェクト プロパティの NonPooledConnection プロパティを設定して、プールされていない接続を要求する方法を 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()

Visual C# で SMO オブジェクトを閉じたり切断する処理を行う方法

このコード例では、オブジェクト プロパティの NonPooledConnection プロパティを設定して、プールされていない接続を要求する方法を 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();  
}  

参照

Server
ServerConnection