Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблемы с репликацией при переносе сервера. / 25 сообщений из 29, страница 1 из 2
11.09.2012, 12:50
    #37952391
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Задача: перенести сервер на другую машину со сменой имени путем подсовывания всех баз, включая системные.
Пусть имя старого сервера SQL-1, имя нового SQL-2.

Проблема: на сервере SQL-1 настроена репликация, сервер является и паблишером и дистрибьютером.
После переноса всех баз, репликации на SQL-2 не появилось.

Попробовал поднять её скриптами:
Код: sql
1.
2.
3.
use [Main]
exec sp_addpublication @publication = N'Main_Stat', @description = N'Transactional publication of database ''Main'' ', @sync_method = N'concurrent', @retention = 0, @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'true', @enabled_for_internet = N'false', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21, @ftp_login = N'anonymous', @allow_subscription_copy = N'false', @add_to_active_directory = N'false', @repl_freq = N'continuous', @status = N'active', @independent_agent = N'true', @immediate_sync = N'true', @allow_sync_tran = N'false', @autogen_sync_procs = N'false', @allow_queued_tran = N'false', @allow_dts = N'false', @replicate_ddl = 1, @allow_initialize_from_backup = N'false', @enabled_for_p2p = N'false', @enabled_for_het_sub = N'false'
GO


получаю ошибку:
Код: sql
1.
2.
3.
4.
Msg 15466, Level 16, State 2, Procedure sp_MSrepl_getdistributorinfo, Line 93
Во время расшифровки произошла ошибка.
Msg 14071, Level 16, State 1, Procedure sp_MSrepl_addpublication, Line 171
Невозможно найти распространителя или базу данных распространителя для локального сервера. Возможно, распространитель не установлен, или у распространителя не настроен в качестве издателя локальный сервер.



Пытаяюсь объявить сервер SQL-2 паблишером и дистрибьютером:
Код: sql
1.
2.
3.
use master
exec sp_adddistributor @distributor = N'SQL-2', @password = N''
GO


получаю ошибку:
Код: sql
1.
2.
Msg 14099, Level 16, State 1, Procedure sp_adddistributor, Line 109
Сервер "SQL-1" уже определен в качестве распространителя. Для изменения настроек сервера в качестве распространителя сначала удалите существующего распространителя. Используйте хранимую процедуру sp_dropdistributor или мастер отключения публикации и распространения.



Следую совету:
Код: sql
1.
2.
use [master]
exec sp_dropdistributor @no_checks = 1


вываливается
Код: sql
1.
2.
3.
4.
Msg 15466, Level 16, State 2, Procedure sp_MSrepl_getdistributorinfo, Line 93
Во время расшифровки произошла ошибка.
Msg 20029, Level 16, State 1, Procedure sp_MSpublishdb, Line 57
Распространитель не был правильно установлен. Не удалось отключить базу данных для публикации.



Вопрос - как сохранить репликацию при переносе сервера с переименованием, или восстановить её с нуля при помощи скриптов?
...
Рейтинг: 0 / 0
11.09.2012, 13:38
    #37952531
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Oblom,

1) Если переносите все подкладыванием всех баз включая системные, то зачем меняете имя?
Если хотите чтобы реплика не ломалась - сохраняйте имя. К раздумью .
2) Если таки край нужно переименовать, то потребуется переподнять реплики, возможно с жестким сбросом текущих. Gроцесс переименования для понятия реплики должен быть корректно завершен .
...
Рейтинг: 0 / 0
11.09.2012, 13:54
    #37952567
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
gang,
переименовать надо, грубо говоря, задача создать копию сервера в этой же сети.

sp_removedbreplication не спасает, отрабатывает без ошибок, но ситуация остается той же. При попытке что-то сделать вываливается "Во время расшифровки произошла ошибка."(по аглицки An error occurred during decryption.).

Есть мнение, что это проблема MASTER KEY но, ни перегенерация:
Код: sql
1.
ALTER SERVICE MASTER KEY FORCE REGENERATE



ни восстановления из бекапа:
Код: sql
1.
2.
3.
4.
RESTORE MASTER KEY FROM FILE = 'path_to_file' 
    DECRYPTION BY PASSWORD = 'password'
    ENCRYPTION BY PASSWORD = 'password'
