Moss 2007 SP2 DBインデックスメンテナンス
-
16-10-2019 - |
質問
私は読んだ」SharePoint製品とテクノロジー用のService Pack 2について「SP2がSPL Serverのオンラインインデックス再構築機能(p.4)を実行するUpdate Statistics Timerジョブの更新を含む論文。
ここでは用語が不確かですが、これはSQL Serverがマイナーなフラグメンテーションに使用している再構築(最大40%)で、DBをオンラインで残すのですか?したがって、これはDBがオフラインになる必要があると思うので、これが断片化されたインデックスを再構築しないと推測しています。誰かがここで私の信念を確認してもらえますか?
解決
あなたが言及しているストアドプロシージャは(proc_defragmentindices)であり、で議論されています このKBの記事。
ストアドプロシージャは、オンラインインデックスビルド機能の制限内で機能します。その1つは、LOB(大きなオブジェクト)列を含むインデックス上でオンラインインデックスを実行できないことです。悪いニュース? SharePointは、コンテンツデータベースに多くのBLOBデータ(画像、オフィスドキュメントなど)を保存します。
ストアドプロシージャ自体を見ると、最初にオンラインデフラグを実行しようとしてから、必要に応じてオフラインのデフラグ化に切り替えようとしていることがわかります - つまり、画像のような列の場合。私が見ることができるものから、断片化のレベルを決定するロジックはありません - これはavg_fragmentation_in_percentを使用して確認できます。
この文脈での「オンライン」の私の理解は、「オンラインインデックスビルド」です。これは、SQLデータベース自体がオンラインであることと同じではありません。オンラインインデックスビルドは、インデックスの2つのコピーを維持することで機能します。つまり、データは常に完全に利用可能であることを意味します。
オフラインのインデックス再構築は、データベース自体をオフラインで取得しません - 問題のテーブルでクエリを実行することはできません。これは、DB自体がオフライン状態にあるのとは大きく異なります。
そのため、質問に答えるために、Moss 2007 SP2に追加されたタイマージョブは、コンテンツDBにBLOBデータがあることを考えると、ほぼ確実にオフラインインデックスビルドになります。ただし、ストアドプロシージャは、可能な限りオンラインインデックスビルディングを実行し、データベース自体をオフラインにしません - 問題のテーブルのみが実行されます。