|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
9.2. Объектная модель SMO9.2.1. Обзор объектной модели SMOSMO (SQL Management Objects) в SQL Server 2005, установка SDK для SMO, пространства имен Microsoft.SqlServer.Management.Smo и Microsoft.SqlServer.Management.Common SMO (SQL Management Objects) — это рекомендованная Microsoft объектная модель для программного выполнения административных операций на SQL Server 2005 (с ее помощью можно также работать с SQL Server 7.0 и 2000). Эта объектная модель основана на технологии .NET. Она требует наличия на компьютере .NET Framework 2.0, а работать с SMO настоятельно рекомендуется только средствами Visual Studio .NET 2005. Установка SMO производится вместе с SQL Server 2005, а необходимые сборки по умолчанию помещаются в каталог C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies. Для того чтобы были установлены все необходимые компоненты для создания программ, использующих возможности SMO, нужно при установке поставить флажок напротив пункта SDK в наборе элементов Client Components. Объектная модель SMO очень похожа на унаследованную объектную модель SQL-DMO, которая применялась в SQL Server 7 и SQL Server 2000 (см. разд. 9.3). Разработчики постарались по возможности использовать те же названия объектов, свойств и методов. Однако в SMO появилось большое количество новых возможностей: q в SMO используются преимущества .NET с точки зрения повышения производительности, например такие, как частичная загрузка больших объектов в оперативную память. В принципе, SMO намного требовательнее к ресурсам, чем SQL-DMO, что объясняется особенностями работы приложений .NET. Однако некоторые операции в SMO могут выполняться быстрее. Например, если вы проходите циклом по коллекции объектов (баз данных на сервере, таблиц в базе данных и т. п.) в SQL-DMO, то каждый из этих объектов будет создан полностью и помещен в оперативную память. В SMO они будут помещены в оперативную память только частично, и, возможно, такой цикл будет выполнен быстрее; q улучшена производительность при выполнении команд Transact-SQL на сервере. Теперь среда выполнения .NET/SMO автоматически отслеживает ситуации, когда на сервер передается набор команд Transact-SQL, и посылает эти команды единым пакетом; q улучшена событийная модель — как за счет интеграции с возможностями объектной библиотеки WMI, так и за счет собственных средств SMO; q появилась возможность указания объектов при помощи специальных путей к ним в формате URN (Unique Resource Name — уникальное имя ресурса). Формат URN был разработан на основе формата путей XPath, которые используются для навигации по документам XML. Например, путь в формате URN к базе данных db1 может выглядеть так: /Server/Database[@Name='db1'] q появилось большое количество новых объектов, реализующих новые возможности SQL Server 2005. Например, в SMO предусмотрены объекты для точек подключения по HTTP, схем XML, моментальных снимков баз данных, Database Mail, сертификатов и асимметричных ключей и т. п. Для использования объектов SMO в приложении вам потребуется добавить в проект ссылки на необходимые библиотеки. Кроме того, чтобы можно было использовать короткие имена объектов, рекомендуется импортировать требуемые пространства имен. Стандартная последовательность действий в Visual Studio .NET 2005 перед началом работы с SMO выглядит так: 1. Создайте нужный проект. В примерах этого раздела будут использоваться проекты Visual Basic .NET 2005 типа Windows Application или Console Application. 2. Добавьте в проект ссылки на следующие библиотеки (сборки .NET): · Microsoft.SqlServer.ConnectionInfo.dll; · Microsoft.SqlServer.Smo.dll; · Microsoft.SqlServer.SqlEnum.dll; · Microsoft.SqlServer.SmoEnum.dll. Добавление ссылок в проект можно выполнить при помощи команды Add Reference (Добавить ссылку) контекстного меню проекта в окне Solution Explorer. 3. Добавьте в самое начало раздела Declarations (Объявления) для вашей формы или программного модуля команды: Imports Microsoft.SqlServer.Management.Smo Imports Microsoft.SqlServer.Management.Common 4. Затем создайте необходимые процедуры и поместите в них программный код для работы с объектами SMO. Основные объекты SMO будут рассмотрены в следующих разделах. Для всех примеров этого раздела будем считать, что эти операции уже выполнены. Документацию по работе с SMO можно найти в Books Online в разделе SQL Server Books Online | SQL Server Programming Reference | Database Engine Administration Programming | SQL Management Objects (SMO) (SQL Server Books Online | Справка по программированию SQL Server | Программирование операций по администрированию ядра баз данных | SQL Management Objects (SMO)) или в MSDN для Visual Studio .NET 2005. Информация в обоих источниках совершенно одинакова. К сожалению, справка по объектам SMO отличается очень большой краткостью. И очень часто понять правильную последовательность действий достаточно сложно, а примеры для большинства объектов отсутствуют. Поэтому рекомендуется, кроме описаний свойств и методов объектов, использовать также: q примеры работы с SMO в Books Online. Найти их можно в разделе SQL Server Books Online | SQL Server Programming Reference | Database Engine Administration Programming | SQL Management Objects (SMO) | Programming Specific Tasks (Программирование конкретных задач); q примеры (Samples), поставляемые с дистрибутивом SQL Server 2005. Если вы выбрали их как компонент во время установки, то найти их можно в меню Пуск | Программы | Microsoft SQL Server 2005 | Documents and Tutorials | Samples (Документация и учебные руководства | Примеры). Нужно развернуть пакет MSI, который называется Microsoft SQL Server 2005 Samples (English) (для этого достаточно просто щелкнуть по нему мышью и выбрать каталог), и открыть в каталоге, в который были помещены примеры, папку Engine\Programmability\SMO. В этой папке находится около 20 проектов на Visual Basic и C#, которые иллюстрируют выполнение некоторых операций; q в качестве дополнительного источника информации можно использовать Интернет. В этом модуле не ставится задача досконально разобрать все возможности огромной объектной библиотеки SMO. Главная цель — познакомить администраторов и разработчиков с этой возможностью и с основными приемами работы с этой библиотекой (которая, по опыту преподавания автора, пока остается неизвестной для большинства администраторов SQL Server 2005).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||