none
SQLserver2005のメンテナンスプランでバックアップを実行すると時間が掛かってしまう RRS feed

  • 質問

  • こんにちは。山崎と申します。

    先日、とあるお客様先で発生した症状で、

    理由がわからず困っております。

    何か調査方法や、改善につながるアドバイスを頂けると助かります。

     

    【OS】

     2003ServerR2 sp2

    【SQL】

     2005 standard sp2

    【その他インストール済みだったアプリ】

     MS Office2007

     Trend Micro ServerPrptect

     Acrronis TrueImage echo server for windows

     

    【症状】

     SQLserver2005のメンテナンスプランでバックアップを実行すると時間が掛かってしまう。

     

    【経過について】

     SQL2005をインストールした直後(SP適用無し状態で)、

     メンテナンスプランで、完全バックアップのジョブを作成。

     この時点でプランを実行すると3秒程度で終了していました。

     

     SQLのSP2(MSのディスクキットに付属)を適用後、

     同じメンテナンスプランを実行すると、

     5分~10分程度掛かってしまうようになりました。

     一応、バックアップファイルはできるんですが。。

     

     ServerProtectのリアルタイム検索の除外フォルダには、

     ちゃんとDB、ログ、バックアップフォルダは登録されておりました。

     

     また、メンテナンスプランを利用せず、

     DBを直接右クリックし「バックアップ」を実行した場合は、1秒程度で終了します。

     

    以上です。

     

    次回、ServerProtectのサービスを止めた状態で、

    SQLの再インストールと、MSのサイトでダウンロードしたSP2の適用を試そうと思っています。

    何かお気づきの点、注意点、改善策など思いつくところありましたら、

    ご教授くださいますよう、よろしくお願いいたします。

     

     

     

     

     

     

    2008年9月13日 10:18

回答

  • クエリのコマンドでbackupをしてみたらどうですか。

    後、Agentを使って、backupコマンドを使ったらどうですか。

     

    遅い理由はかなり不透明で、問題見るだけでは判断できかねます。

     

    一番いいやり方として、サーバーの負荷を監視することです。2003R2ですから、なんか監視モニタ機能もありますね。それを使って、どの部分がCPUやメモリが負荷かかっているのを発見してください。

     

    ちなみに、SQLServer2008の場合、どのユーザー(オブジェクト)にどのぐらいのCPU占用率を割り当てることも可能です。

    2008年9月14日 12:56
  • こんにちは、naginoです。

     

    はじめに、パフォーマンス関連の問題は原因が様々ですので、掲示板上でのやりとりでの調査は一般に難しいです。

     

    今回のケースでは、バックアップに関して、操作に応じて処理時間に変化があるということですが、

    それぞれの違いを確認するとヒントが得られるかもしれません。

    たとえば整合性のチェックであったり、空き領域の開放など、バックアップの際に付加できるオプションが

    多数ありますが、それらについて差が無いかどうかをご確認ください。

     

    あと、SPで互換性がなくなることは通常ありませんので考えにくいですが、念のためメンテナンスプランを別途新しく作り直し、

    そちらでの処理時間もご確認ください。

     

    また、Windowsのシステムログと SQL Server のログに何らかのエラーや警告が出ていないかも

    あわせてご確認ください。

     

    なお、可能でしたら処理時間がかかる際に、CPU、HDD、メモリのいずれに負荷がかかっているのかを

    念のためご確認ください。

     

    ご参考になれば幸いです。

     

    2008年9月15日 10:09
  • ごめんなさい、ちょっとした突っ込みです。

     

    > ちなみに、SQLServer2008の場合、どのユーザー(オブジェクト)にどのぐらいのCPU占用率を割り当てることも可能です。

    確かに可能なんですけど、実装されているのがEnterprise Edition以上なんです。

    というより、欲しい機能が全てEnterprise Editionにしか対応してなかったりします。

    http://www.microsoft.com/japan/sqlserver/2008/prodinfo/features/eemerit.mspx

     

    2008年9月15日 14:29
  •  他の回答者の方々が色々回答しているようなのでアレですが、SQLプロファイラで何がボトルネックになっているか調べてみるのも一つの手だと思います。

     

     [ファイル]-[新規トレース]で対象となるサーバーを指定し、使用するテンプレートでとりあえず[Standard]を選択して[実行]ボタンをクリックします。

     

     また、中で色々なストアドプロシジャが動いているので、[ファイル]-[新規トレース]でもう一つトレースウィンドウを開きます。

     今度は使用するテンプレートを[TSQL_SPs]に変更します。

    次に[イベントの選択]タブをクリックして[すべての列を表示する]をチェックし、[Duration]という項目をチェックしてください。

     以上の設定が終わったら[実行]ボタンをクリックしてください。これでストアドプロシジャの中身がトレースできます。

     

     これでSQL Serverのトレースを取ることが出来ますので、Durationの値を見て、何がボトルネックになっているか確認することが出来ると思います。

    2008年9月15日 14:43

