Управление именами входа для заданий, использующих базы данных в группе доступности Always OnManage logins for jobs using databases in an Always On availability group

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Необходимо постоянно поддерживать одинаковый набор имен входа пользователей и заданий агента SQL ServerSQL Server в каждой базе данных-источнике группы доступности AlwaysOn и соответствующих баз данных-получателей.You should routinely maintain the same set of user logins and SQL ServerSQL Server Agent jobs on every primary database of an Always On availability group and the corresponding secondary databases. Имена входа и задания необходимо воспроизвести на каждом экземпляре SQL ServerSQL Server , на котором размещается реплика доступности для группы доступности.The logins and jobs must be reproduced on every instance of SQL ServerSQL Server that hosts an availability replica for the availability group.

  • SQL ServerSQL Server Задания агентовSQL ServerSQL Server Agent jobs

    Необходимо вручную скопировать соответствующие задания с экземпляра сервера, на котором размещена исходная первичная реплика, на экземпляры серверов, где размещены исходные вторичные реплики.You need to manually copy relevant jobs from the server instance that hosts the original primary replica to the server instances that host the original secondary replicas. Для всех баз данных необходимо добавить логику в начале каждого соответствующего задания, чтобы задание выполнялось только для базы данных-источника, то есть только тогда, когда локальная реплика является первичной репликой базы данных.For all databases, you need to add logic at the beginning of each relevant job to make the job execute only on the primary database, that is, only when the local replica is the primary replica for the database.

    Экземпляры серверов, на которых размещены реплики доступности для группы доступности, могут быть настроены по-разному, например с использованием других букв дисков ленточных накопителей и т. д.The server instances that host the availability replicas of an availability group might be configured differently, with different tape drive letters or such. Задания для каждой группы доступности должны допускать подобные различия.The jobs for each availability replica must allow for any such differences.

    Обратите внимание, что задания резервного копирования могут использовать функцию sys.fn_hadr_is_preferred_backup_replica , чтобы определить, является ли локальная реплика предпочтительной для выполнения резервного копирования согласно настройкам резервного копирования группы доступности.Notice that backup jobs can use the sys.fn_hadr_is_preferred_backup_replica function to identify whether the local replica is the preferred one for backups, according to the availability group backup preferences. Задания резервного копирования, созданные с помощью мастера планов обслуживания , изначально используют эту функцию.Backup jobs created using the Maintenance Plan Wizard natively use this function. Для других заданий резервного копирования рекомендуется использовать эту функцию в качестве условия в заданиях резервного копирования, чтобы они выполнялись только для предпочитаемой реплики.For other backup jobs, we recommend that you use this function as a condition in your backup jobs, so they execute only on the preferred replica. Дополнительные сведения см. в статье Активные вторичные реплики: резервное копирование во вторичных репликах (группы доступности Always On).For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

  • Имена входаLogins

    При использовании автономных баз данных в них вы можете настроить автономных пользователей, при этом для таких пользователей не требуется создавать имена входа на экземплярах сервера, где размещена вторичная реплика.If you are using contained databases, you can configure contained users in the databases, and for these users, you do not need to create logins on the server instances that host a secondary replica. При работе с неавтономной базой данных доступности потребуется создать пользователей для имен входа на экземплярах серверов, где размещены реплики доступности.For a non-contained availability database, you will need to create users for the logins on the server instances that host the availability replicas. Дополнительные сведения см. в разделе CREATE USER (Transact-SQL).For more information, see CREATE USER (Transact-SQL).

    Если какое-либо из ваших приложений использует проверку подлинности SQL ServerSQL Server или локальное имя входа Windows, см. раздел Имена входа для приложений, использующих проверку подлинности SQL Server или локальное имя входа Windows.If any of your applications use SQL ServerSQL Server Authentication or a local Windows login, see Logins Of Applications That Use SQL Server Authentication or a Local Windows Login, later in this topic.

    Примечание

    Пользователь базы данных, для которого соответствующее имя входа SQL Server не определено или задано неправильно на экземпляре сервера, не сможет подключиться к этому экземпляру.A database user for which the SQL Server login is undefined or is incorrectly defined on a server instance cannot log in to the instance. Такой пользователь называется утратившим связь с учетной записью базы данных на этом экземпляре сервера.Such a user is said to be an orphaned user of the database on that server instance. Если пользователь утратил связь с данным экземпляром базы данных, то в любое время можно настроить имена входа для этого пользователя.If a user is orphaned on a given server instance, you can set up the user logins at any time. Дополнительные сведения см. в статье Диагностика пользователей, утративших связь с учетной записью (SQL Server).For more information, see Troubleshoot Orphaned Users (SQL Server).

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

    Имена входа и задания — это не единственные сведения, которые должны быть созданы повторно на каждом экземпляре сервера, размещающем вторичную реплику доступности.Logins and jobs are not the only information that need to be recreated on each of the server instances that hosts an secondary replica for a given availability group. Например, возможно, потребуется воссоздать параметры конфигурации сервера, учетные данные, зашифрованные данные, разрешения и параметры репликации, приложения компонента Service Broker, триггеры уровня сервера и т. д.For example, you might need to recreate server configuration settings, credentials, encrypted data, permissions, replication settings, service broker applications, triggers (at server level), and so forth. Дополнительные сведения см. в статье Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).For more information, see Manage Metadata When Making a Database Available on Another Server Instance (SQL Server).

