Реферат: MS SQL Server 6.5

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">СОДЕРЖАНИЕ:

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">TOC o«1-3»

Введение                                                                                                                                     GOTOBUTTON _Toc403054661   PAGEREF _Toc403054661 2

Архитектура MS SQL Server 6.5                                                                                        GOTOBUTTON _Toc403054662   PAGEREF _Toc403054662 3

Производительность                                                                                                          GOTOBUTTON _Toc403054663   PAGEREF _Toc403054663 4

Распределенная среда управления                                                                           GOTOBUTTON _Toc403054664   PAGEREF _Toc403054664 5

SQL-DMO (Distributed ManagementObjects)                                                           GOTOBUTTON _Toc403054665   PAGEREF _Toc403054665 7

Интеграция с электронной почтой                                                                          GOTOBUTTON _Toc403054666   PAGEREF _Toc403054666 8

Характеристики языкаTransact-SQL                                                                       GOTOBUTTON _Toc403054667   PAGEREF _Toc403054667 9

MS Distributed TransactionCoordinator (DTC) и распределенные транзакции      GOTOBUTTON _Toc403054668   PAGEREF _Toc403054668 11

Блокировки                                                                                                                             GOTOBUTTON_Toc403054669   PAGEREF_Toc403054669 14

Надежность хранения информации                                                                      GOTOBUTTON _Toc403054670   PAGEREF _Toc403054670 16

Тиражирование                                                                                                                    GOTOBUTTON _Toc403054671   PAGEREF _Toc403054671 18

Вопросы безопасности доступа                                                                              GOTOBUTTON_Toc403054672   PAGEREF_Toc403054672 20

Некоторые вопросы использованияMS SQL Server в Internet/intranet-приложениях                                                                                                                        GOTOBUTTON _Toc403054673   PAGEREF _Toc403054673 21

Заключение                                                                                                                            GOTOBUTTON _Toc403054674   PAGEREF _Toc403054674 24

Список литературы:                                                                                                          GOTOBUTTON _Toc403054675   PAGEREF _Toc403054675 25

Введение

Коль скоро этот обзор посвящен серверу баз данных,невозможно не упомянуть о том, что создание машин для хранения и управленияданными является, пожалуй, одним из самых значимых достижений человечества современи изобретения письменности. Как известно, в начале было слово. Слово,ознаменовавшее переход от рефлексии в восприятии окружающего мира кабстрактному мышлению. Возможно, именно этот переворот в сознании нарушил первозданнуюгармонию и противопоставил человека природе. Как бы то ни было, при всейограниченности и имманентной неполноте вербального общения именно слово служитосновным способом передачи информации по сравнению, например, с музыкой,танцем, живописью, архитектурой и т. д. В рамках той парадигмы, в которой сегодняработает наш мозг, представляется иррациональной возможность просветления,озарения, т. е. мгновенного получения необходимых знаний. Остается процесспостепенного познания действительности, и для этого человек вынужден былнаучиться сохранять информацию, полученную на предыдущих этапах. Ключевыммоментом стало возникновение знакового письма, которое, несмотря на большие илименьшие потери, смогло обеспечить должное хранение формализованных знаний. Какутверждают антропологи, за последние несколько десятков тысяч летфизиологические параметры homo sapiens практически не изменились — образноговоря, мы не стали лучше думать или глубже чувствовать. Единственное, чтоотличает современного человека от его предшественников — это объем накопленнойинформации и усовершенствованные способы ее обработки. Именно владениеинформацией обеспечило прогресс человеческого общества, позволив каждомупоследующему поколению опереться на объем знаний и опыта, собранный предшественниками,и в общем случае не изобретать заново велосипед.

