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

Перенос базы данных SQL Server со старого рабочего сервера на новый

У нас был единый производственный сервер для веб-сайта и базы данных SQL Server. Мы планируем создать новый производственный сервер для веб-сайта и SQL Server. Нам нужно переместить базу данных SQL Server со старого сервера на новый.

Итак, как я могу перенести / переместить БД на новый производственный сервер с меньшим временем простоя?

Спасибо, Велу.

Если вы используете SQL Server 2005/2008, вы можете использовать зеркальное отображение:

  • установить новый экземпляр SQL Server
  • создать зеркальную базу данных на этом сервере с рабочего сервера
  • подождите, пока базы данных синхронизируются
  • выключить старый сервер
  • удалить зеркало с нового сервера
  • восстановить зеркальную базу данных

Время простоя = время для удаления зеркала и восстановления базы данных

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

  • установить новый экземпляр SQL Server
  • создать резервную копию из производственной БД
  • скопировать и восстановить производственную БД с опцией NORECOVERY на новом сервере
  • превратить производственную базу данных в однопользовательский режим
  • сделать резервную копию журнала транзакций
  • выключить производственный сервер
  • копировать и восстанавливать журнал с опцией ВОССТАНОВЛЕНИЕ на новом сервере

Время простоя = время для создания резервной копии журнала, копирования и восстановления этой резервной копии на новом сервере

Зависит - сколько вы знаете?

Один из способов - настроить зеркалирование, затем переключить зеркало и удалить старый сервер. Зеркалирование, otoh, немного глубже в sq server, чем использование пользовательского интерфейса для настройки базы данных.

Я знаю, что приведенный ниже способ не является самым эффективным или продвинутым, но я действительно думаю, что это способ, который почти каждый может сделать с минимальной помощью и небольшим временем простоя ...

Предполагая, что вы говорите о базе данных для CMS, вы могли бы получить временный URL-адрес для нового местоположения веб-сайта на новом сервере (мы используем внешний хостинг, и они, как правило, это настраивают - временный URL-адрес обычно суффикс IP-адреса). Затем просмотрите базу данных, заменив значения, относящиеся к старому URL-адресу, на новый, временный.

Затем вы также можете восстановить сайт на новом сервере (или на другом), заменив значения для нового URL-адреса. Это дает вам возможность проверить работу базы данных. Когда вы довольны, вы можете просто изменить DNS (или записи A или что-то еще), чтобы исходный URL-адрес указывал на новый сервер, изменить все обратно (что должно занять минуту или две с хорошими процедурами поиска и замены) и bobs твой дядя. Это не самый быстрый способ выполнить перенос, но он должен обеспечить наименьшее время простоя вашего сайта и обеспечить уверенность в том, что все будет работать.

Какую CMS вы используете?

Если файлы базы данных находятся на LUN сами по себе (или вместе с другими файлами, которые вы также можете переместить), вы можете отсоединить LUN от старого сервера и присоединить их к новому. Затем вы должны сделать «создать базу данных ... для присоединения» на новой стороне.

Кроме того, мне понравилась идея кластеров с одним узлом для будущих нужд. Таким образом, если вам нужно новое оборудование, вы можете добавить узел в кластер, запустить настройку узла и приступить к делу. Однако это предполагает SQL 2008+.