2011-04-11 4 views
9

У меня есть база данных, работающая на SQL Server 2000. Теперь мы переходим на новый сервер с SQL Server 2008 r2. Может ли кто-нибудь указать мне какой-то ресурс или howto? Я не очень хорошо разбираюсь в SQL 2000.Миграция с SQL Server 2000 на 2008 r2 - как

Спасибо!

+0

Вы не понимаете SQL Server 2000? – gbn

ответ

12

В принципе, то, что вам нужно сделать, это:

  • резервную копию базы данных в SQL Server 2000 в .bak файл
  • ход, * .bak файл на новый сервер
  • восстановить эту базу данных на ваш новый сервер

Все готово! В этом нет ничего более ... просто резервного копирования (на вашей старой системе) и восстановления (в вашей новой системе).

Итак, где именно ваша проблема?

Обновление: как @ Péter правильно упоминает: это оставляет вашу базу данных в режиме совместимости SQL Server 2000. Это означает: даже если вы «перенесли» на SQL Server 2008 R2, вы можете использовать только функции 2000.

Для того, чтобы увидеть, что режим совместимости вашей базы данных, проверьте вид sys.databases каталога:

SELECT * FROM sys.databases WHERE name = 'YourDatabaseName' 

Одна колонка называется compatibility_level и содержит INT; 80 = SQL Server 2000, 90 = SQL Server 2005, 100 = SQL Server 2008/2008 R2 и 110 = SQL Server 2012

Для того, чтобы изменить свою базу данных на другой уровень совместимости, используйте следующую команду:

ALTER DATABASE YourDatabaseNameHere 
SET COMPATIBILITY_LEVEL = 100; 

Это поместит вашу базу данных в «родной» режим SQL Server 2008 (и 2008 R2), и теперь ваша миграция завершена, вы можете использовать все новые функции SQL Server 2008 R2.

+2

Нет проблем. Мне просто интересно, что я должен делать, и это только тот ответ, который я искал. Выполнение резервного копирования на старом сервере и восстановление на новом сервере. Спасибо. –

+1

Я читал всевозможные вещи, такие как экспорт или отсоединение файлов DB и т. Д. –

+1

не совсем .. - если есть DB Login, тогда их нужно будет воссоздать и связать - если вы используете любые «* =» или «* = * "присоединяется к этому синтаксису, теперь он устарел и приведет к сбою этих запросов, вам потребуется заменить современным синтаксисом - при восстановлении базы данных вы будете владельцем, вы должны изменить это на системную учетную запись, такую ​​как SA – matao

0

Edited апреля 2012, потому что оригинальная ссылка изменилась до последней версии, SQL Server 2012

для "на месте" обновления (MSDN ссылки):

... к SQL Server 2008 R2

Вы можете обновить экземпляры SQL Server 2000, SQL Server 2005 или SQL Server 2008 до SQL Server 2008 R2.

... к SQL Server 1012

Вы можете обновить SQL Server 2005, SQL Server 2008 и SQL Server 2008 R2 для SQL Server 2012.

+0

Эта ссылка изменилась на SQL Server 2012. Больше не отвечает на вопрос. – Andrew

+0

@Andrew: фиксированные ссылки, спасибо – gbn

3

Я хотел бы начать, запустив Upgrade Advisor на сервере 2000 (при низкой нагрузке или нерабочее время), чтобы увидеть, какие рекомендации он делает и полностью решить каждый: http://msdn.microsoft.com/en-us/library/ms144256.aspx

Здесь тоже белая бумага от MS по теме: http://download.microsoft.com/download/2/0/B/20B90384-F3FE-4331-AA12-FD58E6AB66C2/SQL%20Server%202000%20to%202008%20Upgrade%20White%20Paper.docx

Многие могут пойти не так, как надо ... слишком много, чтобы прикрыть в настройках форума. Но опять же ничто не могло пойти не так ... лучший план, тест, а затем проверить еще кое-что.

+0

Хороший совет, для тех, кто хочет обновиться. Это было не то, о чем я просил, но не позволяйте мне остановить вас. Ответьте на любой вопрос, который вам нравится :) –

+0

Извините, возможно, вам не стоит беспокоиться о том, что вы переносите базу данных на 2008 R2, что подразумевает обновление. Как просить то, что вам действительно нужно, учебник для SQL 2000 ;-) –

0

Другие ответы правильны с технической точки зрения, но не с точки зрения поддержки.

Я не думаю, что Microsoft поддерживает прямое обновление с SQL Server 2000 до SQL Server 2008 R2. Это не значит, что это сложно, просто потому, что он не поддерживается. (Что может быть или не быть значимым для вашего сценария)

Вы можете обновить экземпляр SQL Server 2000 до SQL Server 2008 R1, а затем выполнить последующее обновление до SQL Server 2008 R2. (Или даже SQL Server 2012, если вы так склонны)

1

В настоящее время я делаю то же самое.

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

Что мы закончили делать было:

1) Создание сценария. У нас был скрипт, который динамически записывал бы скрипт, чтобы сделать следующее: отменить вход, удалить db-пользователя, удалить схему, заново создать логин, воссоздать пользователя, предоставить разрешения пользователя.

2) Восстановить базу данных.

4) Запустите созданный сценарий

0

еще один вариант заключается в попытке подключиться к базе данных (файлов) из sql2k непосредственно sql2k8.

0

Самый простой способ - создать резервную копию базы данных в SQL 2000 в файл .bak и переместить ее. Сделайте восстановление, и все будет хорошо. Запустите sp_Users_Loging, чтобы идентифицировать пользователей на сервере-сироте.

Смежные вопросы