Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 копия сервера  [new]
нуб987
Guest
стоит задача перенести все пользовательские базы с одного сервера на другой. Как это можно сделать максимально быстро с минимальным разрывом рабочего процесса?
Пока это представляется так:
1. Делаются полные бекапы на первом сервере.
2. Затем сразу поднимаются на другом.
3. Отключаются все пользователи.
4. Потом делаются разностные бекапы на первом.
5. Разностные бекапы поднимаются на втором.
6. Сервера переименовываются (второй становится первым) и запускаются.

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

Есть ли еще варианты?
22 фев 17, 02:07    [20235501]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7373
нуб987,

зеркало на вторичном сервере уже предлагали?
22 фев 17, 02:39    [20235515]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
aleks2
Guest
нуб987
Есть ли еще варианты?


1. Создаете на новом ТОЧНО такую же структуру дисков и папок, как на старом.
2. Останавливаете службу MS SQL на обоих серверах.
3. Копируете ВСЕ (включая системные) базы со старого на новый В ТОЧНО ТЕ ЖЕ папки.
4. Стартуете новый.
5. Наслаждаетесь абсолютной копией.
22 фев 17, 05:55    [20235558]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
Нектотам
Guest
aleks2,

6. Не забыть переименовать (см
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName'); 
)
22 фев 17, 14:45    [20237417]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
нуб987
Guest
aleks2
нуб987
Есть ли еще варианты?


1. Создаете на новом ТОЧНО такую же структуру дисков и папок, как на старом.
2. Останавливаете службу MS SQL на обоих серверах.
3. Копируете ВСЕ (включая системные) базы со старого на новый В ТОЧНО ТЕ ЖЕ папки.
4. Стартуете новый.
5. Наслаждаетесь абсолютной копией.

вот на шаге 3 затык: копироваться будет несколько часов
22 фев 17, 15:27    [20237622]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
Нектотам
Guest
нуб987,


1. Поднять 2-й сервер
2. Настроить его (память, tempdb, linked servers, джобы и всё такое)
3. Все пользовательские базы 1-го перевести в full recovery model
4. Сделать полные бэкапы всех БД 1-го сервера
5. Восстановить полные бэкапы всех БД 1-го сервера на 2-м в Norecovery
6. Делать каждые 10 минут резервные копии журналов
7. Восстанавливать резервные копии журналов на 2-м (желательно тоже постоянно)
8. В час "Ч" отключить пользователей (время простоя пошло)
9. Довосстановить резервные копии журналов на 2-м (10 минут)
10. Завершить (заранее подготовленным скриптом) настройку: переименовать сервер, синхронизировать те же @@SERVERNAME, SERVERPROPERTY('ServerName') и т.п.- 10-20 минут.
11. Проверить минимально работу основных функций сервера. (еще минут 10)
12. Включить джобы, пустить пользователей. До этого момента можно почти мгновенно прервать переход.
13. Тщательно мониторить эксепшены и логи на предмет "абы чаво".


Итоговый простой не более 40 минут. Тщательно спланировав можно уложиться в 10-15.
22 фев 17, 15:38    [20237660]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
komrad
Member

Откуда:
Сообщений: 5249
Нектотам
нуб987,


1. Поднять 2-й сервер
2. Настроить его (память, tempdb, linked servers, джобы и всё такое)
3. Все пользовательские базы 1-го перевести в full recovery model
4. Сделать полные бэкапы всех БД 1-го сервера
5. Восстановить полные бэкапы всех БД 1-го сервера на 2-м в Norecovery
6. Делать каждые 10 минут резервные копии журналов
7. Восстанавливать резервные копии журналов на 2-м (желательно тоже постоянно)
8. В час "Ч" отключить пользователей (время простоя пошло)
9. Довосстановить резервные копии журналов на 2-м (10 минут)
10. Завершить (заранее подготовленным скриптом) настройку: переименовать сервер, синхронизировать те же @@SERVERNAME, SERVERPROPERTY('ServerName') и т.п.- 10-20 минут.
11. Проверить минимально работу основных функций сервера. (еще минут 10)
12. Включить джобы, пустить пользователей. До этого момента можно почти мгновенно прервать переход.
13. Тщательно мониторить эксепшены и логи на предмет "абы чаво".


Итоговый простой не более 40 минут. Тщательно спланировав можно уложиться в 10-15.

заменить п.6 и п.7 на "настройка мирроринга (синхронного)"
заменить п.8 и п.9 на "переключение зеркал"
сэкономит кучу ручной работы и даст возможность переключиться обратно, если серверы переименовывать не будете (на клиентах можно локальные алиасы прописать, если их немного)
22 фев 17, 15:44    [20237684]     Ответить | Цитировать Сообщить модератору
 Re: копия сервера  [new]
Нектотам
Guest
komrad
заменить п.6 и п.7 на "настройка мирроринга (синхронного)"
заменить п.8 и п.9 на "переключение зеркал"
сэкономит кучу ручной работы и даст возможность переключиться обратно, если серверы переименовывать не будете (на клиентах можно локальные алиасы прописать, если их немного)

Разумно, если скорость мирроринга (синхронного!) позволяет и настройки системы в целом позволяют. Алиасы - не всегда вариант.
И, да, заранее согласен - переименование серверов внешне простая операция которая может подложить несколько мин и труднодиагностируемых проблем.

По поводу ручных операций: когда примерно 6-7 назад мне приходилось переносить много БД таким или подобным образом, то все скрипты были под рукой. В большинстве случаев переезд был совершенно прозрачен и создавал копеечный простой типа 5 минут.
22 фев 17, 15:55    [20237705]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить