none
イベントID:3450について RRS feed

  • 質問

  • アプリにて、MSDE2008を利用しております。(OSは2008Serverです)

    オラクルからMSDE2008へのデータ移行のツールを作成しました。

    処理を開始すると、該当MSDEのサービスの開始、直後に該当テーブルをオープンするのですが、アクセスできずに停止し、またなにか不正な状態がのこったままになったのか、マシン再起動後も、アクセスできない状態が続きました。

    該当時刻のイベントを確認すると、ID:3450で、「データベース 'DATABASE1' (5) の復旧が nn%% 完了しました (推定残り時間 661 秒)。フェーズ 2/3。」と約1分間3,4秒間隔で出力されており、その途中にアクセスしている感じでした。

    おそらく上記処理が影響し、オープンできなかったと思われるのですが、上記処理がどのような場合に発生し、またどのような処理が行われいるのか(他時間を確認すると、2~3秒で終了している場合もありました。今回のように1分程度の時間を要している場合もあり、必要時間の差異はなにか)不明だったため、ご教授いただければと思い、投稿させていただきました。

     

    初心者ですみません、よろしくお願いします。

    2011年12月27日 3:50

回答

  • データベースを起動する際の復旧処理に時間がかかっているようです。
    フェーズ2ではロールフォワードをしていると思います。
    ログには記録があるが、データファイルへ最新データが書き込まれていない状況を
    整合性を保つためにロールフォワードとロールバックを行います。

    前回のインスタンス終了時にコミットされていないトランザクションがあったり、
    大規模なデータ更新があったり等の時に時間がかかると思われます。

    http://msdn.microsoft.com/ja-jp/library/ms191455.aspx
    http://msdn.microsoft.com/ja-jp/library/ms189262.aspx

    • 回答としてマーク 山本春海 2012年1月12日 9:23
    2011年12月29日 14:05
    モデレータ

すべての返信

  • データベースを起動する際の復旧処理に時間がかかっているようです。
    フェーズ2ではロールフォワードをしていると思います。
    ログには記録があるが、データファイルへ最新データが書き込まれていない状況を
    整合性を保つためにロールフォワードとロールバックを行います。

    前回のインスタンス終了時にコミットされていないトランザクションがあったり、
    大規模なデータ更新があったり等の時に時間がかかると思われます。

    http://msdn.microsoft.com/ja-jp/library/ms191455.aspx
    http://msdn.microsoft.com/ja-jp/library/ms189262.aspx

    • 回答としてマーク 山本春海 2012年1月12日 9:23
    2011年12月29日 14:05
    モデレータ
  • 返信ありがとうございます。

    確かに前回使用時に大量の更新が発生していました。

    今回の内容を考慮し、PG作成を行いたいと思います。

     

    大変助かりました。

    ありがとうございました。

     

    2012年1月11日 3:21
  • 解決した様なのでただのおせっかいとしてですが、

    MSDE2008って何ですか?

     

    MSDEはSQL Server2000当時の名称であり、

    SQL Server 2005 以降ではその名称は存在しないはずです。

    ※2005以降はSQL Server Express または SQL Server Express Edition

    ちなみに、MSDEとは「Microsoft SQL Server 2000 Desktop Engine」の略です。

     

    Edition 固有の現象の可能性もあるので、

    製品名等は正確に提示した方が良いかと・・・

    2012年1月11日 3:46
  • ご指摘ありがとうございます。

    ただの記載ミスです、申し訳有りません。

    ありがとうございました。

     

    2012年1月12日 0:41