Always On 可用性グループのデータベースを使用するジョブのログインを管理するManage logins for jobs using databases in an Always On availability group

適用対象: はいSQL Server いいえAzure SQL Database いいえAzure Synapse Analytics (SQL DW) いいえParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Always On 可用性グループのすべてのプライマリ データベースとその対応するセカンダリ データベース上で、ユーザー ログインと SQL ServerSQL Server エージェント ジョブの同じセットを定期的に管理する必要があります。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. たとえば、サーバー構成設定、資格情報、暗号化されたデータ、権限、サービス ブローカー アプリケーション、トリガー (サーバー レベル) などの再作成が必要な場合があります。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 認証またはローカル Windows ログインを使用するアプリケーションのログインLogins Of Applications That Use SQL Server Authentication or a Local Windows Login

アプリケーションで SQL Server 認証またはローカル Windows ログインを使用している場合、SID が一致しないと、 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. SID が一致しないと、ログインはリモート サーバー インスタンスの孤立ユーザーになります。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. ただし、各コンピューターの SID は同じであるため、この問題はドメイン アカウントでは発生しません。However, this problem does not occur for domain accounts because the SID is the same on each of the computers.

詳細については、「 Orphaned Users with Database Mirroring and Log Shipping 」(データベース ミラーリングとログ配布での孤立ユーザー) (データベース エンジンのブログ) を参照してください。For more information, see Orphaned Users with Database Mirroring and Log Shipping (a Database Engine blog).

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
包含データベース Contained Databases
ジョブの作成Create Jobs