役割の交代後のログインとジョブの管理 (SQL Server)Management of Logins and Jobs After Role Switching (SQL Server)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server データベースの高可用性ソリューションまたは災害復旧ソリューションを展開する場合、 master 内のデータベースまたは msdb データベースに格納されている関連情報を再現することが重要です。When deploying a high-availability or disaster-recovery solution for a SQL ServerSQL Server database, it is important to reproduce relevant information that is stored for the database in the master or msdb databases. 通常、関連情報には、プライマリ/プリンシパル データベースのジョブおよびデータベースへの接続に必要なユーザーまたはプロセスのログインが含まれます。Typically, the relevant information includes the jobs of the primary/principal database and the logins of users or processes that need to connect to the database. セカンダリ/ミラー データベースをホストする SQL ServerSQL Server の任意のインスタンスでこの情報を複製する必要があります。You should duplicate this information on any instance of SQL ServerSQL Server that hosts a secondary/mirror database. 可能であれば、役割の交代後に、プログラムで新しいプライマリ/プリンシパル データベースに情報を再現することが最善の方法です。If possible after roles are switched, it is best to programmatically reproduce the information on the new primary/principal database.

LoginLogins

データベースのコピーをホストするすべてのサーバー インスタンスで、プリンシパル データベースにアクセスする権限を持つログインを再現する必要があります。On every server instances that hosts a copy of the database, you should reproduce the logins that have permission to access the principal database. プライマリ/プリンシパルの役割が交代すると、新しいプリンシパル/プライマリ サーバー インスタンスにログインが存在するユーザーのみが新しいプリンシパル/プライマリ データベースにアクセスできます。When the primary/principal role switches, only users whose logins exist on the new primary/principal server instance can access the new primary/principal database. ログインが新しいプライマリ/プリンシパル サーバー インスタンスで定義されていないユーザーは孤立して、データベースにアクセスできません。Users whose logins are not defined on the new primary/principal server instance are orphaned and cannot access the database.

ユーザーが孤立している場合は、新しいプライマリ/プリンシパル サーバー インスタンスでログインを作成し、 sp_change_users_loginを実行します。If a user is orphaned, create the login on the new primary/principal server instance and run sp_change_users_login. 詳細については、「 孤立ユーザーのトラブルシューティング (SQL Server)を実行します。For more information, see Troubleshoot Orphaned Users (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 logins and 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).

ジョブJobs

バックアップ ジョブなどのジョブでは、特別な考慮が必要になります。Jobs, such as backup jobs, require special consideration. 通常は、役割の交代後、データベース所有者またはシステム管理者が、新しいプライマリ/プリンシパル データベース用にジョブを再作成する必要があります。Typically, after a role switch, the database owner or system administrator must re-create the jobs for the new primary/principal database.

元のプライマリ/プリンシパル サーバー インスタンスが使用できる場合は、 SQL ServerSQL Serverのそのインスタンスで元のジョブを削除する必要があります。When the former primary/principal server instance is available, you should delete the original jobs on that instanceof SQL ServerSQL Server. 現在のミラー データベースのジョブは RESTORING 状態であるため失敗し、使用できなくなります。Note that jobs on the current mirror database fail because it is in the RESTORING state, making it unavailable.

注意

SQL ServerSQL Server の複数のインスタンスを、別のドライブ文字などを使用して別に構成できます。Different instances of SQL ServerSQL Server might be configured differently, with different drive letters or such. パートナーごとのジョブは、このような違いを考慮する必要があります。The jobs for each partner must allow for any such differences.

参照See Also

データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
孤立ユーザーのトラブルシューティング (SQL Server)Troubleshoot Orphaned Users (SQL Server)