FORCE



не спасают.
...
Рейтинг: 0 / 0
11.09.2012, 13:59
    #37952580
Ozerov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Гхм...

А перенести логины, затем поднять базы из бэкапа и настроить подписку на существующую публикацию не проще ?
...
Рейтинг: 0 / 0
11.09.2012, 13:59
    #37952582
Ozerov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
В смысле без переноса системных баз и тп...
...
Рейтинг: 0 / 0
11.09.2012, 14:07
    #37952603
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
[quot Oblom]gang,
переименовать надо, грубо говоря, задача создать копию сервера в этой же сети.
[/src]
А исходное имя необходимо сохранить за старым сервером? Может проще будет его (старый) переименовать?
...
Рейтинг: 0 / 0
11.09.2012, 14:34
    #37952655
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
gang,

старый - боевой, новый - тестовый. Переносить надо так, переименовывать надо так.
Вопрос как побороть неработающую дешифровку в репликации, если не регенерация ключа, ни восстановление его из бекапа не помогают.
...
Рейтинг: 0 / 0
11.09.2012, 14:50
    #37952693
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Oblom,

Ваша проблема в том, что в sysservers repl_distributor указывает на старый сервер. Соответственно, в системных таблицах в БД msdb и distribution, то же самое.

Нужно:
1. Заскриптовать все публикации на SQL-1;
2. Удалить все публикации на SQL-1;
3. Включить поддержку репликации на SQL-2 и настроить дистрибьютора;
4. Перенести БД на SQL-2;
5. Применить скрипты из п.1 на SQL-2.
...
Рейтинг: 0 / 0
11.09.2012, 15:02
    #37952718
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
invm,

А если я хочу, чтобы репликация работала и на SQL-1(в данный момент это боевой сервер) и на SQL-2?
Проще говоря, как поменять на SQL-2 значение хоста для repl_distributor на 'SQL-2'?

Попытка заскриптовать публикации на SQL-1 и накатить их на SQL-2 нарываются на ошибку шифрования.
...
Рейтинг: 0 / 0
11.09.2012, 15:29
    #37952787
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Oblom,

Ну и как у вас два издателя будут реплицировать данные на одного и того же подписчика?
...
Рейтинг: 0 / 0
11.09.2012, 15:42
    #37952828
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
invmOblom,

Ну и как у вас два издателя будут реплицировать данные на одного и того же подписчика?

А кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.
...
Рейтинг: 0 / 0
11.09.2012, 16:10
    #37952899
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
OblomА кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.Тогда тем более не понятны ваши попытки попрыгать с бубном.
Установите новый сервер, настройте на нем репликацию, восстановите нужные БД из резервных копий и накатите скрипты создания публикаций, предварительно удалив из них создание подписок.
...
Рейтинг: 0 / 0
11.09.2012, 16:36
    #37952965
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
invm,

Время простоя должно быть 30 минут, объем баз 2ТБ. Боюсь backup/restore не совсем подходит.

По теме: то есть репликацию на SQL-2 я убить не могу в принципе?
...
Рейтинг: 0 / 0
11.09.2012, 16:36
    #37952966
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
invmOblomА кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.Тогда тем более не понятны ваши попытки попрыгать с бубном.
Установите новый сервер, настройте на нем репликацию, восстановите нужные БД из резервных копий и накатите скрипты создания публикаций, предварительно удалив из них создание подписок.
+1. Сначала выбор варианта переноса (обычно так выполняют перенос, а не копирование) подразумевающий максимальное сохранение конфигурации, а потом столько усилий чтобы ее поломать и настроить новую...
...
Рейтинг: 0 / 0
11.09.2012, 16:40
    #37952978
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
OblomВремя простоя должно быть 30 минут, объем баз 2ТБ. Боюсь backup/restore не совсем подходит.

А как вы копируете 2Тб баз менее чем за 30 минут?

OblomБоюсь backup/restore не совсем подходит.

Почему? backup операция онлайновая, на доступность боевой БД не влияет. Restore на отдельном сервере тем более. В чем загвоздка?

OblomПо теме:

