Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
72
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

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...) предназначена для проверки прав текущего пользователя перед выполнением какой-либо операции.

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

  • ExecuteNonQuery() — этот метод позволяет выполнить команды в базе данных, в тех ситуациях, когда результаты выполнения запроса (в виде набора табличных данных) нас не интересуют. Например:

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

  • ExecuteWithResult() — возможность выполнить запрос к базе данных и вернуть его результаты в виде стандартного объекта DataSet из библиотеки ADO.NET. Затем этот объект можно использовать для привязки и отображения в специальных элементах управления, таких, как DataGrid:

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

7.4. WMI и SQL Server 2008

7.4.1. Характеристики wmi

WMI (Windows Management Instrumentarium) — это реализация Microsoft инициативы WBEM (Web-Based Enterprise Management), объявленной консорциумом фирм и направленной на снижение общей стоимости владения сетью.

Общая идея WBEM: обеспечить для всех важнейших программных продуктов стандартный программный интерфейс, при помощи которого к ним могли бы подключаться WBEM-совместимые средства мониторинга и администрирования. При этом акцент сделан на возможности получения информации о работе продукта и мониторинге событий. Однако при помощи данного программного интерфейса можно также выполнять множество административных операций.

Реализация инициативы WBEM корпорацией Microsoft получила название WMI: Windows Management Instrumentarium. Начиная с конца 1990-х годов, во все важнейшие программные продукты Microsoft включается поддержка интерфейса WMI. При помощи WMI вы можете работать с:

  • ОС Windows (поддержка WMI встроена в Windows 2000, XP и 2003, на Windows NT и Windows 98 соответствующие программные модули потребуется установить), включая Active Directory;

  • Exchange Server 2000 и 2003;

  • Internet Information Server;

  • Systems Management Server 2003;

  • приложениями Microsoft Office;

  • SQL Server 2000 и SQL Server 2008.

Для работы с SQL Server 2008 из WMI нам доступно:

  1. Ннастройки сетевой конфигурации средствами WMI Provider for Configuration Management

  2. Отслеживание событий на сервере средствами WMI Provider for Server Events.

Преимущества объектной модели WMI:

  • WMI — стандартная объектная модель. Научившись приемам работы с ней, вы сможете использовать эти приемы для работы с множеством серверных программных продуктов;

  • в WMI реализованы средства работы с событиями. При помощи событийных запросов вы можете отследить создание, удаление или изменение любого объекта WMI (включая изменение любого его свойства).

  • в WMI существует свой собственный язык запросов WQL (Windows Query Language), который создан на основе языка SQL.

  • для объектов WMI предусмотрен специальный ODBC-драйвер, при помощи которого вы сможете обращаться к объектам WMI, как к таблицам на источнике данных (свойства объектов соответствуют при этом столбцам в таблице).

Архитектура WMI состоит 4 главных компонентов.

  1. Управляющие приложения - это приложения или службы Windows, которые получают данные от WMI. Например, для SQL Server 2008 роль такого приложения играет SQL Server Configuration Manager. WMI используется и для некоторых операций SQL Server Management Studio. В наших примерах роль управляющих приложений будут играть скрипты.

  2. Управляемые объекты, то есть те объекты, доступ к которым можно получить при помощи WMI. На SQL Server такими объектами могут являться, например, клиентские сетевые библиотеки.

  3. Поставщики WMI, то есть драйверы WMI, которые позволяют получить доступ к какому-либо классу объектов.

  4. Программное обеспечение WMI (WMI software, в Windows представлено службой Windows Management Intsrumentarium) и репозитарий CIM (Common Information Model). Оба этих компонента отвечают за предоставление информации, запрашиваемой средствами WMI, и реакцию на вызов методов. У них существует разделение обязанностей: программное обеспечение WMI отвечает за динамическую информацию WMI (то, что непосредственно берется от ОС, оборудования и т.п.), а репозитарий CIM – за статическую информацию (то есть настройки WMI на данном компьютере). Физически этот репозитарий расположен в файле CIM.REP в каталоге C:\WINNT\system32\wbem\Repository.

7.4.2. WMI-поставщики для работы с SQL Server

Для работы с SQL Server 2008 можно использовать следующие поставщики WMI.

  1. WMI Provider for Configuration Management. Его основное назначение — управление сетевой конфигурацией SQL Server 2008. В нем также предусмотрены объекты для управления службами SQL Server 2008. Фактически его функциональность полностью совпадает с функциональностью SQL Server Configuration Manager. Он автоматически устанавливается с SQL Server 2008. Все объекты этого поставщика продублированы в объектной модели SMO в пространстве имен Microsoft.SqlServer.Management.Smo.Wmi.

Справка по нему находится в Books Online: раздел SQL Server Books Online SQL Server Programming Reference  Database Engine Administration Programming WMI and SQL Server  WMI Provider for Configuration Management.

  1. WMI Provider for Server Events. Главное назначение этого поставщика — мониторинг событий на сервере. Этот поставщик также автоматически устанавливается с SQL Server 2008. В нем предусмотрено два главных типа событий:

  • события DDL (от Data Definition Language, язык определения данных) — события, которые связаны с созданием, удалением или изменением объектов на уровне сервера или уровне БД;

  • события трассировки — события, информацию о которых можно получить при помощи SQL Server Profiler.

Справка для него находится в том же каталоге WMI and SQL Server в Books Online, что и для поставщика Configuration Management.

  1. В пространстве имен Root\Microsoft\SQLServer, в котором находятся оба поставщика WMI для SQL Server 2008, есть еще один поставщик, имеющий отношение к SQL Server 2008. Он называется ReportServer и предназначен для получения информации о Reporting Services и мониторинга событий этих служб.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]