ミラーリング関連サービス用DBアカウントを作成する時に注意しないと行けない部分があります。
Failoverした時にミラーリングサーバーの復元中だったデータベースが有効化されますが、
DBアカウントのサーバーロールが「public」の場合、データベースに以下のSQLを実行してマッピングをしないといけません。
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でアカウントを作成することでミラーサーバーでのユーザーマッピング問題を解決できます。