Назад | Перейти на главную страницу

Как лучше всего переместить 20+ баз данных на новый сервер баз данных? SQL 2005

Текущий сервер базы данных: SQL Server 2005 - Windows Server 2003 Новый целевой сервер базы данных: SQL Server 2005 - Windows Server 2003 Enterprise - Образ VM Ware

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

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

Я могу придумать несколько подходов (все они будут протестированы): 1. Сторонние преобразователи физических в виртуальные - затем выключите старую систему.
- issues = ассоциации SID, Windows или SQL Server это не устраивает.

  1. Перенести сразу все базы данных на новый сервер. Выключите старый сервер, измените имя хоста на новом виртуальном поле на старое.

  2. Переместите все сразу, но используйте другое имя хоста для нового окна - это позволяет параллельный запуск в случае, если что-то сломается - проблема = необходимо изменить имя хоста в каждом приложении - могут возникнуть проблемы.

  3. Перемещайтесь по каждой базе данных поэтапно - это также означает новое имя хоста и более длительный, более длительный проект.

У кого-нибудь еще есть подобный сценарий?

Мы перешли с одного SQL-сервера на новый SQL-кластер (все новое оборудование). Около 70 баз данных. Мы сделали это так, чтобы отсоединить базы данных, скопировать файлы, а затем присоединить базы данных к новым узлам SQL.

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

Один из способов минимизировать время простоя - использовать доставку журналов с одного сервера на другой. Это требует повторного указания конфигураций приложения, но имеет то преимущество, что сокращается время простоя. В целом процесс выглядит следующим образом:

  1. Создайте новый сервер и переместите задания / логины / SSIS и т. Д.
  2. Настройте исходную базу данных для доставки журналов и начните доставку.
  3. Остановите приложение (я) и установите БД только для чтения.
  4. Сделайте резервную копию последнего журнала транзакций для базы данных.
  5. Восстановите последний журнал транзакций на новом сервере без восстановления.
  6. Установите новую БД на чтение / запись.
  7. Верните перенаправленную заявку обратно в онлайн.

Пара заметок:

  • DB Mirroring - аналогичное решение.
  • Репликация на уровне SAN также аналогична, но для нее требуются специальные SAN (например, HP EVA).

Плюсы:

  • Минимальное время простоя.
  • Установить доставку журналов довольно просто.
  • Откатить план довольно просто.

Минусы:

  • Больше ручных шагов.
  • Необходимо проверить приложение, чтобы убедиться, что оно правильно настроено (дополнительная работа системного администратора / администратора базы данных).

Итак, есть компромисс, но этот метод работает, и это достаточно распространенная техника.

Эрик -

По моему опыту, p2v - отличный и быстрый вариант, но не идеальный, если вы хотите минимизировать время простоя. Я бы использовал его только тогда, когда существующие серверы не беспорядок, а виртуализация предназначена только для рационализации оборудования. (т.е. вы не переименовываете ящик, не помещаете его в новый AD и т. д.)

SQL Server и Windows будут в порядке, если вы используете p2v, но вам нужно остановить службы SQL Server, прежде чем запускать p2v. Windows SID и т. Д. Останутся неизменными, Windows не любит, когда физические и виртуальные серверы подключены к одной сети.

Если вы выберете метод присоединения / отсоединения, убедитесь, что вы также скопировали:

  • входы на сервер sql
  • задания агента сервера sql (включая задания резервного копирования)
  • связанные серверы
  • расширенные хранимые процедуры

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

Параллельная работа может привести к изменению данных между моментом создания копии и соответствующим обновлением копии. Обновление приложений для указания нового имени хоста также может вызвать неприятности.

Я бы порекомендовал использовать параллельную настройку для тестирования каждого приложения, но когда я доволен тестированием, я бы, вероятно, использовал Detach / Attach: Как переместить базы данных SQL Server в новое место с помощью функций отсоединения и присоединения в SQL Server

Если у вас есть несколько долларов, которые можно потратить, например 300,00 или около того, ознакомьтесь с набором инструментов администратора idera. Отличный софт. Я использовал его в недавнем проекте. Он перемещал базы данных и любые связанные объекты, включая пользователей. Это стоило того. За 3 клика переместил все свои базы данных. Я до сих пор использую его для перемещения баз данных туда и обратно. Я считаю, что у них есть пробная версия. Также вы получаете множество других инструментов, таких как перемещение пользователей или объектов между базами данных и т. Д.