Проблема репликации SQL Server 2008 R2 - PullRequest
2 голосов
/ 14 апреля 2011

Я пытался настроить SQL Server 2008 R2 (Standard) для репликации между двумя экземплярами, работающими в Windows 2008 R2. Обе машины находятся во внутреннем домене AD (домен 2008R2). Проблема, с которой я столкнулся, связана с тем, что процесс подписки не может передавать транзакции (да, выполнять репликацию транзакций) от распространителя к подписчику. Для этого используется пользователь домена (sqlrepl_distrib), который по умолчанию входит в группу пользователей домена.

Ошибка из журналов:

Ошибка входа для пользователя 'XXXX \ sqlrepl_distrib'. Причина: проверка доступа к серверу на основе токенов завершилась ошибкой инфраструктуры. Проверьте на наличие предыдущих ошибок. [КЛИЕНТ:]

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

Пользователь sqlrepl_distrib имеет разрешения db_owner как для базы данных издателя, так и для базы данных подписчика, а также для базы данных распространителя, поэтому это не должно быть связано с проблемой. SQL Server настроен только для проверки подлинности Windows. Я проверил пользователя / пароль также работает, войдя в домен с ним. БД и экземпляры MSSQL принадлежат администратору домена, я думаю, это может быть проблемой, но не уверен.

Я также пытался отключить UAC на обоих компьютерах с SQL Server, но это не помогло (да, я перезагрузился).

Надеясь, что кто-нибудь поймет, что происходит. Я довольно новичок в SQL Server, поэтому я ожидаю, что это может быть что-то глупое, но Google не смог мне найти решение (ошибка, которая появляется в Google, кажется, что пользователи не могут получить доступ к SSMS, что не является моим проблема ... это отлично работает).

Чтобы настроить репликацию, я следовал руководству Microsoft по адресу http://msdn.microsoft.com/en-us/library/aa337389.aspx. В нем не упоминается эта конкретная ошибка. Я пытался 3 раза настроить процесс заново с теми же результатами.

Было бы полезно все, что указывало бы на меня в правильном направлении (но, пожалуйста, не указывайте мне статью на 1000 страниц MSDN длиной и не ожидайте, что я проанализирую это).

Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 сентября 2014

Сначала проверьте в SOL server, сконфигурируйте менеджер, войдите в систему, для чего пользователи ---> для пример пользователя войти в систему как -NT AUTHORITY \ NETWORK SERVICE

проверьте все логины издателя, дистрибьютора и подписчика (для этого зайдите в свой экземпляр -> безопасность -> логины. Вы должны проверить 'NT AUTHORITY \ NETWORK SERVICE', этот логин есть или нет. Если дозы нет вход в систему создать Новый вход в систему с именем «NT AUTHORITY \ NETWORK SERVICE» для всех издателей, распространителей и подписчиков.

Вы можете щелкнуть правой кнопкой мыши по указанному выше логину -> взять свойства -> usermapping -> изменить параметры -> здесь выбрать эту базу данных и дать разрешения DB_woner и PUBLIC для базы данных например, вы можете изменить всех издателей, дистрибьюторов и подписчиков.

часто перезапускает вашу репликацию

Примечание: здесь я вхожу в NT AUTHORITY \ NETWORK SERVICE а также моя база данных: Sudheer

Проверьте свои ЛОГИНЫ с помощью «????». и база данных "???" в вашей системе !!

0 голосов
/ 12 мая 2011

Какой пользователь запускает службу?

Проверьте, зарегистрирован ли spn именованного экземпляра, а также службу spn для службы сервера sql, так как именованный экземпляр заставит делегировать аутентификацию kerberosиз службы браузера.

И убедитесь, что служба браузера включена для делегирования sql spn на windows ad.

...