Публикации
Последние новости:
 
Высокие технологии
Technology
Компьютерное железо
Программное обеспечение
Компьютерная безопасность
Операционные системы
Компьютерный справочник
БД
Интернет сегодня
AudioТехника
Средства связи
Весь спектр цифровой техники
Мир авто
Бизнес-финансы
Всё о культуре
ПроСпорт
Всё о компьютерах
Детское чтение
Мировые телекоммуникации
Пресс-релизы
 
Статьи
Мир культуры
Интересно о спорте
Покупаем:
ТурТранс
Для прекрасных дам
Усадьба, дом
 

Платный хостинг от провайдера HostSpace.com.ua - хостинг, регистрация доменов. Поддержка PHP, MySQL, почта - в каждом тарифном плане.





Администрирование SQL Server 2000 и расширенные свойства объектов


Татьяна Крамарская


Эта небольшая заметка предназначена для администраторов SQL Server 2000. Здесь приводится ряд примеров практического использования лишь одной из многочисленных возможностей SQL Server 2000, связанной с расширенными свойствами объектов. Подобные примеры помогают понять, как применяются заявленные в документации функции, а также убедиться в том, что новые возможности облегчают решение старых задач администрирования.








Из обзорных публикаций и документации известно, что SQL Server 2000 поддерживает для объектов базы данных расширенные свойства. В документации можно найти перечень хранимых процедур, работающих с расширенными свойствами, и примеры их использования. Хотя механизм расширенных свойств предлагается в основном разработчикам приложений, администратор баз данных тоже может использовать этот удобный инструмент.

Первое и наиболее очевидное применение расширенных свойств объектов – это, безусловно, документирование. Если администратор создает таблицу в Enterprise Manager и для ее полей дает описание (Description), то описание для каждого поля автоматически превращается в расширенное свойство с именем MS_ Description.

В Query Analyzer контекстные меню объектов содержат команду Extended properties. Первый из таких объектов – это сама база данных. Далее следуют расположенные по уровням иерархии сверху вниз объекты:

0 – User, Type;
1 – Table, View, Procedure, Function, Default, Rule;
2 – Column, Parameter, Index, Constraint, Trigger.

У самой базы данных уровня нет. Если в параметрах процедур, работающих с расширенными свойствами, уровни не указаны, то свойство принадлежит базе. Например, операторы

Use MyDB exec sp_addextendedproperty NProperty1, Ntest

добавят к базе MyDB свойство Property1 со значением test.

В использование расширенных свойств закладывается иерархия объектов, соблюдения которой от нас требует сервер. При использовании свойства необходимо указывать всю цепочку уровней иерархии.

Введенные тем или иным способом расширенные свойства можно сохранить при генерации сценариев. Для этого перед запуском генерации нужно выбрать на закладке Formatting параметр Include extended properties, и все расширенные свойства будут занесены в сценарий. В SQL Server 2000 также можно перенести объекты вместе с расширенными свойствами в другую базу, если отметить аналогичный параметр в диалоговом окне мастера импорта/экспорта или в пакете DTS.

Расширенные свойства объектов базы данных можно тиражировать или, напротив, зафиксировать их принадлежность к узлу. При тиражировании расширенные свойства, как одна из составных частей реплики, будут перенесены на сервер-подписчик. Для обеспечения переноса расширенных свойств объектов в составе реплики в свойствах публикации на закладке Articles необходимо выбирать нужную статью, и уже для ее свойств на закладке Snapshot отметить параметр Extended properties.

Все расширенные свойства объектов базы хранятся в системной таблице Sysproperties. Для поиска объектов по расширенным свойствам и их значениям очень удобно использовать Query Analyzer. Нужно выбрать из меню Tools команду Object Search и заполнить соответствующие поля.

Для ускорения написания сценариев в Query Analyzer можно использовать специальные шаблоны для работы с расширенными свойствами объектов. Эти шаблоны находятся в папке Manage Extended Property и соответствуют различным действиям, выполняемым над расширенными свойствами.

А теперь перейдем к задачам администрирования.

Аудит хранимых процедур


Механизм расширенных свойств можно использовать для аудита вызова хранимых процедур, т. е. для получения сведений о том, кто вызвал хранимую процедуру, когда и с какими параметрами. Можно также в значении расширенного свойства процедуры запоминать порядковый номер ее вызова. Для этого нужно создать расширенные свойства для процедуры или пользователя, например, в Query Analyzer, а текст процедуры дополнить вызовом обновления соответствующих расширенных свойств. Информацию, связанную с аудитом, можно получать с помощью SQL Profiler. Преимущество использования расширенных свойств в том, что эта информация становится принадлежностью самого объекта и хранится в нем самом. Хотя такой механизм не заменяет возможностей SQL Profiler.

Расширенные свойства параметров хранимой процедуры могут содержать значения данных параметров и дату использования. Все это относится только к процедурам, написанным самостоятельно, даже когда процедура хранится в базе Master и ее имя начинается с sp_. Тексты системных хранимых процедур для редактирования недоступны, поэтому изнутри нельзя управлять их расширенными свойствами, хотя создавать эти свойства внешними средствами можно.

Листинг 1 содержит текст хранимой процедуры Showind, выдающей информацию об индексах для данной таблицы и запоминающей дату и время своего вызова в значении расширенного свойства Calldate.

Аудит и маркировка таблиц