Нелинейный рост во времени совокупной базы знанийцивилизации вызвал к жизни прогрессирующую эволюцию средств хранения, обработкии представления информации как инструментов умножения ее интеллектуальной мощи.В этом ряду применение последних достижений в области компьютерных технологийсравнимо по степени важности с изобретением печатного станка или даже егопревосходит. Наблюдается и обратная зависимость: чем более изощренные средстваиспользуются для обработки информации, чем быстрее растут ее объемы, тембольшее значение она приобретает практически во всех аспектах человеческойдеятельности, в частности в экономике. Роль информации, как товара или предметатруда, носит совершенно особый характер. Информация сравнительно легкокопируется без ущерба для своих потребительских свойств. В отличие, например,от тонны нефти, одна и та же информация может быть потреблена неоднократно, втом числе одновременно различными участниками товарных отношений. Все мы еще суроков обществоведения усвоили, что труд является основным источником созданияматериальных благ. Однако даже у авторов учения о прибавочной стоимости можновстретить мысль о том, что по мере развития науки главная доля приростаобщественного благосостояния будет обуславливаться ускоренными темпамиобновления основного капитала в силу роста технического прогресса. Многиесовременные западные экономисты склонны считать, что человечество вступило впостиндустриальный период своего развития, основным средством производства вкотором будет выступать информация и по отношениям собственности на которую вобществе уже начал определяться новый правящий класс — когнитариат. Можнопринимать или оспаривать эти выводы, очевидно одно — в деятельности современногопредприятия информация становится одним из важнейших производственных ресурсов,выделяясь в самостоятельный фактор успешного бизнеса из традиционныхсоставляющих, таких как кадры, клиенты, каналы сбыта, технологии. Наконец, информацияне может потребляться непосредственно: например, чтобы усвоить текст, нужно,как минимум, уметь читать. Отсюда с ростом значения информации возрастает рольсредств ее обработки. Если зачастую стоимость информационной базы корпорации оказываетсявыше производимой ею продукции и услуг, если информация — это всегда деньги (ив общем-то немалые), то неудивительно, что рынок СУБД на сегодня оценивается вдесятки миллиардов долларов.

Хотя предки нынешних СУБД существовали намэйнфреймах еще до появления в 1969 г. знаменитой статьи Э. Кодда, положившейначало теории реляционных баз данных, их поистине массовое распространение ибеспрецедентный рост популярности обеспечили «настольные» вариантыодновременно с мировой экспансией персональных компьютеров. Однако требованиякорпоративного доступа к ресурсам и появление локальных вычислительных сетей набазе ПК привели к созданию наиболее многочисленных на сегодня решений на базетехнологии «клиент-сервер». В последнее время необходимость поддержкимультимедийных проектов (изображений, видео, звука) и работы с другими видами неструктурированнойбизнес-информации (временные ряды, географические карты) вызвала к жизнивнедрение объектной идеологии в старые добрые реляционные базы независимо оттого, достигалось ли это полным переписыванием ядра или интеграцией готовых реляционныхи объектных баз данных. Классическую же в терминах реляционной теории СУБД, какизвестно, в первом приближении можно описать как комплекс из инструментария дляподдержки таблиц и отношений между связанными таблицами, пользовательскогоинтерфейса для ввода, поиска данных и их представления и высокоуровневыхсредств разработки приложений. Выделение в этой среде своеобразногоисполнительного информационного центра, принимающего короткие запросы отклиентов, отыскивающего оптимальный путь их выполнения и передающего в ответрезультирующие множества, приводит к разделению функций СУБД, часть из которыхзакрепляется за сервером, а часть — за клиентом. Традиционно на сервервозлагаются обязанности по оперативному исполнению транзакций, поддержкецелостности данных, обеспечению безопасности хранения и доступа, обеспечениюпользовательских соединений и соблюдению части логики приложения, большей илименьшей в зависимости от самого конкретного приложения. Естественно, самаяминимальная часть серверной логики должна обеспечивать проектированиеструктурной схемы базы вместе с соответствующими ограничениями. На сторонеклиента у нас, таким образом, остаются другая (как правило, все-таки меньшая)часть бизнес-логики приложения и пользовательский интерфейс. Исходя из всегосказанного выше о значении и цене информации в современном мире не будетбольшим преувеличением сказать, что в серверах баз данных (во всяком случае,для «большой шестерки») воплотились лучшие достижения в областиинформационных технологий. Microsoft SQL Server 6.5 является одним из наиболеестремительно развивающихся серверов баз данных на рынке корпоративных СУБД.Разумеется, в рамках данной статьи невозможно подробно остановиться нахарактеристиках этого продукта в той мере, в какой это хотелось бы сделать икакой он, безусловно, заслуживает. Поэтому мы ограничим нашу задачу рассмотрениемхотя бы некоторых базовых возможностей Microsoft SQL Server 6.5 применительно кперечисленным выше функциям сервера баз данных.

Архитектура MS SQL Server 6.5