Имена входа для приложений, использующих проверку подлинности SQL Server или локальное имя входа WindowsLogins Of Applications That Use SQL Server Authentication or a Local Windows Login

Если приложение использует проверку подлинности SQL Server или локальное имя входа Windows, то несоответствие идентификаторов безопасности может привести к ошибке входа на удаленный экземпляр SQL ServerSQL Server.If an application uses SQL Server Authentication or a local Windows login, mismatched SIDs can prevent the application's login from resolving on a remote instance of SQL ServerSQL Server. Несоответствие идентификаторов безопасности вызывает утрату связи с учетной записью на удаленном экземпляре сервера.The mismatched SIDs cause the login to become an orphaned user on the remote server instance. Эта проблема может возникать при подключении приложения к зеркальной базе данных или базе данных доставки журналов после отработки отказа либо к базе данных подписчика репликации, которая была инициализирована из резервной копии.This issue can occur when an application connects to a mirrored or log shipping database after a failover or to a replication subscriber database that was initialized from a backup.

Во избежание этой проблемы рекомендуется предпринять профилактические меры во время настройки такого приложения на использование базы данных, размещенной на удаленном экземпляре SQL ServerSQL Server.To prevent this issue, we recommend that you take preventative measures when you set up such an application to use a database that is hosted by a remote instance of SQL ServerSQL Server. Среди таких мер — перенос имен входа и паролей с локального экземпляра SQL ServerSQL Server на удаленный экземпляр SQL ServerSQL Server.Prevention involves transferring the logins and the passwords from the local instance of SQL ServerSQL Server to the remote instance of SQL ServerSQL Server. Дополнительные сведения о том, как предотвратить возникновение этой проблемы, см. в статье базы знаний 918992 Перемещение имен входа и паролей между экземплярами SQL Server.For more information about how to prevent this issue, see KB article 918992-How to transfer the logins and the passwords between instances of SQL Server).

Примечание

Эта проблема затрагивает локальные учетные записи Windows на разных компьютерах.This problem affects Windows local accounts on different computers. Для доменных учетных записей эта проблема не возникает, поскольку идентификатор безопасности там один для всех компьютеров.However, this problem does not occur for domain accounts because the SID is the same on each of the computers.

Дополнительные сведения см. в записи Пользователи, утратившие связь с учетной записью при работе с зеркальным отображением базы данных и доставкой журналов (блог Database Engine).For more information, see Orphaned Users with Database Mirroring and Log Shipping (a Database Engine blog).

Связанные задачиRelated Tasks

См. также:See Also

Обзор групп доступности AlwaysOn (SQL Server) Overview of Always On Availability Groups (SQL Server)
Автономные базы данных Contained Databases
Создание заданийCreate Jobs