Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перенос базы на новый сервер  [new]
Genius
Member

Откуда: Россия, Москва
Сообщений: 41
Добрый день.

Ситуация: имеем 2 SQL-сервера с установленной между ними merge-репликацией.
Куплен новый сервер, на него нужно перенести базу данных с имеющегося push-сервера. Как это сделать наиболее безболезненно и с наименьшим временем, чтобы это по минимуму затронуло работу пользователей?

1. Остановить старый push-сервер, бэкапнуть базу, перенести на новую, и настроить новую репликацию.
2. Включить в репликацию новый сервер (возможно ли иметь 2 push-сервера? что-то мне подсказывает, что нет...), а потом исключить из репликации старый? "В этом месте у меня сплошные пробелы..." к/ф Достучаться до небес.

Заранее благодарен за любые советы.
23 авг 04, 12:30    [900745]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
злой шаман
Member

Откуда: Питер
Сообщений: 1253
Я вижу два варианта:

A (надежный, но долгий)

1) cделать скрипт репликации
2) остановить работу пользователей
3) сделать последнюю синхронизацию и запретить ее джобы
4) снести репликацию
5) перенести базы бэкапами
6) создать репликацию
7) реинициализировать подписчиков

B (быстрый, но недокументированный)

1) установить на новый сервер MSSQL полностью аналогично старому серверу, с точностью до расположения папок, select @@version и startup account для сервисов
2) остановить работу пользователей
3) сделать последнюю синхронизацию и запретить ее джобы
4) остановить сервис MSSQLSERVER на обоих серверах
5) перенести копированием все файлы данных всех баз из папки DATA (и из всех других, если есть)
6) переименовать сервера, чтобы новый сервер получил имя старого (обязательный шаг)
7) запустить сервис MSSQLSERVER на новом сервере
8) проверить работоспособность репликации
9) запостить сюда результаты

Разумеется, перед всем этим нужно сделать бэкапы всех баз (включая системные) при работающей репликации (после шага 3), а еще лучше снимок файлов баз данных.
23 авг 04, 12:51    [900834]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
andy st
Member

Откуда:
Сообщений: 838
злой шаман
Я вижу два варианта:
B (быстрый, но недокументированный)

1) установить на новый сервер MSSQL полностью аналогично старому серверу, с точностью до расположения папок, select @@version и startup account для сервисов
2) остановить работу пользователей
3) сделать последнюю синхронизацию и запретить ее джобы
4) остановить сервис MSSQLSERVER на обоих серверах
5) перенести копированием все файлы данных всех баз из папки DATA (и из всех других, если есть)
6) переименовать сервера, чтобы новый сервер получил имя старого (обязательный шаг)
7) запустить сервис MSSQLSERVER на новом сервере
8) проверить работоспособность репликации
9) запостить сюда результаты

Разумеется, перед всем этим нужно сделать бэкапы всех баз (включая системные) при работающей репликации (после шага 3), а еще лучше снимок файлов баз данных.

способ очень даже работоспособный.
перевозили сервер с упгрейдом кол-ва процессоров и винта.
последовательность действий, правда, была малость другая
1. новый сервер отключаем от сети
2. даем ему имя старого
3. ставим sql server + паки по аналогии со старым. все пути и имя как на старом
4. настраиваем запуск серверных служб с доступом в сеть
5. останавливаем старый сервер
6. переименовываем его.
7. включаем новый в сеть
8. копируем всю папку data
9. гасим старый
10. даем его ip новому
11. стартуем новый

все заняло 2 часа (базы больше копировалbсь).
репликации, DTS-пакеты с джобами и не заметили, что сервер поменялся.
;)
23 авг 04, 13:32    [901020]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
andy st
Member

Откуда:
Сообщений: 838
уточнения:
5. останавливаем старый сервер (службу mssql и сопутствующие)
6. переименовываем его (меняем имя машины)
7. включаем новый в сеть (с именем старого)
..
9. гасим старый (в смысле - вырубаем железку или выдергиваем сетку)
..
23 авг 04, 13:36    [901042]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Genius
Member

Откуда: Россия, Москва
Сообщений: 41
Кстати, возник попутный вопрос - а почему не сделать так?

- делаем на старом пуш-сервере Disable publishing
- останавливаем веб-службы на обоих серверах, участвующих в репликации
- настраиваем новую репликацию на новом сервере
- запускаем веб-службы на новом сервере и на старом удаленном сервере.

?
24 авг 04, 10:06    [902904]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Genius
Member

Откуда: Россия, Москва
Сообщений: 41
да, есс-но между 2 и 3 этапом мы переносим базу со старого сервера на новый :)
24 авг 04, 10:08    [902913]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Я бы вначале удалил подписки и публикации, а потом на новом сервере создал всё заново. Вполне может оказаться самым быстрым вариантом...

Если нет, то посмотрите шаг 4:
https://www.sql.ru/articles/mssql/01102201SettingUpMergeReplicationStepbyStepGuide.shtml

Могут оказаться полезными и эти статьи:

https://www.sql.ru/articles/mssql/01062101DetachDBtoNewLocation.shtml
https://www.sql.ru/articles/mssql/01070902AttachingDetachingFiles.shtml
https://www.sql.ru/articles/mssql/01091503CopyingDatabaseServerToServer.shtml
https://www.sql.ru/articles/mssql/02012201UnderstandingTroubleshootingCopyDatabaseWizard.shtml
https://www.sql.ru/articles/mssql/02080601TransferLoginsandPasswordsBetweenSQLServers.shtml

