Миграция с sql server 2000 на 2008 r2-как

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

спасибо!

7 ответов


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

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

ты молодец! Больше ничего нет..... просто резервное копирование (в старой системе) и восстановление (в новой системе).

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

обновление: as @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.


Я бы начал с запуска советника по обновлению на сервере 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

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


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

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

то, что мы сделали, было:

1) Создать сценарий. У нас был сценарий, который будет динамически писать сценарий для выполнения следующих действий: drop login, drop db user, Drop schema, recreate login, recreate user, grant user permissions.

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

4) запустите сгенерированный скрипт


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

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

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


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

для обновления" in-situ " (ссылки 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 Сервер 2008 R2 для SQL Server 2012.


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


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