다음을 통해 공유


SQL Server 인스턴스에서 연결 끊기

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

수동으로 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 개체를 사용할 수 없습니다.

제공된 코드 예제를 사용하려면 프로그래밍 환경, 프로그래밍 템플릿 및 애플리케이션을 만들 프로그래밍 언어를 선택해야 합니다. 자세한 내용은 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