Файлы базы данных, созданные с использованием SQL 2008, несовместимы с 2005. Есть ли обходной путь?
Файлы базы данных, созданные с использованием SQL 2008, несовместимы с 2005. Есть ли обходной путь?
Ответы:
Нет необходимости в сторонних инструментах. Среда управления SQL Server 2008 предоставила нам очень мощный инструмент для преобразования базы данных, поскольку они добавили параметр «Данные сценария» в мастер «База данных сценария».
Просто щелкните правой кнопкой мыши по базе данных в SQL2008 SSMS и перейдите к Задачам, затем «Создать сценарии»
Пройдя по мастеру, обязательно выберите «True» для «Script Data» в параметрах таблицы / представления. Выберите все объекты, затем запустите сценарий, который он создает на сервере 2005. (Имейте в виду, что созданный скрипт может быть огромным, если исходная база данных очень большая!)
Обратите внимание, что вы даже можете запустить мастер на сервере SQL2005, чтобы преобразовать базу данных SQL2005 в SQL2000 с понижением (вам, конечно, понадобятся инструменты 2008, установленные на вашей рабочей станции).
Вы можете скопировать данные из одного экземпляра SQL Server в другой экземпляр. Это был бы самый быстрый способ скопировать данные из одной версии в другую. В зависимости от объема данных, это может занять много времени.
К сожалению, я не знаю прямого пути понижения БД с формата 2008 до 2005 года.
То, как я делал это в прошлом (на самом деле с более старыми версиями SQL-сервера, но процесс будет таким же):
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
если вы связали экземпляры таким образом, ) Может быть более эффективно сначала просто скопировать данные и добавить все остальные структуры (индексы, процы, триггеры, ...) после шага 3. Это позволяет избежать проблем с порядком вставки строк, вызванных ограничениями и триггерами, и построения индексов на Теоретически конец должен быть быстрее, чем создавать их, поскольку все данные добавляются - хотя, если у вас есть какие-либо кластеризованные индексы в ваших таблицах, создайте их перед добавлением данных, поскольку они не будут быстрее создаваться после факта.
Конечно, все это предполагает, что ни один из ваших объектов не использует специфические функции SQL 2008 - если они это сделают, вы, надеюсь, обнаружите и исправите такие вещи, когда произойдет ошибка при перестройке схемы. Если какой-либо из ваших кодов основан на официально не определенном поведении, которое может варьироваться в зависимости от версии SQL Server, у вас могут появиться некоторые более тонкие и неуловимые ошибки, которые нужно выследить и устранить позже.
Я столкнулся с подобной ситуацией и использовал мастер публикации баз данных для создания сценария схемы и данных для SQL Server 2005 из базы данных SQL Server 2008.