В настоящее время у нас есть односторонняя репликация транзакций от издателя / дистрибутора OLTP SQL Server 2005 к двум подписчикам (одному SQL 2005 и другому SQL2008 R2). Безопасность репликации обеспечивается через учетную запись службы домена агентов SQL (во всех ящиках используется одна и та же учетная запись).
Подписчик SQL2008R2 используется для целей бизнес-аналитики и размещает базу данных, которая имеет подмножество таблиц базы данных производственного издателя с различными уровнями безопасности и индексами.
Нам нужно перенести этого подписчика BI на более новый компьютер с более производительным оборудованием.
План такой:
Остановите репликацию на блок BI (продолжите репликацию на другого подписчика).
Сделайте резервную копию всех баз данных в блоке BI (включая системные базы данных).
Восстановите все базы данных (включая главную в однопользовательском режиме) в новый блок BI (в нем уже установлен SQL Server 2008R2).
Выньте старый блок BI из сети и выключите его.
Переименуйте и повторно установите IP-адрес нового блока BI, чтобы он был таким же, как старый блок.
Переименуйте SQL (sp_dropserver и sp_addserver).
Коробка перезагрузки.
Снова включите репликацию.
Есть ли недостатки в таком подходе?
Я предпочитаю устанавливать SQL на новый ящик ПОСЛЕ переименования, потому что sp_dropserver
и sp_addserver
не переименовывает локальные группы, созданные SQL. В любом случае: убедитесь, что новый ящик имеет ту же SQL-сборку, что и исходный.