SQL Server 인스턴스에서 연결 끊기
수동으로 SMO(SQL Server Management Objects) 개체를 닫고 연결을 끊을 필요는 없습니다. 필요에 따라 연결이 열리고 닫힙니다.
연결 풀링
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();
}