Мой опыт внесения больших изменений в схему заключается в том, что большие изменения лучше всего выполнять во время технического обслуживания - ночью / в выходные дни - когда пользователи загружаются из системы.Так же, как работает dbcc checkdb
с опцией восстановления.Затем, когда дела пойдут на юг, у вас есть возможность откатиться до полной резервной копии, которую вы предварительно сделали непосредственно перед началом обновления.
Элемент № 3 в вашем списке: Переименование старого/ новые таблицы.Возможно, вы захотите перекомпилировать хранимые процедуры / представления.Мой опыт показывает, что планы выполнения связаны с идентификаторами объектов, а не с именами объектов.
Рассмотрим таблицу dbo.foo
: если она переименована в dbo.foo_old
, любые хранимые процедуры или пользовательские функции не обязательноошибка, пока зависимый объект не будет перекомпилирован и его план выполнения не восстановлен.Кэшированные планы выполнения продолжают отлично работать.
sp_recompile
- ваш друг.