Продолжение… Начало на странице Бэкап SQL 2008 R2 не восстановить на SQL 2008, что делать?
TheCTOSian2 на странице http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/4daae3e5-15ab-4929-a122-e1bab420310e в моём переводе писал(а): |
Попробуйте следующее:
1.Установите instance SQL 2008 R2 на одну машину и SQL 2008 на другую |
Вот такого ответа я обычно и жду, это настоящий профессиональный ответ, а не ответ типа «А с чего вы решили, что Compatibility level влияет на бэкапы ?»
Для того, чтобы вышеописанное было более наглядным, я проиллюстрирую отдельные шаги картинками:
4. Выберите Задачи (Tasks) > Сформировать скрипты… (Generate Scripts):
5. Выберите «Внести в скрипт всю базу данных и все объекты базы данных» («Script entire database and all database objects»), нажмите «Далее» («Next»):
6. Выберите «Сохранить в файл («Save to File») и нажмите на кнопке «Дополнительно» («Advanced»):
7. Выберите «Скрипт для версии сервера («Script for Server Version») и выберите версию, которая Вам нужна: 2000/2005/2008
8. Выберите «Типы данных для внесения в скрипт» («Type of data to Script») и выберите «Схема и данные» (Schema/Data/both):
9. Нажмите «OK», «Далее» и создайте скрипт!:
11. Войдите в SQL Management Studio и откройте скопированный .sql файл… имейте в виду, что может иметь место ограничение по размеру файла:
Именно с этой проблемой я и столкнулся: При размере БД меньше 5 ГБ создался скрипт размером в 10,8 ГБ. Загрузить такой скрипт не удалось. Описание проблемы я нашёл во множестве мест, предлагают пользоваться утилитой sqlcmd: (http://msdn.microsoft.com/en-us/library/ms165702.aspx) но я с этим не разбирался, не было времени, к сожалению, по указанной ссылке нет адекватного примера, как исполнить скрипт из файла. Если кто-нибудь разбирался, приведите пример.
Однако, вернёмся к созданию скрипта. Раз скрипт, содержащий и структуру и данные открыть не удаётся, попробуем создать скрип, содержащий только структуру, без данных:
На этот раз он получился размером не 10,8 ГБ, а всего-то 60 МБ