Поделиться через


Отсоединение от экземпляра SQL Server

Закрытие и отсоединение управляющих объектов SQL Server (SMO) вручную не требуется. Соединения открываются и закрываются по мере необходимости.

Организация пулов соединений

Соединение не освобождается автоматически при вызове метода Connect. Чтобы освободить соединение обратно в пул, необходимо явно вызвать метод Disconnect. Можно также запросить соединение вне пула. Это делается путем установки свойства NonPooledConnection свойства ConnectionContext, которое ссылается на объект ServerConnection.

Отсоединение от экземпляра SQL Server для RMO

При программировании с использованием RMO закрытие серверных соединений немного отличается от закрытия при использовании SMO.

Поскольку серверное соединение для объекта RMO обслуживается объектом ServerConnection, этот объект также используется при отсоединении от экземпляра MicrosoftSQL Server при программировании с помощью RMO. Чтобы закрыть соединение с использованием объекта ServerConnection, вызовите метод Disconnect объекта RMO. После закрытия соединения объекты RMO использовать нельзя.

Примеры

Чтобы использовать какой-либо из представленных примеров кода, необходимо выбрать среду, шаблон и язык программирования, с помощью которых будет создаваться приложение. Дополнительные сведения см. в разделе «Как создать проект Visual Basic SMO в Visual Studio .NET» или «Как создать проект Visual C# SMO в Visual Studio .NET» в электронной документации по SQL Server.

Закрытие и отсоединение объекта SMO в Visual Basic .NET

Этот пример кода показывает, как запросить соединение вне пула, установив свойство 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()

См. также

Справочник