Olaのスクリプトのメリットとデメリットは何ですか?


9

メンテナンスプランに対してOlaのソリューションを使用することの長所と短所を理解するのを手伝ってくれませんか?SQLパスに基づくプレゼンテーション(http://www.pass.org/DownloadFile.aspx?File=ebae1b31)を用意しました。

Olaのソリューションが対処し、保守計画ソリューションが対応しないいくつかのシナリオも準備しています。これをより技術的に説明するのを手伝ってくれませんか?

ちなみに、私たちは約150以上のサーバー(2008/2012/2014/2016の組み合わせ)を管理しており、そのうちの75%以上がOlaのソリューションです。私はブレント・オザーのこの記事が好きでした。しかし、コメントの1つで、ブレントはサーバー数に応じてスクリプトベースのソリューションを使用することを推奨しています。https://www.brentozar.com/archive/2012/04/maintenance-plans-roombas-suck-good-way/


バックアップ、インデックス/統計のメンテナンス、破損チェック、またはこれらすべてのことを話しているのですか?
nkdbajoe

それらすべて。Olaによるメンテナンスソリューションスクリプト全体。Olaのスクリプトを使用したメンテナンスプランでの不要なインデックスの再構築と統計の更新の問題を解決しました。他のDBAの技術的な弾薬が欲しかっただけです。ありがとうございました。
パット

2
個人的には、最善の解決策は、ビジネス要件と、エラーが発生したときにそれを解決する能力を満たすソリューションであると私は信じています。Olaのソリューションは一般的に悪くありませんが、私は自分の環境に合わせて独自にカスタマイズしたソリューションを好みます。たとえば、インデックスのメンテナンスでは、時間を節約するために並列実行したいと考えています。Olaのソリューションはここでは機能しません。統計の増分を更新したいのですが、Olaのソリューションもここでは機能しません。
-jyao

それらが優れていることを示すデータはありますか、それとも、自分が優れていると感じているものだけを使用していますか?この問題を解決する最善の方法は、パフォーマンスデータを取得して、メソッドが優れている理由を示すことです
Joe W

インデックスのメンテナンスでは、多くの場合、制限要因はSANとストレージサブシステムです。SAN構成によっては、並列再構築で改善が見られない場合があります。
2018年

回答:


13

私がいるここに書かれて

メンテナンスプランは悪くありませんが、環境が拡大すると、メンテナンスプランが提供する制限された柔軟性と機能は十分ではなくなります。

さらに追加するには、

  • Olaのメンテナンスソリューションは、コミュニティや大規模な組織で広く受け入れられています
  • そのオープンソースと問題はgithub / issuesで提起され、非常に速く修正される可能性があります。
  • 柔軟でスケーラブルです(数台のサーバーにデプロイする場合でも、dbatoolsのInstall-DbaMaintenanceSolutionを使用するだけです)。
  • マイクロソフトはメンテナンス計画のGUIを修正するのに10年近くかかりましたが、それ自体バグがありました:-)
  • には広範なドキュメントとFAQがあり、常に新しいSQLサーバーのバージョンに対応するように更新されています。
  • プレビュー版、あなたも並行してバックアップを実行することができます。
  • インデックスメンテナンスソリューションの場合は、プロセスの時間を計ることもできます。たとえば、実行時間がX時間を超える場合は、プロセスを中止します。

5

スクリプトベースのソリューションの主な利点の1つは、展開が容易なことです。これは、150以上のサーバーがあるため、ケースに明らかに関連しています。150台のサーバーにいくつかのメンテナンスプラン(つまり、システムデータベース用とユーザーデータベース用の2つ以上)を展開しようとすると、悪夢になります。それらを所定の位置に維持することは、同じくらい面倒なことです。

スクリプトベースのソリューションは、時間の経過とともに展開および保守がはるかに容易になります。Olaのスクリプトはかなり包括的で、ほとんどのニーズをカバーしています。これらは、組織が独自の要件に合わせて微調整するための素晴らしい出発点です。

