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

Откуда: Екатеринбург
Сообщений: 91
Доброго времени суток, All.

Есть 3 сервера с Win2008SP2 + SQL2008R2 Ent (релиз, без установленных CU)
Плюсом несколько машинок с WinXP+SP3 и SQL2008R2 Workgroup
Все участники вне домена (включить в домен и использовать виндовую авторизацию нет возможности).

Прочитав соотвествующие статьи БОЛ и статью А.Гладченко "Высокая доступность в репликации SQL Server 2008 с зеркалированием и доставкой журналов", пройдя обкатку на полигоне, выстраивается следующая система:
SERV1 - удаленный распространитель,
SERV2 - паблишер транзакционной репликации + Principal-сервер зеркала,
SERV3 - соответственно тоже помечен как паблишер и является mirror-сервером.
Машинки с WinXP и SQL2008R2Wrkg являются push-подписчиками.

Зеркало (через сертификаты, режим высокой доступности, без следящего) настроено и работает. Реплика (транзакционная, push, с обновляемыми через очереди подписчиками, везде sql-аутентификация, в профилях Snapshot-,LogReader-,QReader- агентов прописан PublisherFailoverPartner) настроена и работает.

Гашу SERV2, вручную все базы переключаю на зеркало (SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS) и ожидаю, что реплика подхватится и будет продолжать трудиться.

К сожалению обнаруживаю у QReader-, LogReader- агентов ошибки (выжимка из логов работы агентов):
+

OLE DB QueueReader 'SERV1': exec sp_helpdistpublisher @publisher = N'SERV2'

Connecting to OLE DB SERV2 at datasource: 'SERV2', location: '', catalog: 'MyBase', providerstring: '' using provider 'SQLNCLI10'

Connection is using failover partner name 'SERV3' to connect to database'MyBase'

The Queue Reader Agent has encountered the error 'Invalid connection string attribute' when connecting to 'MyBase' on 'SERV2'. Ensure that the publication and subscription are defined properly and that both servers are running.

The Queue Reader Agent has encountered the error 'Cannot open database "MyBase" requested by the login. The login failed.' when connecting to 'MyBase' on 'SERV2'. Ensure that the publication and subscription are defined properly and that both servers are running.

.............................................

Connecting to OLE DB SERV2 at datasource: 'SERV2', location: '', catalog: 'MyBase', providerstring: '' using provider 'SQLNCLI10'

Connection is using failover partner name 'SERV3' to connect to database'MyBase'

Disconnecting from OLE DB SERV2 'SERV2'

Status: 0, code: 20015, text: 'Invalid connection string attributeCannot open database "MyBase" requested by the login. The login failed.Login failed for user 'sa'.Login failed for user 'sa'.TCP Provider: Timeout error [258]. '.

Видя ошибку про login failed, решаю что ошибся в пароле при добавлении второго паблишера (SERV3). Исправляю эту "оплошность" (пароль копирую через буфер обмена, чтобы избежать опечаток, пароль точно тот) через гуй (ну и через sp_changedistpublisher для гарантии :) ). После рестарта агентов вижу те же самые ошибки.

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

Делаю пароль sa SERV3 идентичным паролю sa SERV2, с помощью sp_changedistpublisher указываю этот новый пароль у SERV3. После этого "злостного нарушения безопасности" агенты репликации начинают работать как часы.

Такое поведение баг или всё-таки ошибка в настройке? Кто-нибудь сталкивался с подобным?
11 май 11, 21:47    [10638459]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Контекст SA может всплыть, когда обращение идёт от имени службы MSSQLServer, если она запускается от локальной системы. Посмотрите в мониторе активности, в каком контексет у вас реально работают агенты репликации...
12 май 11, 16:25    [10642835]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Evgen
Member

Откуда: Екатеринбург
Сообщений: 91
Александр Гладченко, спасибо, что обратили внимание.

Не совсем понял, что нужно посмотреть (правда и посмотреть смогу не раньше следующего вторника). Службы SQL Server и SQL Server Agent запущены от локального виндового аккаунта с админскими правами, поэтому предположу, что и репликационные агенты запускаются от имени этого аккаунта.
Мне непонятно, почему репликационные агенты не меняют контекст при попытке подключения к зеркальному серверу, а тупо лезут под тем же паролем sa, что и к основному серверу. Хотя дистрибьютор знает логины и пароли, под которыми следует цепляться к паблишерам.
12 май 11, 17:08    [10643168]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Evgen,

А почему не доменные учётные записи?
12 май 11, 17:18    [10643246]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Evgen
Member

Откуда: Екатеринбург
Сообщений: 91
Александр Гладченко,

к сожалению домена нет и не предвидится в обозримом будущем.
12 май 11, 17:35    [10643364]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Evgen
Member

Откуда: Екатеринбург
Сообщений: 91
UP последней надежды
17 май 11, 10:44    [10663095]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10802
Блог
Evgen,

У вас меняется контекст безопасности - копайте в этом направлении... может быть старые статейки подскажут, как быть в Вашем случае: https://www.sql.ru/articles/Publications.shtml#13
17 май 11, 10:52    [10663147]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование + репликация  [new]
Evgen
Member

Откуда: Екатеринбург
Сообщений: 91
имхо, как раз не меняется при переключении на зеркало, а должен.

До переключения (при работе с основным сервером) никаких проблем с контекстами безопасности нет, т.е. все агенты нормально цепляются к основному паблишеру и подписчикам.

P.S. В этих публикациях вроде бы уже давно ничего нового не появлялось, а все старое (в части транзакционной репликации) уже прочитано давным давно. И http://www.replicationanswers.com/Default.asp регулярно читается.
17 май 11, 11:14    [10663311]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить