Преобразование командных файлов SQL

и выдачи утилиты defncopy в хранимые процедуры

Часто возникает необходимость поместить готовый SQL-командный файл на сервер базы данных в качестве командной процедуры. Для этого в заголовок отлаженного командного файла на языке SQL достаточно добавить предложение

create procedure <название_хранимой_процедуры> as

а в конец файла — команду до. Кроме того, при модификации существующей хранимой процедуры, в файл перед оператором create procedure также включите предложение

drop procedure <название_хранимой_процедуры> as

и команду до.
Используя утилиту defncopy для создания SQL-определений объектов баз данных и их последующего применения при создании хранимых процедур или триггеров, в надлежащие места файла также вставьте предложения drop procedure и create procedure (либо drop trigger и create trigger), а также соответствующие команды go.

Системная таблица sysusages

Хранящаяся в базе данных master системная таблица sysusages имеет большое значение. Однако ее роль часто понимают совершенно неправильно. Таблица sysusages содержит информацию о размещении компонентов каждой базы данных по дисковым устройствам сервера.

Каждая строка этой таблицы описывает определенную область дискового пространства (экстент), распределенную одной из баз данных сервера, например, в результате выполнения команд create database или alter database.

Записи таблицы sysusages указывают точное местонахождение соответствующей дисковой области на серверных устройствах и физических дисках и состав сегментов базы данных, назначенных данной области (столбец segmap).

Схема хранения всей подобной информации в таблице sysusages весьма запутана.

Идентификатор базы данных

Столбец dbid таблицы sysusages соответствует столбцу dbid другой системной таблицы sysdatabases и позволяет сопоставить каждый фрагмент дискового пространства с именем (database name) использующей его базы данных. Таким образом, с помощью dbid устанавливается соответствие записей таблицы sysusages определенным базам данных сервера.

Следует иметь в виду, что порядок записей таблицы sysusages, относящихся к одной базе данных (т.е. имеющих одно и то же значение dbid), соответствует порядку создания указанных в ней экстентов этой базы данных. Базе анных dbl
соответствуют три последние строки таблицы sysusages.

Они полностью определяют размер и порядок создания каждого фрагмента дискового пространства, распределенного этой базе данных.

Итак, каждая строка таблицы sysusages определяет один экстент базы данных, размер которого указан в столбце size. Три экстента базы данных db1 имеют размеры в 5120, 2560 и 5120 2-килобайтных страниц. Это соответствует общему объему базы данных dbl, равному 12800 2″килобайтных страниц, или 25 Мбайт.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100