Я пытался перенести действительно большую базу данных на более ранний сервер SQL несколькими способами, я начал делать файл .bak
, но обнаружил, что он несовместим и должен быть таким же SQL Версия сервера.
Затем я выбрал задачу - сгенерировать сценарий, чтобы создать файл .sql
со всей схемой и данными, но он был размером 24 ГБ! Несмотря на то, что файл был действительно большим с помощью sqlcmd
, мне удалось его выполнить. Но он так и не завершился успешно, он выдал несколько типов ошибок, таких как:
Сообщение 156, Уровень 15, Состояние 1:
Неверный синтаксис рядом с ключевым словом '...'
Сообщение 105, Уровень 15, Состояние 1
Незакрытая кавычка после строки символов
Затем я нашел этот комментарий с двумя решениями { ссылка }, я пытался первый, но все еще выбрасывает вторую ошибку, я попробовал второй, и это сработало! теперь все работало нормально, но потом я получил другую ошибку ...
Эта ошибка:
Sqlcmd: ошибка: внутренняя ошибка в ReadText (причина: была предпринята попытка перемещения указатель файла перед началом файла).
Так что теперь проблема связана с командой sqlcmd
??
Должен ли я продолжать пытаться перенести базу данных с помощью сгенерированного скрипта? Есть ли лучший способ сделать это и сделать его совместимым с более ранней SQL версией сервера?
Что нужно уточнить
Сначала я создал скрипт только с информацией о схеме , но когда я попытался сгенерировать отдельный скрипт для данных, только SSMS выдавала ошибку. Таким образом, я не могу или не знаю, как экспортировать все данные простым способом. Я знаю, что вы можете экспортировать данные для каждой из таблиц, но база данных содержит более 200 таблиц, и это нежизнеспособно.
Кроме того, выполнение сценария занимает более одного часа, а может, и намного больше, чем это время, если процесс завершился бы правильно sh.