logo
SQL2008_Administration

7.3.4. Объект smo.Database

Для того, чтобы выполнить какие-то операции с БД или получить доступ к ее объектам, обычно необходимо получить ссылку на эту базу данных при помощи объекта SMO.Database.

Создание объекта SMO.Database

Чтобы получить ссылку на объект базы данных в SMO чаще всего применяются два способа:

  1. Первый способ — использовать свойство Item коллекции DatabaseCollection, доступ к которой осуществляется при помощи свойства Databases объекта SMO.Server. Например, чтобы обратиться к базе данных DB1 на сервере Server1\Instance2, можно использовать код вида:

Dim oSrv As New Server("Server1\Instance2") Dim oDB As Database oDB = oSrv.Databases.Item("db1")

  1. Второй способ — получить ссылку на объект при помощи идентификатора URN:

Dim oDB As Database oDB = oSrv.GetSmoObject("Server[@Name='Server1\Instance2']/Database[@Name='db1']")

Свойства и методы объекта SMO.Database

Значительная часть свойств объекта SMO.Database предназначена для получения доступа к коллекциям нижестоящих объектов (Tables, Views, Triggers, StoredProcedures и т.п.). Другая часть (к ней относятся свойства DBOLogin и множество свойств, начинающихся на Is...) предназначена для проверки прав текущего пользователя перед выполнением какой-либо операции.

Назначение большинства методов также понятно из их названий. Мы обратим внимание лишь на два метода:

oDB.ExecuteNonQuery("exec SP_CHANGEDBOWNER 'user1'")

Dim oDataSet As DataSet oDataSet = oDB.ExecuteWithResults("Select * from table1") MsgBox(oDataSet.GetXml)

7.4. WMI и SQL Server 2008