SQL Server 2008 Auto Generate Change Scripts Устаревшая проблема

Мы включаем «Инструменты ==> Параметры ==> Дизайнеры ==> Дизайнеры таблиц и баз данных ==> Автоматически генерировать сценарии изменений» в нашей SQL Server Management Studio (SSMS). При изменении схемы нашей базы данных мы сохраняем сценарий, и благодаря инструментам миграции БД, которые мы установили на всех машинах, на которых запущены наши приложения, мы можем синхронизировать схему во время следующего обновления версии программного обеспечения.

Недавно мы перевели наши разрабатываемые копии и некоторые производственные серверы на SQL Server 2008. Однако у нас все еще есть несколько десятков SQL Server 2005, на которых работает наше программное обеспечение. Мы не планируем обновлять их некоторое время.

Проблема проста. Сценарии, сгенерированные SSMS, просто не всегда работают с SQL Server 2005. SMSS добавляет к командам дополнительные метаданные (например, касающиеся эскалации блокировок). Чтобы сделать наши скрипты с 2005 года, мы должны вручную удалить лишнюю информацию, иначе скрипты не запустятся.

Есть ли способ настроить SSMS для создания сценариев, совместимых с SQL Server 2005? Существуют ли инструменты, которые автоматически избавлялись бы от лишнего SQL или, по крайней мере, сообщали бы нам, какие файлы проблематичны?


person Jason Kealey    schedule 09.01.2009    source источник
comment
Какую конкретно ошибку вы видите?   -  person Ken Yao    schedule 09.01.2009


Ответы (3)


В студии управления SQL Server 2008 перейдите в Инструменты -> Параметры -> Обозреватель объектов SQL Server -> Сценарии и выберите «Сценарий для версии сервера» и измените его на SQL Server 2005.

person Mitch Wheat    schedule 11.01.2009
comment
Не могу поверить, что я этого не заметил. Спасибо. - person Jason Kealey; 12.01.2009
comment
Из того, что я вижу, даже с настройкой параметров, скрипт, который он генерирует, несовместим :(. Я буду винить в этом ошибку в SSMS (не первую, которую я вижу, связанную с параметрами конфигурации!). - person Jason Kealey; 19.01.2009
comment
Если это ошибка SMSS, она все еще присутствует в недавно выпущенном SQL 2008 R2. (У меня такая же проблема и была с SQL2005-›2000) - person Martin Marconcini; 14.09.2010

Рекомендуемое решение для изменения параметров кажется правильным, однако оно по-прежнему генерирует ALTER TABLE SET (LOCK_ESCALATION = TABLE) в моей базе данных (я даже установил режим совместимости 90)

person Justin King    schedule 02.02.2009

Я еще не использовал студию управления 2008 года, но в каждой предыдущей версии вы могли где-то установить сценарии для определенной версии SQL Server в параметрах.

У меня есть студия управления 2005 года, настроенная на создание 2000 совместимых сценариев по тем же причинам.

person Garry Shutler    schedule 11.01.2009