Перенос базы данных SQL2000 в SQL2005 на другой машине

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

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

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

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

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


person dragonmantank    schedule 30.09.2008    source источник


Ответы (4)


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

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

person Peter    schedule 30.09.2008

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

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

person George Mastros    schedule 30.09.2008

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

восстановить

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

person Eduardo Molteni    schedule 30.09.2008

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

person kutsoff    schedule 16.12.2010