Симптом
Создали бекап базы данных на MSSQL Enterprise. Во время восстановления данного бекапа на редакции MSSQL Standart возникает ошибка:
"Нельзя запустить базу данных '' в данном выпуске SQL Server, поскольку она содержит функцию секционирования 'dvpfn_log_range'. Секционирование поддерживается только в выпуске SQL Server Enterprise Edition."
или так
"Database '' cannot be started in this edition of SQL Server because it contains a partition function 'dvpfn_log_range'. Only Enterprise edition of SQL Server supports partitioning."
В чем причина
Некоторые процедуры в базе данных используют функции, которые существуют только в редакции Enterprise. Сделано это с целью оптимизации.
При создании базы данных, консоль настройки определяет редакцию СУБД, и в случае если используется Enterprise или Developer,то устанавливаются процедуры, которые используют секционирование.
Следовательно, если бекап такой базы перенести на редакцию, которая не поддерживает секционирование, то при восстановлении возникнет ошибка.
Что нужно сделать
В первую очередь не переносить базы между редакциями. Но если ситуация такова что сделать это необходимо, то в службе технической поддержки DocsVision есть скрипт, который позволит заменить эти процедуры.
Спасибо, ценно!)
ОтветитьУдалитьтолько вот пишется Enterprise через "s" ;-)
Ашипку исправил. Спасибо :)
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьПомнится, для решения этой проблемы, я просто удалял перед бэкапом эти функции и вроде без последствий.
ОтветитьУдалитьТакое возможно, если после восстановления понизить версию базы и выполнить обновление - процедуры будут пересозданы
ОтветитьУдалитьКоллеги, поделитесь пожалуйста скриптом.
ОтветитьУдалитьХочется корректно перенести, а то уже полдня убил на это.
Спасибо.
Сегодня опубликуем его.
ОтветитьУдалить