ミラーリング関連DBアカウントを作成時に注意事項及びDBアカウント作成SQL

ミラーリング関連サービス用DBアカウントを作成する時に注意しないと行けない部分があります。 Failoverした時にミラーリングサーバーの復元中だったデータベースが有効化されますが、 DBアカウントのサーバーロールが「public」の場合、データベースに以下のSQLを実行してマッピング(Mapping)をしないといけません。 DBアカウントが「test」の場合、 sp_change_users_login 'Update_one', 'test', 'test' ですが、最初からDBアカウントのSIDを両サーバー合わせておけば特に問題なくサービスが可能になります。 サービス用のDBアカウントを「test」の場合を仮定して説明します。 プリンシパル サーバーから以下のSQLを実行してsidを確認します。 SELECT * FROM sys.server_principals 実行結果 実行結果には「test」DBアカウントのsidは「0x2DC6BE22B74DC549BCAA6E34AE96B33B」です。 では、ミラー サーバーで「test」DBアカウントを作成する時には以下のように記入して実行します。 CREATE LOGIN test WITH PASSWORD = 'testpassword', SID = 0x2DC6BE22B74DC549BCAA6E34AE96B33B もちろんパスワードはプリンシパル サーバーと同じパスワードを設定してください。 同じSIDでアカウントを作成することでミラーサーバーでのユーザーマッピング問題を解決できます。