Кстати, что касается попыток имитации старого сервера на новом, то это может аукнуться в будущем непонятными проблемами. Да и не всегда этот способ подходит, т.к. на новое железо ставят обычно и новый софт. К тому же, конфигурация может быть более продвинутая и на неё лучше ставить всё поправильтному, что бы не создавать проблем или узких мест производительности.
24 авг 04, 11:23    [903217]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Genius
Member

Откуда: Россия, Москва
Сообщений: 41
Все получилось, причем довольно быстро и качественно :) Итак, поэтапно:

- останавливаем веб-службы на старых серверах
- останаваливаем репликацию
- удаляем подписчиков, делаем disable publishing
- импортируем базу со старого push-сервера на новый
- настраиваем publishing и создаем репликацию
- все :)
26 авг 04, 17:03    [911785]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Перенос базы на новый сервер  [new]
Денис Таранда
Guest
доброго времени суток
возникла проблемка - необходимо в очередной раз переставить систему на сервере, где крутится SQL Server 2005 SP2
Microsoft SQL Server 2005 - 9.00.3257.00 (X64)   Jun 12 2008 16:47:07   Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
мало того это Publisher merge репликации (порядка 60 публикаций и 7 подписчиков)
подскажите, как эту богодельню поднять после переустановки системы?

предыдущий опыт:
остановил всех агентов
остановил сам сервер
скопировал все БД (включая системные) на другой сервер (просто файлы, чтоб потом обратно переписать)
перествили систему (сохранив имя сервера, IP, разбиение дисков, пути к базам)
переустановил SQL Server
опять остановил все службы
переписал все базы поверх, опять же, включая системные
запустил... не работает

подскажите, что я сделал не так?
где ошибка? (про ДНК в курсе :) )
уж очень не хочется опять потратить ночь на восстановление репликации (даже скриптами, т.к. там пароли надо прописывать заново :( )
25 мар 09, 16:06    [6974249]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Glory
Member

Откуда:
Сообщений: 104751
Денис Таранда
д
запустил... не работает

И откуда вы узнали, что не работает ? Где-то что-то прочитали/увидели ?
25 мар 09, 17:08    [6974661]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Денис Таранда
Guest
Glory
И откуда вы узнали, что не работает ? Где-то что-то прочитали/увидели ?

попадало с ошибками
за давностью времён уже не помню с какими именно, уж простите :(
25 мар 09, 18:30    [6975312]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Glory
Member

Откуда:
Сообщений: 104751
Денис Таранда
Glory
И откуда вы узнали, что не работает ? Где-то что-то прочитали/увидели ?

попадало с ошибками
за давностью времён уже не помню с какими именно, уж простите :(

И каких ответов вы тогда ожидаете в данной теме ?
25 мар 09, 18:57    [6975444]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Денис Таранда
Guest
Glory
И каких ответов вы тогда ожидаете в данной теме ?

я же описал алгоритм предыдущих действий
вот и стремлюсь узнать, может в нём какой косяк
25 мар 09, 19:13    [6975492]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Glory
Member

Откуда:
Сообщений: 104751
Денис Таранда
Glory
И каких ответов вы тогда ожидаете в данной теме ?

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

Проще прочитать сообщение об ошибке и сразу начинать искать ее причины,чем выяснять у вас что именно вы делали в каждом шаге. Например, какой лично у вас список системных баз
25 мар 09, 21:05    [6975742]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Денис Таранда
Guest
Glory

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

master
model
msdb
ditribution
tempdb
25 мар 09, 23:06    [6976034]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Glory
Member

Откуда:
Сообщений: 104751
Денис Таранда
Glory

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

master
model
msdb
ditribution
tempdb

Это был не вопрос. Это был пример неэффективного пути поиска причин проблемы
25 мар 09, 23:17    [6976056]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
Денис Таранда
Guest
извините, но не понял про неэффективный путь
в догонку вопрос, ditribution база, если её просто подложить на старое место, подымется или нет?
или вначале надо настроить сервер, как publisher & distributor, а потом базу подменить?
25 мар 09, 23:25    [6976070]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Перенос базы на новый сервер  [new]
ramartynov
Member

Откуда:
Сообщений: 2
andy st
способ очень даже работоспособный.
перевозили сервер с упгрейдом кол-ва процессоров и винта.
последовательность действий, правда, была малость другая
1. новый сервер отключаем от сети
2. даем ему имя старого
3. ставим sql server + паки по аналогии со старым. все пути и имя как на старом
4. настраиваем запуск серверных служб с доступом в сеть
5. останавливаем старый сервер
6. переименовываем его.
7. включаем новый в сеть
8. копируем всю папку data
9. гасим старый
10. даем его ip новому
11. стартуем новый

все заняло 2 часа (базы больше копировалbсь).
репликации, DTS-пакеты с джобами и не заметили, что сервер поменялся.
;)


Я с установкой и настройкой MS SQL столкнулся впервые.
Первая задача - перенос MS SQL на новый сервер, т.к. старый уже изжил свое.
Мне, как новичку, не понятно как осуществить 3-ий пункт.
Как посмотреть "все пути" на старом? Версию такую же установил на новом.
25 апр 14, 08:50    [15933191]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
ramartynov,

пути в program files
и полагаю пути к бд - можно увидеть в свойствах инстанса(в менеджмент студии например)
25 апр 14, 09:40    [15933356]     Ответить | Цитировать Сообщить модератору
 Re: Перенос базы на новый сервер  [new]
ramartynov
Member

Откуда:
Сообщений: 2
AnyKey45
ramartynov,

пути в program files
и полагаю пути к бд - можно увидеть в свойствах инстанса(в менеджмент студии например)

А как мне узнать, какой режим сопоставления используется в старой БД?
25 апр 14, 12:17    [15934637]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить