русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Расширенные хранимые процедуры


Дата добавления: 2013-12-23; просмотров: 1529; Нарушение авторских прав


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

Хранимые процедуры активно используются для решения самых разнообразных задач, связанных с аспектами работы сервера и функционированием баз данных и всех ее объектов. Информация обо всех аспектах работы сервера хранится в системных таблицах. Причем каждая из них имеет конкретное назначение. Изменение значений в этих таблицах приводит к изменению тех или иных аспектов работы сервера или баз данных. Пользователи могут изменять значения в этих таблицах напрямую с помощью команд UPDATE, INSERT, SELECT и DELETE. Однако выполнение неверной команды может вывести из строя весь сервер и будет очень трудно восстановить его работоспособность. Кроме того, часто для осуществления одной операции необходимо выполнить множество команд. Чтобы избавить пользователя от рутины и обеспечить высокую безопасность выполняемых изменений, в SQL Server 2000 используются специальные системные хранимые процедуры (system stored procedure). Количество этих процедур составляет несколько сотен. Для удобства они разбиты на отдельные группы, каждая из которых предназначена для решения специфических задач. Например, имеются процедуры для управления системой репликации, процедуры для управления системой безопасности, процедуры для управления курсорами, процедуры для управления работой службы SQL Server Agent и некоторые другие.

Системные хранимые процедуры характеризуются тем, что они хранятся в системной базе данных Master и в своем названии имеют префикс sp, после которого следует символ подчеркивания и затем имя собственно процедуры. Например, sp_help_fulltext_columns_cursor или sp_attach_db.

Расширенные хранимые процедуры (extended stored procedure) по своей природе коренным образом отличаются от системных и пользовательских хранимых процедур. Хотя вызов этих процедур и выполняется подобно другим процедурам, тем не менее, они представляют собой динамически подключаемые библиотеки (файлы dll). To есть расширенные хранимые процедуры представляют собой отдельные программы, которые в операционной системе могут играть роль самостоятельного приложения. Расширенные хранимые процедуры имеют префикс хр.



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

Готовую библиотеку необходимо зарегистрировать в SQL Server 2000, после чего пользователи смогут применять реализованные в ней функции. Регистрация библиотеки производится при помощи хранимой процедуры sp_addextendedproc, имеющей следующий синтаксис:

 

sp_addextendedproc [@functname =] 'procedure', [@dllname =] 'dll'

Параметр @functname определяет имя, по которому будет вызываться функция. Можно использовать любое имя, в том числе и с префиксом sp или хр. Однако это необязательно. Параметр @dllname задает путь к нужному dll-файлу. Регистрация расширенных хранимых процедур должна выполняться в контексте базы данных Master.

Типичным примером расширенной хранимой процедуры является процедура xp_cmdsheli, с помощью которой можно вызвать интерфейс командной строки и выполнить любые команды. Приведенный ниже пример выводит в окне Query Analyzer содержимое корневого каталога диска С:.

exec xp_cmdshell 'dir c:\'

Вызов хранимых процедур может быть выполнен с помощью ключевого exec(ute). В качестве параметров в предложении exec указывается имя процедуры.



<== предыдущая лекция | следующая лекция ==>
Техника безопасности и противопожарные мероприятия | Создание хранимой процедуры.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.