Перенос базы данных SQL2000 в SQL2005 на другой компьютер - PullRequest
2 голосов
/ 30 сентября 2008

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

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

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

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

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

Ответы [ 4 ]

5 голосов
/ 30 сентября 2008

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

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

2 голосов
/ 30 сентября 2008

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

restore

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

2 голосов
/ 30 сентября 2008

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

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

0 голосов
/ 16 декабря 2010

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

...