Может так master key сковырнуть удастся?
...
Рейтинг: 0 / 0
11.09.2012, 16:41
    #37952981
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
gang,

да, это перенос, сейчас идет тестирование переноса.
вся проблема в том, что репликация не перенеслась. Задача её восстановить. Любым способом.
если бы она работала - вопросов бы не было.
...
Рейтинг: 0 / 0
11.09.2012, 16:42
    #37952988
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
[quot gang]OblomВремя простоя должно быть 30 минут, объем баз 2ТБ. Боюсь backup/restore не совсем подходит.

А как вы копируете 2Тб баз менее чем за 30 минут?

Хранилище отцепили от одного сервера, хранилище прицепили к другому серверу.

OblomБоюсь backup/restore не совсем подходит.

Почему? backup операция онлайновая, на доступность боевой БД не влияет. Restore на отдельном сервере тем более. В чем загвоздка?

При переносе хочется добиться согласованности данных.
...
Рейтинг: 0 / 0
11.09.2012, 16:45
    #37952998
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
OblomПо теме:

Может так master key сковырнуть удастся?[/quot]

Так тоже пробовал, не получается.
...
Рейтинг: 0 / 0
11.09.2012, 17:02
    #37953050
Ozerov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Можно перенести базы при помощи зеркалирования. Время простоя 0 минут.
Затем остановить сервер, убрать зеркалирование, настроить репликацию.
...
Рейтинг: 0 / 0
11.09.2012, 17:14
    #37953079
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Может кто знает как избавиться от ошибки "An error occurred during decryption replication" aka "Во время расшифровки произошла ошибка."

Варианты

ALTER SERVICE MASTER KEY FORCE REGENERATE WITH ENCRYPTION BY PASSWORD

RESTORE MASTER KEY FROM FILE = ''
DECRYPTION BY PASSWORD
ENCRYPTION BY PASSWORD

OPEN MASTER KEY
DECRYPTION BY PASSWORD
ALTER MASTER KEY
DROP ENCRYPTION BY SERVICE MASTER KEY;
ALTER MASTER KEY
ADD ENCRYPTION BY SERVICE MASTER KEY;
CLOSE MASTER KEY;

не помогли.
...
Рейтинг: 0 / 0
11.09.2012, 17:16
    #37953085
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
OblomМожет кто знает как избавиться от ошибки "An error occurred during decryption replication" aka "Во время расшифровки произошла ошибка."

Варианты

RESTORE MASTER KEY FROM FILE = ''
DECRYPTION BY PASSWORD
ENCRYPTION BY PASSWORD
не помогли.

Код: sql
1.
2.
3.
4.
RESTORE MASTER KEY FROM FILE = ''
    DECRYPTION BY PASSWORD
    ENCRYPTION BY PASSWORD
FORCE


?
...
Рейтинг: 0 / 0
11.09.2012, 17:20
    #37953091
gang
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
Oblom,

Кстати, а что у Вас сейчас возвращают
select srvname from master..sysservers where srvid=0
и
select @@servername
SQL-1 или SQL-2?
...
Рейтинг: 0 / 0
11.09.2012, 17:24
    #37953099
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
gang,

да, с FORCE, и REGENERATE тоже с FORCE
...
Рейтинг: 0 / 0
11.09.2012, 17:25
    #37953101
Oblom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
gangOblom,

Кстати, а что у Вас сейчас возвращают
select srvname from master..sysservers where srvid=0
и
select @@servername
SQL-1 или SQL-2?

Оба запроса возвращают SQL-2
...
Рейтинг: 0 / 0
11.09.2012, 18:55
    #37953288
РС_Николай
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с репликацией при переносе сервера.
OblomПроще говоря, как поменять на SQL-2 значение хоста для repl_distributor на 'SQL-2'?

OblomMsg 15466, Level 16, State 2, Procedure sp_MSrepl_getdistributorinfo, Line 93
Во время расшифровки произошла ошибка.


sp_setnetname @server = 'repl_distributor', @netname = 'SQL-CLUA'
В итоге в datasource_name меняется на нужный и ошибка пропадет.

НО, не уверен что другие ошибки решит.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблемы с репликацией при переносе сервера. / 25 сообщений из 29, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]