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

Откуда: Moscow Square
Сообщений: 635
Задача: перенести сервер на другую машину со сменой имени путем подсовывания всех баз, включая системные.
Пусть имя старого сервера SQL-1, имя нового SQL-2.

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

Попробовал поднять её скриптами:
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

получаю ошибку:
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 паблишером и дистрибьютером:
use master
exec sp_adddistributor @distributor = N'SQL-2', @password = N''
GO

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


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

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


Вопрос - как сохранить репликацию при переносе сервера с переименованием, или восстановить её с нуля при помощи скриптов?
11 сен 12, 12:50    [13145258]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

Откуда:
Сообщений: 1394
Oblom,

1) Если переносите все подкладыванием всех баз включая системные, то зачем меняете имя?
Если хотите чтобы реплика не ломалась - сохраняйте имя. К раздумью.
2) Если таки край нужно переименовать, то потребуется переподнять реплики, возможно с жестким сбросом текущих. Gроцесс переименования для понятия реплики должен быть корректно завершен.
11 сен 12, 13:38    [13145681]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
gang,
переименовать надо, грубо говоря, задача создать копию сервера в этой же сети.

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

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


ни восстановления из бекапа:
RESTORE MASTER KEY FROM FILE = 'path_to_file' 
    DECRYPTION BY PASSWORD = 'password'
    ENCRYPTION BY PASSWORD = 'password'
FORCE


не спасают.
11 сен 12, 13:54    [13145790]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Гхм...

А перенести логины, затем поднять базы из бэкапа и настроить подписку на существующую публикацию не проще ?
11 сен 12, 13:59    [13145824]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
В смысле без переноса системных баз и тп...
11 сен 12, 13:59    [13145828]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

Откуда:
Сообщений: 1394
[quot Oblom]gang,
переименовать надо, грубо говоря, задача создать копию сервера в этой же сети.
[/src]
А исходное имя необходимо сохранить за старым сервером? Может проще будет его (старый) переименовать?
11 сен 12, 14:07    [13145887]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
gang,

старый - боевой, новый - тестовый. Переносить надо так, переименовывать надо так.
Вопрос как побороть неработающую дешифровку в репликации, если не регенерация ключа, ни восстановление его из бекапа не помогают.
11 сен 12, 14:34    [13146075]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
Oblom,

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

Нужно:
1. Заскриптовать все публикации на SQL-1;
2. Удалить все публикации на SQL-1;
3. Включить поддержку репликации на SQL-2 и настроить дистрибьютора;
4. Перенести БД на SQL-2;
5. Применить скрипты из п.1 на SQL-2.
11 сен 12, 14:50    [13146260]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
invm,

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

Попытка заскриптовать публикации на SQL-1 и накатить их на SQL-2 нарываются на ошибку шифрования.
11 сен 12, 15:02    [13146395]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
Oblom,

Ну и как у вас два издателя будут реплицировать данные на одного и того же подписчика?
11 сен 12, 15:29    [13146709]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
invm
Oblom,

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


А кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.
11 сен 12, 15:42    [13146835]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
Oblom
А кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.
Тогда тем более не понятны ваши попытки попрыгать с бубном.
Установите новый сервер, настройте на нем репликацию, восстановите нужные БД из резервных копий и накатите скрипты создания публикаций, предварительно удалив из них создание подписок.
11 сен 12, 16:10    [13147121]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
invm,

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

По теме: то есть репликацию на SQL-2 я убить не могу в принципе?
11 сен 12, 16:36    [13147340]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

Откуда:
Сообщений: 1394
invm
Oblom
А кто сказал, что подписчики будут одни и те же?
Естественно подписчики будут разные.
Пока что задача восстановить публикацию, не создавая подписчиков вообще.
Тогда тем более не понятны ваши попытки попрыгать с бубном.
Установите новый сервер, настройте на нем репликацию, восстановите нужные БД из резервных копий и накатите скрипты создания публикаций, предварительно удалив из них создание подписок.

+1. Сначала выбор варианта переноса (обычно так выполняют перенос, а не копирование) подразумевающий максимальное сохранение конфигурации, а потом столько усилий чтобы ее поломать и настроить новую...
11 сен 12, 16:36    [13147341]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

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

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

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

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

Oblom
По теме:

Может так master key сковырнуть удастся?
11 сен 12, 16:40    [13147384]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
gang,

да, это перенос, сейчас идет тестирование переноса.
вся проблема в том, что репликация не перенеслась. Задача её восстановить. Любым способом.
если бы она работала - вопросов бы не было.
11 сен 12, 16:41    [13147388]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
[quot gang]
Oblom
Время простоя должно быть 30 минут, объем баз 2ТБ. Боюсь backup/restore не совсем подходит.

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

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

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

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

При переносе хочется добиться согласованности данных.
11 сен 12, 16:42    [13147404]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
Oblom
По теме:

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

Так тоже пробовал, не получается.
11 сен 12, 16:45    [13147423]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Можно перенести базы при помощи зеркалирования. Время простоя 0 минут.
Затем остановить сервер, убрать зеркалирование, настроить репликацию.
11 сен 12, 17:02    [13147543]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
Может кто знает как избавиться от ошибки "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;

не помогли.
11 сен 12, 17:14    [13147610]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

Откуда:
Сообщений: 1394
Oblom
Может кто знает как избавиться от ошибки "An error occurred during decryption replication" aka "Во время расшифровки произошла ошибка."

Варианты

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


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

?
11 сен 12, 17:16    [13147631]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
gang
Member

Откуда:
Сообщений: 1394
Oblom,

Кстати, а что у Вас сейчас возвращают
select srvname from master..sysservers where srvid=0
и
select @@servername
SQL-1 или SQL-2?
11 сен 12, 17:20    [13147648]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
gang,

да, с FORCE, и REGENERATE тоже с FORCE
11 сен 12, 17:24    [13147666]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
Oblom
Member

Откуда: Moscow Square
Сообщений: 635
gang
Oblom,

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


Оба запроса возвращают SQL-2
11 сен 12, 17:25    [13147671]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с репликацией при переносе сервера.  [new]
РС_Николай
Member

Откуда:
Сообщений: 11
Oblom
Проще говоря, как поменять на SQL-2 значение хоста для repl_distributor на 'SQL-2'?

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


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

НО, не уверен что другие ошибки решит.
11 сен 12, 18:55    [13148180]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить