Архивирование и восстановление системных объектов БД

Некоторые системные таблицы при сохранении таблиц, независимо от опции, устанавливающей необходимость сохранять данные из таблиц, сохраняются без содержащихся в них данных. К этим таблицам относятся системные таблицы: $$$PROC, $$$TRIG, $$$PRCD, SERVERS, $$$REPL.

Данные, содержащиеся в этих таблицах, после восстановления в новую БД (или в существующую), теряют свой смысл. Для сохранения триггеров и процедур необходимо:

  1. выбрать три таблицы $$$PROC, $$$TRIG, $$$PRCD, выбрать триггеры и процедуры, подлежащие сохранению;

  2. сохранить таблицы, к которым относятся триггеры (достаточно установить переключатель Сохранять зависимые объекты (рис. 29);

    Настройка сохранения (восстановления) триггеров и хранимых процедур
    Рисунок 29. Настройка сохранения (восстановления) триггеров и хранимых процедур

  3. в дереве объектов выбрать процедуры и триггеры (рис. 30):

    Выбор сохраняемых триггеров и хранимых процедур
    Рисунок 30. Выбор сохраняемых триггеров и хранимых процедур

  4. нажать Запуск – утилита произведет анализ зависимых объектов и приступит к сохранению (рис. 31):

    Протокол сохранения триггеров и хранимых процедур
    Рисунок 31. Протокол сохранения триггеров и хранимых процедур

    Как видно, необходимые таблицы были сохранены, включая таблицу TR_DATA2, от которой зависит триггер TR_INSTEADUPDROW.

Для восстановления этих процедур и триггеров необходимо:

  1. сначала восстановить таблицы, от которых зависят триггеры, таблицы $$$PROC, $$$TRIG, $$$PRCD (впрочем, их можно и создать путем запуска SQL-файла systab.sql в программе inl – кому как нравится);

  2. только после этого восстанавливать сами процедуры и триггеры. Утилита lhbx сама, как правило, это делает при восстановлении в необходимом порядке, если для восстановления выбраны все объекты, содержащиеся в файле архива.

    То же самое относится и к восстановлению описания серверов и правил репликации, содержащихся в таблицах SERVERS, $$$REPL. Т.е. необходимо совместно сохранять эти таблицы и объекты servers и replication rules.