none
フェールオーバー時のユーザの孤立 RRS feed

  • 質問

  • はじめまして。

    早速ですがSQLServer2005ミラーリング構成でのフェィルオーバ時のユーザの孤立について質問です。

     

    現在、「自動フェールオーバーを伴わない高い安全性」で構成された環境を構築しております。

    プリンシパルで作成したデータベース(以後SV1)をバックアップし、ミラー(以後SV2)に復元

    ミラーリングの設定を行い無事に同期は取れる状態になりました。

    (クライアントからDBアクセス用に作成したユーザでSV1にアクセスできました)

     

    しかし手動でフェールオーバーを行い、SV2側にクライアントからアクセスすると開けられませんでした。

    どうやらセキュリティのログインを見てみると設定されていたユーザのDBに対する権限が外れてしまっているのが原因でした。

     

    そこでSV2側でsp_change_users_loginにて孤立を解除してやると普通にアクセスが可能になりました。

    が、さらに手動でフェールオーバーを行いプリンシパルをSV1に移行、クライアントからSV1にアクセスしてもできなくなっており、原因をみると先ほどと同じユーザが孤立した状態になっておりました。

     

    そこで質問なのですが・・・

    手動でフェールオーバーを行うとどうしてもユーザがはずれてしまうものなのでしょうか?

    また、それを回避することは不可能なのでしょうか?

     

     

    以上、駄文・乱文で申し訳ございませんが何卒ご教示の程宜しくお願いいたします。

     

    2007年4月20日 5:17

回答

  • SQL Server 2005 Service Pack 2 のままですね?

    公式には KB934459 Build 9.00.3159 が最終状態ですが、

    http://support.microsoft.com/kb/935356

    なるものがあります。

    この HotFix を入手してテスト環境でテストしてみてはいかがですか?

    たぶん、新手のバグのような気がしますが。

    #プレミアサポートありますよね?なくてもスポットサポートがあるので、サポートに聞いてみたほうがいいと思います。

    2007年4月23日 14:42
  • 私も似たような状況で、ユーザの孤立に悩みました。

    既に解決されてるかとは思いますが、参考までに。
    http://www.microsoft.com/japan/sql/ssj/tips/03.mspx
    KB918992

    2007年12月3日 5:02
  • SQL 認証を使っていますよね?

    データベース ミラーリングでフェールオーバーするときに SQL 認証のユーザーも一緒にコピーして欲しいということですよね?

    それはできないと思います。なぜなら SQL 認証のユーザーは master データベースに入っています。データベース ミラーリングで同期されるのはユーザー データベースだけだからです。

     

    どうすればいいかというと、プリンシパル サーバーに作ったログオン ユーザーをミラー サーバーにもコピーすればよいです。次のリンクを参考にやってみてください。

     

    How to transfer the logins and the passwords between instances of SQL Server 2005

    http://support.microsoft.com/kb/918992/en-us

     

    ちなみに、同じ名前/パスワードのユーザーをミラー側に手動で作ってもダメです。SID が異なるため同じユーザーと認められません。なので上のリンクの方法でユーザー情報をコピーしてください。

    2007年12月3日 7:04

すべての返信

  • SQL Server 2005 の Service Pack の適用状況とその他 HotFix の適用状況を教えてください。

    SELECT @@VERSION と実行すればわかります。

    2007年4月22日 12:24
  • Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)   Feb  9 2007 22:47:07 

    Copyright (c) 1988-2005 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

     

    です。

    ご教示お願いいたします。

    2007年4月23日 1:07
  • SQL Server 2005 Service Pack 2 のままですね?

    公式には KB934459 Build 9.00.3159 が最終状態ですが、

    http://support.microsoft.com/kb/935356

    なるものがあります。

    この HotFix を入手してテスト環境でテストしてみてはいかがですか?

    たぶん、新手のバグのような気がしますが。

    #プレミアサポートありますよね?なくてもスポットサポートがあるので、サポートに聞いてみたほうがいいと思います。

    2007年4月23日 14:42
  • 私も似たような状況で、ユーザの孤立に悩みました。

    既に解決されてるかとは思いますが、参考までに。
    http://www.microsoft.com/japan/sql/ssj/tips/03.mspx
    KB918992

    2007年12月3日 5:02
  • SQL 認証を使っていますよね?

    データベース ミラーリングでフェールオーバーするときに SQL 認証のユーザーも一緒にコピーして欲しいということですよね?

    それはできないと思います。なぜなら SQL 認証のユーザーは master データベースに入っています。データベース ミラーリングで同期されるのはユーザー データベースだけだからです。

     

    どうすればいいかというと、プリンシパル サーバーに作ったログオン ユーザーをミラー サーバーにもコピーすればよいです。次のリンクを参考にやってみてください。

     

    How to transfer the logins and the passwords between instances of SQL Server 2005

    http://support.microsoft.com/kb/918992/en-us

     

    ちなみに、同じ名前/パスワードのユーザーをミラー側に手動で作ってもダメです。SID が異なるため同じユーザーと認められません。なので上のリンクの方法でユーザー情報をコピーしてください。

    2007年12月3日 7:04
  • こんにちは、フォーラムオペレーターの鈴木裕子です

     

    Buzz_Underdog さん、その後いかがですか?

    投稿からかなり時間が経過しておりますし、すでに解決されているのではないかと思うのですが・・・

    今回は、おがわみつぎ さん、enzore さん、Jermain さんの投稿が参考になられたのではと思いましたので、こちらの情報を多くの方に活用していただきたく、勝手ながら私の方で回答チェックをつけさせていただきました。

    もし不適切でしたら、修正をお願いします。

     

    これからもForumをご活用くださいねそれでは。

    2008年12月4日 8:06
    モデレータ