Поделиться через


Управление именами входа для заданий, использующих базы данных в группе доступности Always On

Область применения: SQL Server

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

  • задания агента SQL Server

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

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

    Задания резервного копирования могут использовать функцию sys.fn_hadr_backup_is_preferred_replica , чтобы определить, является ли локальная реплика предпочтительной для резервных копий в соответствии с предпочтениями резервного копирования группы доступности. Задания резервного копирования, созданные с помощью мастера использования плана обслуживания, изначально используют эту функцию. Для других заданий резервного копирования рекомендуется использовать эту функцию в качестве условия в заданиях резервного копирования, чтобы они выполнялись только для предпочитаемой реплики. Дополнительные сведения см. в разделе "Разгрузка поддерживаемых резервных копий" во вторичные реплики группы доступности.

  • Имена входа

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

    Если любое из приложений использует проверку подлинности SQL Server или локальное имя входа Windows, см. статью "Имена входа приложений, использующих проверку подлинности SQL Server" или "Локальный вход Windows", далее в этой статье.

    Примечание.

    Пользователь базы данных, для которого имя входа SQL Server не определено или неправильно определено на экземпляре сервера, не может войти в экземпляр. Такой пользователь называется утратившим связь с учетной записью базы данных на этом экземпляре сервера. Если пользователь утратил связь с данным экземпляром базы данных, то в любое время можно настроить имена входа для этого пользователя. Дополнительные сведения см. в разделе "Устранение неполадок потерянных пользователей (SQL Server)".

  • Дополнительные метаданные

    Имена входа и задания не являются единственными сведениями, которые необходимо повторно создать на каждом экземпляре сервера, на котором размещена вторичная реплика для заданной группы доступности. Например, может потребоваться повторно создать параметры конфигурации сервера, учетные данные, зашифрованные данные, разрешения, параметры репликации, приложения service broker, триггеры (на уровне сервера) и т. д. Дополнительные сведения см. в разделе "Управление метаданными при создании базы данных" на другом сервере.

Проверка подлинности SQL Server или локальное имя входа Windows

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

При настройке приложения следует принять меры по предотвращению использования базы данных, размещенной удаленным экземпляром SQL Server. Предотвращение включает передачу имен входа и паролей из локального экземпляра SQL Server в удаленный экземпляр SQL Server. Дополнительные сведения о том, как предотвратить эту проблему, см. в статье базы знаний 918992-Transfer logins and passwords между экземплярами SQL Server).

Примечание.

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

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