Симметричная мультипроцессорная архитектура MS SQLServer предусматривает использование «родных» сервисов операционнойсистемы Windows NT для управления потоками (threads), памятью, операциямидискового чтения/записи, сетевыми службами, функциями безопасности, а также дляподдержки параллельного выполнения потоков на нескольких CPU. Использованиепотоков Windows NT позволяет MS SQL Server автоматически масштабироваться приработе на многопроцессорных платформах, что исключает необходимостьдополнительной конфигурации или программной настройки. Например, на Comdex былапродемонстрирована работа MS SQL Server на платформе AlphaServer 8400производства Digital, оснащенным 12 процессорами, 28 Гбайт памяти и 39-ти терабайтнымхранилищем. В отличие от большинства распространенных СУБД, вынужденных иметь всвоем составе механизмы дублирования ядра операционной системы для обеспечениякросс-платформенной переносимости, MS SQL Server обладает достаточнолегковесной прозрачной архитектурой, не перетяжеленной несвойственными ейфункциями. В результате, например, при смене типа процессора не требуетсязаново приобретать MS SQL Server для новой аппаратной платформы. Он ставится,по определению, на все, на чем работает Windows NT (на сегодня это Intel,Alpha, MIPS и PowerPC). По мере того как Windows NT завоевывает все большеепризнание и все ведущие производители СУБД уже выпустили версии своих продуктовпод этой операционной системой или уже заявили о своей готовности это сделать вближайшее время, изначальная ориентированность MS SQL Server 6.5 на теснуюинтеграцию с Windows NT выступает в качестве одного из серьезных преимуществ.

На каждое пользовательское соединение в MS SQLServer назначается отдельный рабочий поток (порядка 55К) в рамках единогосерверного процесса. Так как каждый из этих потоков в действительности являетсяпотоком Win32, на них распространяются соответствующие функции контроляоперационной системы, включая защиту памяти, правила доступа к оборудованию ипланирование выполнения потоков во времени (thread scheduling). Этопредоставляет улучшенные способности к масштабированию при росте числаодновременно работающих пользователей, динамическую балансировку при загрузкепроцессоров и повышенную надежность, так как пользовательские запросы, исполняющиесяна разных потоках, защищены друг от друга. Несмотря на то что пул соединенийограничен 1024 потоками, динамическое управление пользовательскими соединениямии свободными потоками позволяет увеличить эту величину до 32 767. Кроме этого,другие пулы потоков могут использоваться для параллельного выполнения операцийсканирования данных, удаления и обновления, резервного копирования, проверкицелостности базы, индексирования, асинхронного опережающего чтения данных в кэшна основе алгоритмов предсказания, создания и управления курсорами и т. д.

Сетевые службы Windows NT обеспечивают MS SQL Serverподдержку протоколов TCP/IP, NWLink IPX/SPX, Named Pipes (NetBEUI), BanyanVines, AppleTalk (ADSP) и DECNet. В версии 6.5 к ним добавилась дополнительнаясетевая библиотека — multiprotocol network library, которая «умеетслушать» порты TCP/IP, сокеты SPX или поименованные каналы (named pipes),которые обычно выбираются динамически. Несомненным достоинством multiprotocolявляется наличие сетевого сервиса, обеспечивающего взаимодействие междупроцессами при помощи вызовов удаленных процедур, что позволяет, например,использовать шифрование при передаче данных.

Производительность

Многопоточное ядро и интеграция со службамипланирования потоков Windows NT обеспечивает высокую производительность MS SQLServer при обработке OLTP- и DSS-запросов, что особенно заметно приодновременной работе нескольких сотен пользователей. В опубликованныхрезультатах по тестированию MS SQL Server 6.5 на максимальное числоодновременно работающих пользователей приводится цифра 3500, хотя известныреально работающие приложения, где нагрузка доходила до 5000 одновременныхпользовательских соединений. За период с октября 1995 г. по декабрь 1996 г.производительность MS SQL Server, измеренная по тестам TPC-C (см.www.tpc.org), выросла с 2454 до 7521 транзакции в минуту, т. е. болеечем в 3 раза. Для сравнения заметим, что ежедневный объем транзакций врасчетной системе VISA составляет от 10 до 40 млн. Темп 7,5 тыс. транзакций вминуту означает, что один MS SQL Server способен при режиме работы 24х7обслужить немногим менее 11 млн. транзакций в сутки. Существует еще одинпараметр, тесно связанный с производительностью, который, не являясь в строгомсмысле слова техническим, очень популярен на Западе при оценке возможностейтого или иного сервера баз данных, так как от него существенно зависитстоимость владения продуктом (cost of ownership). Речь идет об удельной цене затранзакцию в минуту, иными словами, сколько придется заплатить за достижениетакой скорости обработки запроса. За тот же самый период, в течение которого мырассматривали рост производительности, показатель«цена/производительность» снизился с 242 до 65 долл. за транзакцию вминуту, что говорит о разумной стоимости систем на базе MS SQL Server привысоких требованиях к скорости обработки.

Распределенная среда управления

В состав MS SQL Server 6.5 входит свыше 20графических средств управления и утилит командной строки, которые краткоохарактеризованы в табл.1.

Название

Краткое описание

Интерфейс

Исполняемый файл

SQL Enerprise Manager

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

Графический

sqlew.exe

SQL Executive

Локальный административный агент для планирования задач, управления предупреждениями и мониторинга активности MS SQL Server. Может быть вызван из SQL Enterprise Manager.

Командная строка

sqlexec.exe

Sqlmaint

Определяет план необходимых рутинных действий по поддержке базы данных: регулярная проверка целостности, резервное копирование, перестройка индексов и т. Д., который впоследствии будет выполняться автоматически. Аналогичный мастер включен в SQL Enterprise Manager.

Командная строка

sqlmaint.exe

SQL Service Manager Sqlservr

Используется для запуска, останова, приостановки и возобновления деятельности сервера и агента SQL Executive. Сам MS SQL Server может быть запущен из командной строки, аргументы которой определяют его текущую настройку.

Графический, Командная строка

sqlmgr.exe sqlservr.exe

ISQL/w

Средство построения запросов, анализа плана выполнения, просмотра статистической информации и одновременного управления многими запросами в различных окнах.

Графический

isqlw.exe

Isql

Средство интерактивного ввода операторов Transact-SQL, вызова системных процедур, запуска скриптов.

Командная строка

isql.exe

SQL Security Manager

Управление интегрированным режимом безопасности.

Графический

sqsecmgr.exe

SQL Trace

Средство мониторинга пользовательской активности. Позволяет отлавливать операторы Transact-SQL, вызовы процедур, инициируемые каждым клиентом, в реальном времени или записывать в журнал. Обладает возм-стями фильтрации.

Графический

sqltrace.exe

SQL Performance Monitor

Использует для мониторинга событий и сбора статистики по MS SQL Server стандартный perfmon.ехе Windows NT на основе предоставляемого им списка объектов и счетчиков.

Графический

sqlalrtr.exe

SQL Alerter

Интеграция механизма предупреждений с соответствующими службами Windows NT Performance Monitor.

Командная строка

SQL Transfer Manager

Управление переносом данных и объектов с различных платформ SQL Server.

Графический

sqlxfr.exe

BCP (bulk copy)

Перенос данных между MS SQL Server и файлами операционной системы (например, текстовыми).

Командная строка

bcp.exe

SQL Setup

Применяется для начальной установки, удаления, upgrade, инсталляции дополнительных компонентов и изменения настроек в конфигурации: поддержки сетевых протоколов, изменения языка, выбора кодовой страницы и порядка сортировки, модели безопасности, а также для перестройки базы данных master.

Графический

setup.exe

Language installation

Установка поддержки дополнительной языковой информации (например, локализованных сообщений). Используется в setup.exe.

Командная строка

langinst.exe

Sort order installation

Установка кодовой страницы символов, чувствительности к регистру и отношения порядка над символами. Используется в setup.exe.

Командная строка

charset.exe

Check upgrade

Используется MS SQL Server во время upgrade для проверки совместимости существующих пользовательских баз.

Командная строка

сhkupg65.exe

SQL Client Configuration Utility

Настройка клиента DB-Library, различных сетевых библиотек и/или пользовательских поименованных каналов.

Графический

windbver.exe

Makepipe, readpipe

Пытаются открыть и использовать поименованный канал между сервером и клиентом.

Командная строка

makepipe.exereadpipe.exe

Odbcping

Проверка правильности установки ODBC-соединения с MS SQL Server.

Командная строка

odbcping.exe

Console

Используется вместе с оператором DUMP для резервного копирования, если устройством является дискета.