私たちの場合、DEV環境には約40のSQLインスタンスがあり、SSMSの複数接続機能で変更されたOlaスクリプトを使用して、40のインスタンスすべてのメンテナンス体制への変更をワンクリックでロールアウトできるようにしています。特別な場合は、修正によって処理されます。


3

私は彼のスクリプトを100%確信していませんが、カスタムスクリプトは保守計画よりもはるかに優れています。組み込みのプランは、断片化がどれほど少なくても、テーブルのすべてのインデックスを再構築します。Always Onを使用している場合、トラフィックの嵐が発生します。

カスタムスクリプトを使用すると、20%を超えるものやしきい値が何であっても再構築できます。一度に再構築されるインデックスは少なくなります。セカンダリに送信するAlways Onデータが少なくなります。再構築するインデックスが少なくなるため、再構築が速くなります。必要なメンテナンス時間の短縮。

前回メンテナンスプランを使用したときは、3億行のテーブルがあり、インデックスの再構築が始まり、トランザクションログがオーバーフローする問題が発生すると、Always Onは数時間遅れます。スクリプトに戻り、すべてがなくなりました。


1
私はもともと2007年頃にSQL 2005用に独自に書いたものです。オンラインの本をベースにして、少し変更しました。当時はほとんどの人が計画を使用していたようで、今は逆転しているようです。そして、私がDBAのことを始める前は、以前のDBAがSQL 2000のカスタムスクリプトを持っていました。唯一違うのは、すべてを再構築したことだけです。20%または30%を超えるものを再構築する方が、再編成するよりも高速でした。バックアップには、常にサードパーティ製品を使用してきました
2018年

1

上記と同様に、私のお気に入りの理由は、バックアップの種類を自動的に切り替えることができるようにすることです。これにより、新しいデータベースは、次の完全バックアップジョブが実行されるまで待たずに、最初にログバックアップジョブが実行されるときに完全バックアップを取得します。


0

ほとんどの場合、メンテナンスプランは問題なく機能します。Ola Hallengrenのスクリプトはほとんどの場合問題なく動作します。

非常にまれなケースでは、あなた自身のものを育てなければならないかもしれません。

チャオが言ったように、あなたが最も快適に作業できるのはそれです。同僚がメンテナンスプランに最も慣れている場合、ニッカーをひねり出すのはなぜですか?

20年以上データベースを使用している場合、彼はすでに独自のメンテナンススクリプトを作成しています。運転を習っていた頃、カーゴショートパンツやビーチサンダルを履いた若いパンクがいたのかもしれません。 」

その後、おそらく4年間の戦いがありました。スキニージーンズとマニアックな蝶ネクタイをしたこの他の若いパンクは、脚本に戻るように言っています。髪を白くするのに十分です。

考慮すべき3つのこと:

ハレングレナイトの優位性のこれらの例は、実際に環境に適用できますか?

もし彼が保守計画を使うなら、それはあなたに実際の問題を引き起こすでしょうか?

ハレングレンのスクリプトを使用するように彼を説得し、問題がある場合、彼はそれを自分で解決することができますか、それとも彼はあなたに電話する必要がありますか?


最初の2つの質問への回答はい。すでにメンテナンスプランに問題があり、Olaのソリューションで解決しました。本番サーバーにもログの縮小タスク(??)があり、すぐに無効にしました。3番目の質問、わかりません。彼がメンテナンスプラン自体によって作成された問題を解決できるかどうかはわかりません。問題が発生した場合に備えて彼に尋ねたところ、どうすればよいですか?彼の答えはマイクロソフトのサポートに電話することでした。(??)
Pat、

@パット、ああ、ピーター原則の下で彼が限界に達しているように聞こえる。彼をより良くしようとするように注意してください-彼は助けに感謝する可能性は低いです。
James
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.