Защита подписчика

Область применения: SQL Server База данных SQL Azure

Агенты слияния и распространения подключаются к подписчику. Эти подключения можно выполнять в контексте имени входа SQL Server или имени входа Windows. Важно предоставить для этих агентов соответствующее имя входа, придерживаясь принципа предоставления минимально необходимых прав и обеспечивая защиту хранилища всех паролей. Сведения о разрешениях, необходимых для каждого агента, см. в разделе Replication Agent Security Model.

Примечание.

Управляемый экземпляр SQL Azure может быть издателем, распространителем и подписчиком для репликации моментальных снимков и транзакций. Базы данных в База данных SQL Azure могут выступать только как подписчики типа push для репликации моментальных снимков и транзакционной репликации. Дополнительные сведения см. в статье о репликации транзакций с Базой данных SQL Azure и Управляемым экземпляром SQL Azure.

Агент распространителя

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

Чтобы указать сведения о подключении для push-подписок, см. статью Создание push-подписки.

Указание сведений о подключении для подписки по запросу рассматривается в статье Создание подписки по запросу.

Агент слияния.

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

Чтобы указать сведения о подключении для push-подписок, см. статью Создание push-подписки.

Указание сведений о подключении для подписки по запросу рассматривается в статье Создание подписки по запросу.

Немедленно обновляемые подписки

При настройке подписки с немедленным обновлением на Подписчике указывается учетная запись, от имени которой устанавливаются подключения к Издателю. Подключения используются триггерами, которые срабатывают на стороне подписчика и передают изменения издателю. Для этого типа соединения имеются следующие три параметра.

  • Связанный сервер, который создает репликация. Подключение устанавливается с учетными данными, задаваемыми во время настройки.

  • Связанный сервер, создаваемый репликацией; соединение устанавливается с учетными данными пользователя, который вносит изменения у подписчика.

  • Связанный или удаленный сервер, который уже определен.

Внимание

Чтобы указать сведения о подключении, используйте хранимую процедуру sp_link_publication (Transact-SQL). Также можно воспользоваться страницей Имя входа для обновляемых подписок в мастере создания подписки, который вызывает хранимую процедуру sp_link_publication. При определенных условиях эта хранимая процедура может завершиться ошибкой, если Подписчик работает под управлением SQL Server 2005 (9.x) с пакетом обновления 1 (SP1) или более поздним, а Издатель использует более раннюю версию. Если хранимая процедура завершается ошибкой в этом сценарии, обновите издателя до SQL Server 2005 (9.x) SP1 или более поздней версии.

Дополнительные сведения см. в статьях Создание обновляемых подписок для публикаций транзакций и Просмотр и изменение параметров безопасности репликации.

Внимание

Учетная запись, заданная для соединения, должна предоставлять только разрешения для вставки, обновления и удаления данных в представлениях, которые репликация создает в базе данных публикации. Она не должна иметь никаких дополнительных разрешений. Предоставьте учетной записи, настроенной на каждом подписчике, разрешения на доступ к представлениям в базе данных публикации, имена которых имеют вид syncobj_<HexadecimalNumber>.

Подписки в очереди на обновление

При настройке обновляемых посредством очередей подписок необходимо учитывать два аспекта, касающихся безопасности:

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

  • Агент чтения очереди устанавливает соединения с распространителем, издателем и каждым подписчиком:

    • Учетная запись, под которой работает агент и устанавливает подключения к Распределителю, задается при создании агента (если вы используете мастер создания публикаций, агент создается при создании публикации, для которой включены подписки с возможностью обновления).

    • Учетная запись, под которой агент выполняет подключения к издателю, задается при настройке распространения для издателя. Укажите учетную запись Windows, в которой выполняется агент или учетная запись SQL Server.

    • Учетная запись, под которой агент выполняет подключения к подписчику, задается при создании подписки.

    Внимание

    Используйте проверку подлинности SQL Server для подключений к подписчикам и укажите другую учетную запись подключения к каждому подписчику. Если вы используете подписку по запросу, репликация всегда настраивает подключение на использование проверки подлинности Windows (для подписок по запросу репликация не может получить доступ к метаданным на подписчике, необходимым для использования проверки подлинности SQL Server). В этом случае измените подключение на использование проверки подлинности SQL Server после настройки подписки.

    Дополнительные сведения см. в статьях "Практическое руководство. Создание подписки с обновлением на публикацию транзакций (SQL Server Management Studio)" и Просмотр и изменение параметров безопасности репликации.