Командная строка

console.exe

Printdmp

Форматированный дамп стека для нужд отладки.

Командная строка

printdmp.exe

Таблица 1.

Кроме этого, MS SQL Server 6.5 включаетWeb-assistant — программу-мастер для подготовки публикации на Web-cтраницахданных из базы, SQL Mail — утилиту, обеспечивающую интеграцию с электроннойпочтой MS Mail или MS Exchange, MS Distributed Transaction Coor-dinator (MSDTC) для проведения распределенных транзакций и некоторые другие средства. SQLServer, MS DTC и SQL Executive функционируют как сервисы операционной системы.Согласованная работа этих компонентов достигается благодаря трехуровневойархитектуре SQL-DMF (Dist-ributed Management Frame-work).

Легко масштабируемая распределенная среда управленияпозволяет значительно упростить процессы централизованного контроля над многимисерверами, которые могут объединяться в группы по соображениям безопасности илис административными целями, и их объектами, к которым относятся:

• устройства (devices), на которых физическирасполагаются базы данных;

• резервныеустройства, содержащие страховочные копии баз данных и объектов внутри нее;

• базы данных:

• пользователи и группыпользователей;

• таблицы;

• представления;

• хранимые процедуры;

• правила (rules);

• ограничения типа default;

• типы данных, определенные пользователем;

• logins для соединения с сервером.

SQL Enterprise Manager интегрирует в себе всефункции управления, включая создание баз данных и объектов внутри них,назначение прав доступа, резервное копирование, тиражирование и т. д. Прижелании имеется возможность автоматизировать процесс составления планаподдержки базы при помощи специальной программы-помощника (Data-baseMain-tenance Wizard). Различные подходы к системному администрированию зачастуюмогут содержать ряд малоприятных моментов, например необходимость выполнятьрезервное копирование базы в субботу вечером. По тем же причинам руководительбывает вынужден командировать сотрудников в какой-нибудь удаленный филиал, гдеотсутствует должным образом подготовленный IT-персонал. MS SQL Server 6.5позволяет решить эти проблемы, во-первых, за счет централизованного управленияудаленными серверами, во-вторых, за счет наличия мощного средствадиспетчеризации задач во времени, предоставляемого SQL Executive. Для каждойадминистративной функции может быть назначен временной график ее выполнения.Практически все СУБД содержат развитые средства по ликвидации тех или иныхнеблагоприятных последствий. Microsoft SQL Server, помимо этого, предоставляетобширный инструментарий диагностики, позволяющий своевременно предотвратитьпричины сбоев. Утилиты SQL Performance Monitor и Alert Manager могутиспользоваться для программирования реакции сервера на различные классысобытий, возникающих в системе, в том числе и на бизнес-события. Если,например, уровень заполнения журнала транзакций превзошел некоторое пороговоезначение или по корреспондентскому счету возникло «красное» сальдо,MS SQL Server может послать вам (или указанным вами лицам) по электронной почтеили на пейджер соответствующее предупреждение и/или выполнить предусмотренныйвами скрипт, cmd- или exe-файл для устранения ошибки, а также зафиксироватьпоявление этого события в системном журнале. В целом можно сказать, чтораспределенная среда управления позволяет существенно упростить жизньадминистратора базы данных.

SQL-DMO (Distributed Management Objects)

В качестве промежуточного слоя в архитектурераспределенной среды управления выступают распределенные объекты управления(DMO), которые играют исключительно важную роль в концепции построения MS SQLServer и потому заслуживают более тщательного рассмотрения. По мере того какприложения приобретали все менее централизованный характер, поддержкараспределенных баз данных становилась одним из самых актуальных вопросовпостроения современных СУБД. Мы уже имели возможность убедиться, что SQLEnterprise Manager позволяет осуществлять удобное администрирование распределенныхсерверов из единого центра, однако наряду с этим хотелось бы иметь возможностьпрограммного обращения к административным функциям из высокоуровневых языков.Обычно использовавшимся для этих целей в других СУБД сценарным языкам типа REXXили PERL недоставало функциональных возможностей, библиотек классов, отладчикаи т. д.

Поэтому в случае с Microsoft SQL Server был избранболее открытый подход: сервер был разработан как cовместно с набором объектовуправления, которые могли быть вызваны из любого языка программирования,поддерживающего технологию СОМ (Component Object Model). MS SQL Server 6.5предоставляет интерфейс OLE Automation с более, чем 70 объектами, обладающими1500 свойствами.

Это означает, что фактически любая из перечисленныхнами в предыдущем пункте административных задач, включая операции над базамиданных, ограничениями (constraints), триггерами, таблицами, представлениями,полями, индексами, пользователями, группами, публикациями и пр., может бытьоформлена как вызов соответствующего метода соответствующего объекта ивыполнена (при наличии прав доступа) из Visual Basic, Visual C++, Visual J++,Visual FoxPro и т. д. Как и для всякого OLE Automation Server, прираспространении приложения, использующего вызовы SQL-DMO, на клиенте с помощьюregsrv32.exe должна быть зарегистрирована библиотека поддержки объектовsqlole65.dll. Вот, например, как можно организовать просмотр содержимоготаблицы MS SQL Server из MS Visual FoxPro 5.0:

<span Courier New";mso-bidi-font-family:«Times New Roman»">FoxPro5.0:

<span Courier New";mso-bidi-font-family:«Times New Roman»">oSQLServer=CreateObject(«SQLOLE.SQLServer»)

<span Courier New";mso-bidi-font-family:«Times New Roman»">oSQLServer.Connect(«ntalexeysh»,«sa»)

<span Courier New";mso-bidi-font-family:«Times New Roman»">oQueryResults=oSQLServer.Databases(«mydb»).ExecuteWithResults(«select* from anytable»)

<span Courier New";mso-bidi-font-family:«Times New Roman»">?

<span Courier New";mso-bidi-font-family:«Times New Roman»">for eachoColumn in oSQLServer. Databases(«mydb»).Tables(«anytable»).Columns

<span Courier New";mso-bidi-font-family:«Times New Roman»">            ?? padc(oColumn.Name,oColumn.Length)+' '

<span Courier New";mso-bidi-font-family:«Times New Roman»">next

<span Courier New";mso-bidi-font-family:«Times New Roman»">for i=1 tooQueryResults.Rows

<span Courier New";mso-bidi-font-family:«Times New Roman»">        ?

<span Courier New";mso-bidi-font-family:«Times New Roman»">        for j=1 to oQueryResults.Columns

<span Courier New";mso-bidi-font-family:«Times New Roman»">           ??oQueryResults.GetColumnString(i,j)+' '

<span Courier New";mso-bidi-font-family:«Times New Roman»">        next

<span Courier New";mso-bidi-font-family:«Times New Roman»">next

<span Courier New";mso-bidi-font-family:«Times New Roman»">oSQLServer.Close

Объектная модель оказалась настолько мощной, полнойи гибкой, что даже SQL Enterprise Manager (одна из основных утилит в составе MSSQL Server) был написан с использованием DMO.

Интеграция с электронной почтой

Рассматривая функции администрирования MS SQL Server6.5, мы упоминали о возможности автоматической отправки сообщений поэлектронной почте в случае возникновения предупреждения, превышения пороговогозначения одного из показателей в SQL Performance Monitor или периодически наоснове запланированного графика. В состав сервера входит утилита SQLMail,которая позволяет организовать взаимодействие с Microsoft Exchange Server дляотправки и приема сообщений через расширенные хранимые процедуры, использующиевызовы функций MAPI. К этим процедурам относятся xp_startmail и xp_stopmail длязапуска и остановки SQLMail, xp_sendmail для отправки сообщения, xp_findnextmsgдля поиска следующего сообщения в почтовом ящике, xp_readmail для чтениясообщений и вложенных в них файлов, xp_deletemail для удаления. Все они находятсяв библиотеке sqlmap60.dll и могут использоваться в скриптах на Transact-SQL, хранимыхпроцедурах, триггерах и т. д. Например, в триггере на update можнопредусмотреть непосредственную отправку сообщения (без вызова raiserror, какэто было при работе с Alert Manager), если происходит попытка изменитькакие-либо важные значения в базе данных. Приведенная ниже хранимая процедураосуществляет сканирование ящика входящих сообщений и запись параметров,поступивших сообщений в таблицу.

<span Courier New";mso-bidi-font-family:«Times New Roman»">createprocedure scaninbox as

<span Courier New";mso-bidi-font-family:«Times New Roman»">declare@msg_id varchar(64), @originator varchar(255), @recipients varchar(255)

