Я пытаюсь восстановить нашу живую базу данных на нашем устройстве Dev. Чтобы сделать это, я, когда на производство, ЗАДАЧИ -> резервное копирование Db. он создал файл 4Gig. Я сжал это до 2.2 Гиг. загрузите это на мой сервер разработки.
На моем dev-сервере я создаю новую БД (называемую 'xxxxx'), а затем Задачи -> восстановить БД из файла. Я даю ему имя файла .bak, перезаписываю все и перехожу.
Когда он достигает 40%, он терпит неудачу. вот скриншот:
альтернативный текст http://img19.imageshack.us/img19/1/restorefailurejl5.png
Теперь я могу вручную заархивировать файлы .mdf и .log, заархивировать их, загрузить их и затем прикрепить к моему экземпляру sql сервера dev. Я сделал это на самом деле прошлой ночью, чтобы заставить это работать .. так что это сработало.
Но я не уверен, почему не работает метод резервного копирования / восстановления? Я скачал файл .bak несколько раз (на случай, если загрузка была повреждена). я несколько раз пытался заархивировать и сделать резервную копию живого сервера .. но после примерно 5-ти скачиваний файла 2Gig я начинаю раздражаться:)
Я попытался сделать DBCC CHECKDB('live db name', RESTORE_REBUILD)
, и это сработало нормально, а затем резервное копирование, загрузка, восстановление, сбой.
Моя живая БД - sql2008 x64bit, а мой dev box - x86 (32 бит), поэтому я не уверен, что это проблема. Оба сервера версии 10.0 RTM .
Я не хочу останавливать базу данных, чтобы иметь возможность копировать файлы .mdf / .log (потому что вы не можете получить к ним доступ, когда база данных работает, я считаю) .. именно поэтому я предпочитаю метод резервного копирования / восстановления.
Есть предложения?
ОБНОВЛЕНИЕ 1
Прежде чем я отправил этот вопрос, я сделал DBCC CHECKDB ('xxxxx', RESTORE_REBUILD). Я отметил это в своем первоначальном посте, который я только что выделил для дальнейшего использования.
Когда я получу возможность остановить БД, я опубликую конечные результаты здесь (и сохраню текстовый вывод, если кто-то попросит другую информацию).
ОБНОВЛЕНИЕ 2
Я попытался восстановить резервную копию на фиктивной live db, которую я создал. Ошибка (то же сообщение об ошибке). Я сейчас запускаю DBCC CHECKDB ('LiveDB'). Непосредственно перед этим я остановил службу SQL Server и вручную скопировал резервные копии файлов .mdb и .log.
ОБНОВЛЕНИЕ 3
Это результат DBCC CHECKDB ('LiveDb')
Результаты DBCC
для «Адреса» 1689363 строк
в 101624 страницах для объекта 'Адреса'
Результаты DBCC для 'Thumbnails' There
1197 строк на 30 страницах для объекта
«Миниатюры» ..
CHECKDB обнаружил 0 ошибок размещения и
0 ошибок согласованности в базе данных
Выполнение DBCC «LiveDb» завершено. Если
DBCC печатает сообщения об ошибках, контакт
Ваш администратор.
хмм :( Есть еще идеи? Должен ли я снова запустить DBCC с RESTORE_REBUILD или каким-нибудь другим магическим аргументом?
Окончательное обновление
Хорошо - это ооочень странно. После запуска CHECK DBCC, а затем создания еще одного полного резервного копирования (с использованием того же сценария sql, который мы использовали для eons), восстановление теперь работает нормально! Я просто не понимаю: (
Похоже, я могу сейчас закрыть работу. Я просто не понимаю: (