Создание учетных записей для зеркального отображения баз данных

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

Содержание раздела

  • Создание имен входа пользователей

  • Предоставление разрешения на соединение

  • Связанные задачи

Создание имен входа пользователей

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

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

  • Если участники запущены под одной и той же учетной записью домена, то правильные имена входа существуют в обеих базах данных master. Это рекомендовано и упрощает настройку безопасности базы данных.

  • Если экземпляры серверов-участников запущены под разными учетными записями, то имена входа на экземпляре основного сервера следует задать вручную на экземпляре зеркального сервера. Чтобы не допустить появления пользователей, утративших связь с учетной записью, после переключения ролей следует постоянно поддерживать одинаковые наборы имен входа пользователей и в основной, и в зеркальной базах данных. Однако, если потерянные пользователи появятся после переключения ролей, их имена входа можно настроить по факту.

Создание имени входа для другой учетной записи

Если два экземпляра сервера запущены под разными учетными записями, системный администратор должен использовать инструкцию Transact-SQL CREATE LOGIN, чтобы создать имя входа для запуска службы на удаленном экземпляре в таблице syslogins базы данных master для каждого экземпляра сервера. Дополнительные сведения см. в разделе CREATE LOGIN (Transact-SQL).

Важное примечаниеВажно!

Если SQL Server запущен под учетной записью, не относящейся к домену, следует использовать сертификаты. Дополнительные сведения см. в разделе Использование сертификатов для зеркального отображения базы данных.

Например, экземпляру сервера, запущенному под именем входа loginA, для подключения к экземпляру сервера, который запущен под именем входа loginB, необходимо, чтобы учетная запись loginA существовала в таблице syslogins на экземпляре sqlB, а учетная запись loginB существовала в таблице syslogins на экземпляре sqlA. Кроме того, если в сеансе зеркального отображения базы данных участвует экземпляр следящего сервера (sqlC) и если все три экземпляра сервера запущены под разными учетными записями домена, то необходимо создать следующие учетные записи для зеркального отображения:

На экземпляре...

Необходимо создать имена входа и предоставить разрешение на соединение с...

sqlA

sqlB и sqlC

sqlB

sqlA и sqlC

sqlC

sqlA и sqlB

ПримечаниеПримечание

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

Предоставление разрешения на соединение

После создания имени входа на экземпляре сервера имени входа должно быть предоставлено разрешение на соединение с конечной точкой зеркального отображения базы данных на другом экземпляре. Системный администратор предоставляет разрешение на подключение с помощью инструкции Transact-SQL GRANT. Дополнительные сведения см. в разделе Инструкция GRANT (Transact-SQL).

ПримечаниеПримечание

Сведения об этой конечной точке см. в разделе Конечная точка зеркального отображения базы данных.