<span Courier New";mso-bidi-font-family:«Times New Roman»">declare@cc_list varchar(255), @subject varchar(255), @date_received varchar(255)

<span Courier New";mso-bidi-font-family:«Times New Roman»">declare@msg_body varchar(255)

<span Courier New";mso-bidi-font-family:«Times New Roman»">

<span Courier New";mso-bidi-font-family:«Times New Roman»">truncatetable mysqldb..inbox

<span Courier New";mso-bidi-font-family:«Times New Roman»">while (1=1)begin

<span Courier New";mso-bidi-font-family:«Times New Roman»">        exec master..xp_findnextmsg@msg_id=@msg_id output

<span Courier New";mso-bidi-font-family:«Times New Roman»">        if @msg_id is null break

<span Courier New";mso-bidi-font-family:«Times New Roman»">        exec master..xp_readmail

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @msg_id=@msg_id,

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @originator=@originator output,

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @recipients = @recipientsoutput,

<span Courier New";mso-bidi-font-family:«Times New Roman»">        @cc_list=@cc_list output,

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @subject=@subject output,

<span Courier New";mso-bidi-font-family:«Times New Roman»">        @date_received = @date_received output,

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @message=@msg_body output,

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @suppress_attach='true',

<span Courier New";mso-bidi-font-family:«Times New Roman»">                @peek='false'

<span Courier New"; mso-bidi-font-family:«Times New Roman»">insert into mysqldb..inbox (msg_id,originator, recipients,

<span Courier New";mso-bidi-font-family:«Times New Roman»"> cc_list, subject, date_received, msg_body)values

<span Courier New"; mso-bidi-font-family:«Times New Roman»">(@msg_id, @originator, @recipients,@cc_list, @subject, @date_received, @msg_body)

<span Courier New";mso-bidi-font-family:«Times New Roman»">end

SQLMail может быть сконфигурирован дляавтоматического запуска одновременно со стартом сервиса SQLExecutive. Сервис MSSQL Server должен быть стартован под учетной записью пользователя Windows NT(user account), которая обладает локальными административными правами и имеетсоответствующие права в домене. Имя данного пользователя, под которым тотвходил в Windows NT, должно совпадать с названием почтового ящика (mailboxname) MS Exchange.

Характеристики языка Transact-SQL

В основе практически всех вышеперечисленных утилитлежит код языка Transact-SQL. MS SQL Server 6.5 был первой СУБД, прошедшейсертификационные испытания Правительства США на соответствие входному уровню(entry level) федеральных стандартов обработки информации (FIPS) 127.2. Этитесты основываются на известных стандартах ANSI SQL92 и включают дополнительныетребования, в частности по поддержке трехуровневых архитектур. MS SQL Server6.5 содержит большое количество черт и функций, относящихся к более высокимуровням стандарта ANSI SQL92 (intermediate и full), например скроллируемые вобоих направлениях курсоры с абсолютным и относительным позиционированием.Насколько мне известно, ни одна из СУБД на сегодня не достигла полногосоответствия уровню ANSI SQL92, более высокому, чем входной.

Transact-SQL включает операторы для изменениянастроек сервера, пользовательской сессии, просмотра и редактирования данных,создания и модификации баз и их объектов. Способы обеспечения целостностиданных представлены в табл. 2. В настоящее время в MS SQL Server поддерживаетсятолько строгий (restrict) тип ссылочной целостности.

Тип целостности

Пояснения

Механизмы контроля

Entity

Определяет запись как уникальную для таблицы сущность

Primary key,

Unique key,

Identity

Domain

Определяет область допустимых значений для поля

Default, Check,

Foreign key

Referential

Поддержка ссылочной целостности связей

Check, Foreign key,

Trigger

User-defined

Все прочие бизнес-правила на уровне столбца и таблицы

Trigger, Rule,

Stored procedure

Таблица 2.

Вся информация об ограничениях, наложенных натаблицу, может быть просмотрена при помощи хранимой процедурыsp_helpconstraint. Ограничения всегда вызываются перед триггерами.Последовательность обработки выглядит следующим образом: rules, references,check, referenced by и затем triggers. Подробная характеристика чертTransact-SQL сама по себе могла бы составить отдельную статью или даженесколько статей, поэтому мы ограничимся констатацие

еще рефераты
Еще работы по программированию, базе данных