Расширенные свойства таблиц можно использовать для их аудита. В Листинге 2 дан пример триггера audit на таблицу example. Данный триггер не только запрещает изменение таблицы, но и записывает в значение расширенного свойства table_audit таблицы example имя пользователя, который пытался ее изменить, а в значение свойства пользователя записывает имя таблицы example. Предполагается, что у таблицы было заранее создано расширенное свойство table_audit, а у всех пользователей базы – свойство user_audit. Можно пойти дальше, подсчитать число попыток и при достижении заданного порога наложить на пользователя санкции.

Администратору приходится работать с системными таблицами и представлениями. Для системных таблиц нельзя создавать расширенные свойства, а для системных представлений можно. Однако в базе Master часть таблиц отнесена к пользовательским – это таблица MSReplication_options и таблицы с именами, которые начинаются на SPT_. В базе Distribution все таблицы с именами на MS тоже пользовательские. В отдельных базах значительная часть служебных таблиц, участвующих в тиражировании, тоже отнесена к пользовательским. Для них мы можем применять расширенные свойства.

Расширенные свойства можно использовать и в качестве маркеров для различных характеристик таблиц. Например, можно создать расширенное свойство Text_in_Row и применять его для хранения значения аналогичного свойства таблицы и последующего поиска. Листинг 3 содержит процедуру, устанавливающую значение Yes для расширенного свойства, если свойство Text in row для таблицы доступно.

Сопровождение индексов


В SQL Server 2000 можно устранять фрагментацию индексов с помощью команды DBCC INDEXDEFRAG. Допустим, у администратора есть хранимая процедура, которая перестраивает все индексы с заданным значением фрагментации. Эта процедура может устанавливать дату и время дефрагментации индекса в качестве значения расширенного свойства Defrag_Date для данного индекса. Параметр LogicalFrag принимает при этом значение первоначальной фрагментации таблицы. Листинг 4 содержит пример текста такой хранимой процедуры.

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

Об авторе


Крамарская Татьяна Алексеевна - к.т.н., MCSE, MCDBA, MCT. Специализируется на преподавании и консультировании по вопросам использования SQL Server и продуктов BackOffice. Старший консультант компании АЛЕСТА (MCSP,CTEC). Адрес: kram@alesta.ru




www.sdteam.com

БД 08-09-2006

SAP покупает компанию Visiprise 07-07-2008 БД
Европейский производитель корпоративного программного обеспечения SAP планирует купить компанию Visiprise, занимающуюся созданием софта для корпоративного и производственного планирования. Сделка, финансовые условия которой не разглашаются, будет закрыта в июле этого года.После завершения покупки, все разработки Visiprise будут интегрированы в программное обеспечение SAP для автоматизации бизнес-процессов и комплексной интеграции производственных...


SAP занялась продажей индивидуальных лицензий 08-10-2007 БД
SAP представила новый тип лицензии на программное обеспечение NetWeaver, используемое для автоматизации деятельности компаний. Новая лицензия представляет собой годовую подписку и ориентирована она на индивидуальных разработчиков.В компании говорят, что ранее SAP занималась лишь продажей лицензий компаниям, теперь индивидуальные пользователи смогут купить годовую лицензию. Для этого им необходимо будет присоединиться к сети SAP developer network ...


Oracle купила компанию Netsure Telecom 05-09-2007 БД
Oracle сегодня сообщила о покупке компании Netsure Telecom Limited, производителя средств для обеспечения безопасности сетей, исследования данных в сетях и общего анализа корпоративных сетей.Основная задача программного обеспечения Netsure Teleocm - это комплексная диагностика критически важных крупных сетей. Среди клиентов купленной компании есть и крупнейшие операторы связи - Vodafone, Cable&Wireless, Eircom и ряд других.Компания Netsure являет...


Москву посетил Президент Oracle Чарльз Филлипс 19-08-2007 БД
Сегодня в рамках московской пресс-конференции Президента Oracle Чарльза Филлипса было объявлено об итогах 30-летнего развития корпорации и ее продуктов, а также представлена глобальная стратегия Oracle.В программе четырехдневного визита руководителя Oracle в Москву и Санкт-Петербург - встречи с ключевыми клиентами и партнерами, эффективно использующими технологии и бизнес-приложения Oracle в России.По итогам 2007 финансового года, годовой доход O...

Вооруженные силы Грузии внедрили систему управления ресурсами SAP 13-07-2007 БД
Специалисты украинского НИИ автоматизированных компьютерных систем «Экотех» (НИИ АКС «Экотех») совместно со специалистами главного исполнителя проекта – грузинской компании «UGT», при участии «SAP Украина», завершили этап создания Концептуального проекта по внедрению интегрированной системы управления ресурсами предприятия SAP ERP в Вооруженных Силах (ВС) Грузии.По словам министра обороны  Грузии Давида Кезерашвили, прое...

Oracle представляет СУБД Oracle Database 11g 10-07-2007 БД
Корпорация Oracle завтра представит новую версию своего основного и самого популярного продукта - СУБД Oracle Database 11g. Новая версия станет самым значимым обновлением системы управления базами данных за последние 4 года.Однако бума скачиваний и покупок новой версии вряд ли стоит ожидать. Дело в том, что СУБД, равно как и другие продукты Oracle, рассчитаны на корпоративный сектор, причем сектор довольно крупных компаний. Данный сегмент являетс...
 
При любом использовании материалов сайта ссылка на сайт www.archive.com.ua обязательна.
Rambler's Top100 Рейтинг@Mail.ru