すべての返信

  • クエリのコマンドでbackupをしてみたらどうですか。

    後、Agentを使って、backupコマンドを使ったらどうですか。

     

    遅い理由はかなり不透明で、問題見るだけでは判断できかねます。

     

    一番いいやり方として、サーバーの負荷を監視することです。2003R2ですから、なんか監視モニタ機能もありますね。それを使って、どの部分がCPUやメモリが負荷かかっているのを発見してください。

     

    ちなみに、SQLServer2008の場合、どのユーザー(オブジェクト)にどのぐらいのCPU占用率を割り当てることも可能です。

    2008年9月14日 12:56
  • こんにちは、naginoです。

     

    はじめに、パフォーマンス関連の問題は原因が様々ですので、掲示板上でのやりとりでの調査は一般に難しいです。

     

    今回のケースでは、バックアップに関して、操作に応じて処理時間に変化があるということですが、

    それぞれの違いを確認するとヒントが得られるかもしれません。

    たとえば整合性のチェックであったり、空き領域の開放など、バックアップの際に付加できるオプションが

    多数ありますが、それらについて差が無いかどうかをご確認ください。

     

    あと、SPで互換性がなくなることは通常ありませんので考えにくいですが、念のためメンテナンスプランを別途新しく作り直し、

    そちらでの処理時間もご確認ください。

     

    また、Windowsのシステムログと SQL Server のログに何らかのエラーや警告が出ていないかも

    あわせてご確認ください。

     

    なお、可能でしたら処理時間がかかる際に、CPU、HDD、メモリのいずれに負荷がかかっているのかを

    念のためご確認ください。

     

    ご参考になれば幸いです。

     

    2008年9月15日 10:09
  • ごめんなさい、ちょっとした突っ込みです。

     

    > ちなみに、SQLServer2008の場合、どのユーザー(オブジェクト)にどのぐらいのCPU占用率を割り当てることも可能です。

    確かに可能なんですけど、実装されているのがEnterprise Edition以上なんです。

    というより、欲しい機能が全てEnterprise Editionにしか対応してなかったりします。

    http://www.microsoft.com/japan/sqlserver/2008/prodinfo/features/eemerit.mspx

     

    2008年9月15日 14:29
  •  他の回答者の方々が色々回答しているようなのでアレですが、SQLプロファイラで何がボトルネックになっているか調べてみるのも一つの手だと思います。

     

     [ファイル]-[新規トレース]で対象となるサーバーを指定し、使用するテンプレートでとりあえず[Standard]を選択して[実行]ボタンをクリックします。

     

     また、中で色々なストアドプロシジャが動いているので、[ファイル]-[新規トレース]でもう一つトレースウィンドウを開きます。

     今度は使用するテンプレートを[TSQL_SPs]に変更します。

    次に[イベントの選択]タブをクリックして[すべての列を表示する]をチェックし、[Duration]という項目をチェックしてください。

     以上の設定が終わったら[実行]ボタンをクリックしてください。これでストアドプロシジャの中身がトレースできます。

     

     これでSQL Serverのトレースを取ることが出来ますので、Durationの値を見て、何がボトルネックになっているか確認することが出来ると思います。

    2008年9月15日 14:43
  • こんにちは、山崎です。

    皆様にアドバイスありがとうございました。

    昨日、再度お客様のところに訪問し、確認して参りました。

     

    実際、ユーザはSQLServerを未だ業務で使っておらず

    導入直後の症状であったため、

    「動作が気持ちわるい」ということで、

    SQLサーバの再インストールを試すことになりました。

     

    再インストール後は、

    メンテナンスプランで作成したバックアップに掛かる所要時間も、

    だいぶ改善したため、様子を見ていただくことになりました。

     

    万一、また症状が出た場合は、

    アドバイス頂いたSQLプロファイラなど、活用してみたいと思います。

     

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

     

     

    2008年9月19日 1:05
  • こんにちは、フォーラムオペレータ 大久保です。

     

    h-yamaza さん、フォーラムのご利用ありがとうございます。

    再インストールで解決とは、たしかにちょっと気分が晴れないところがありますが、改善したということなのでよかったです。

     

    勝手ながら、アドバイスをくださった皆様の投稿に「回答済み」チェックをつけさせていただきました。

    また同じ症状が出た際には、このスレッドへのリンクを含めて新規スレッドで質問していただければ、経緯がわかって便利かと思います。

     

    それでは、またご利用ください!

    2008年9月29日 10:28