почему необходимо удалять и заново создавать иждивенцев при изменении схемы блокировки в Sybase? - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно изменить схему блокировки со всех страниц на базы данных в базе данных Sybase ASE 15.7. Документы говорят, что мне нужно удалить и затем заново создать зависимые скомпилированные объекты (SP, триггеры, представления).

В этой таблице много зависимых SP и триггеров. У меня вопрос: зачем это нужно и почему имени таблицы sp_recompile будет недостаточно.

спасибо,

1 Ответ

0 голосов
/ 05 сентября 2018

Схемы Allpages и (datarows | datapages) имеют совершенно разную компоновку на диске. Переход от одного типа к другому требует переписывания всей таблицы.

Внутренне таблица обрабатывается совершенно по-другому. Allpages - самый старый тип, доступный до ASE 11.9.2. Datarows и datapages являются новыми типами. В настоящее время большая часть нового функционала доступна только для схемы блокировки datarows. Это оставляет схему allpages устаревшей и больше не рекомендуется.

На самом деле вы должны создать еще одну новую копию таблицы при изменении типа блокировки.

...