Перенос базы данных SQL2000 в SQL2005 на другом компьютере.

StackOverflow https://stackoverflow.com/questions/154549

  •  03-07-2019
  •  | 
  •  

Вопрос

Я уже несколько дней бьюсь над этой миграцией приложения.У меня есть старое приложение на базе MSSQL Server 2000, которое обновляется до Windows 2003 Server с SMSQL Server 2005.Я мало знаю о SQL Server, но явно недостаточно.

Я попытался создать резервную копию базы данных на старом сервере, перейдя в «Базы данных» -> «База данных» -> «Все задачи» -> «Резервное копирование базы данных...», выбрав «Полное» и сохранив файл.Я переместил этот файл резервной копии на новый сервер и попытался выполнить восстановление, но он пожаловался, что ищет файл [Database].mdf в том месте, где он находился на старом сервере.

Итак, я попытался выполнить экспорт данных, выбрал локальную базу данных SQL 2000, указал ее на новую базу данных SQL 2005 на другом компьютере, и она дошла до конца и умерла, жалуясь на то, как выглядит одна из таблиц. присоединяются.

Затем я попытался выполнить команду «Создать SQL» на компьютере 2000 и запустить ее под SQL 2005.Похоже, что существует множество внешних объединений, использующих старый синтаксис *=, который SQL Server 2005 больше не поддерживает, и, поскольку это база данных поставщика, они понятия не имеют, каковы были их истинные намерения, когда они настраивали эти таблицы.

Есть ли другой способ попробовать перенести эту базу данных?

Это было полезно?

Решение

Файл резервной копии имеет «жесткое» местоположение хранящихся в нем файлов данных.Вам просто нужно их обновить:

При восстановлении в 2005 году, прежде чем нажать последнюю кнопку «ОК» для восстановления (после того, как вы выбрали файл .bak), перейдите на вкладку параметров.Это будут местоположения mdf и ldf, которые были в файле резервной копии.Измените их на законные каталоги на вашем новом компьютере.

Другие советы

Вы можете отсоединить базу данных от старого сервера, скопировать mdf и ldf (и любые другие связанные файлы) на сервер-сервер, а затем прикрепить базу данных к новому серверу.

Когда вы присоедините его, SQL Server обновит его до базы данных в формате 2005.Если у вас проблемы с совместимостью, вы также можете это изменить.В студии управления SQL Server щелкните правой кнопкой мыши свою базу данных, выберите «Свойства», выберите «Параметры» и измените режим совместимости на «SQL Server 2000 (80)».

Как заметил Питер, вам придется изменить путь на новый, существующий на новом сервере.
Эта картинка поможет:

restore

Один трюк, который я узнал много лет назад, - это нажать последнюю кнопку выбора («Оставить базу данных только для чтения...») на минуту, чтобы просмотреть и скопировать расположение файлов данных на новом сервере. Только не забудьте вернуть его на первый вариант перед восстановлением

Создайте резервную копию базы данных SQL2000 в файл.Создайте новую базу данных на SQL2005 с тем же именем и восстановите файл резервной копии в новую базу данных с опцией «принудительное восстановление существующей базы данных» и установите уровень совместимости новой базы данных на «SQL2000 (8.0)».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top