У меня есть база данных SQL Server 2008, которую мне нужно добавить в свою среду, но все мои производственные серверы работают под управлением SQL Server 2005. Обновление среды не вариант, по крайней мере, в ближайшем будущем.
Однако у меня есть непроизводственные блоки SQL Server 2008, которые можно использовать, если они могут помочь во время преобразования.
Размер базы данных составляет 1 ГБ.
Как мне справиться с этим преобразованием?
Спасибо!
Видеть этот похожий вопрос относительно 2005 по 2000 гг.
Единственный способ сделать это - восстановить сервер 2008 года, создать сценарий базы данных 2008 года, а затем запустить сценарий на сервере SQL2005.
Хорошая новость заключается в том, что SQL 2008 Management Studio делает это супер-пупер простым, даже предоставляя вам возможность включать данные в сценарии. Просто щелкните базу данных правой кнопкой мыши, перейдите в раздел "Задачи" и нажмите "Создать сценарии". Пройдите через мастер и убедитесь, что вы выбрали вариант включения данных.
РЕДАКТИРОВАТЬ: Я подробно рассмотрел технические детали того, почему это нельзя сделать другими методами (восстановление из резервной копии или через присоединение), оказалось, что есть два разных свойства базы данных: уровень совместимости и версия базы данных: (отрывок из Блог SQL Storage Engine)
База данных уровень совместимости определяет, как работает определенное поведение базы данных. Например, в совместимости 90 вам нужно использовать синтаксис OUTER JOIN для выполнения внешнего соединения, тогда как на более ранних уровнях совместимости вы можете использовать '= 'и' ='.
Обновленная база данных сохраняет его уровень совместимости. Например, база данных, созданная на SQL Server 2000, и уровень совместимости которой не был изменен, останется на уровне совместимости 80 при обновлении до SQL Server 2005.
В версия базы данных - это номер, проставленный на загрузочной странице базы данных, который указывает версию SQL Server последнего экземпляра SQL Server, к которому была присоединена база данных.
SQL Server несовместим с верхним уровнем. Вы не можете присоединить базу данных, которая была создана на (или была обновлена) до SQL Server 2005, к любой более ранней версии SQL Server (также верно для попытки присоединить базу данных 2000 к 7.0 и т. Д.).
Невозможно присоединить базу данных, созданную в более ранней версии, без надлежащих процедур обновления. Принудительное присоединение базы данных с помощью различных хакерских методов приведет к разного рода странным ошибкам и, возможно, к сбою.
ОК - мой ответ ниже неверен. Я оставлю это, потому что обсуждение того, почему я был неправ, безусловно, ценно.
Если БД не зависит от каких-либо конкретных функций 2008 года, попробуйте установить уровень совместимости 2005 (90), а затем выполните резервное копирование и восстановление на свой сервер.
Я не уверен, что вы сможете это сделать, если вам передали уже готовый файл DB BAK.
Если это действительно зависит от конкретных функций 2008 года, вы - СОЛНЕЧНИК без администратора баз данных и разработчика, который вам поможет.