ドライブを最適化する前にSQL Serverサービスを停止しますか?


8

当社のSQL Server 2005データベースのデータファイルは、Microsoft Windows 2003のディスクデフラグツールが99%断片化していると報告する別の物理ドライブにあります。

土曜日の午前3時にこのドライブを最適化するタスクをスケジュールしました。ジョブは40分後に完了し、明らかなエラーはありませんでした。ただし、ドライブは非常に断片化されたままです。

デフラグする前にSQL Serverサービスを停止する必要がありますか?

環境

コンテキストの要求ごと:4 GBのRAMを搭載した2007年頃のDell PowerEdge 2950ハードウェアで32ビットWindows Server 2003(SP2)を実行するMicrosoft SQL Server 2005インスタンス(9.00.5324.00)があります。PowerEdge 2950には、2つの68GB仮想ディスクを作成するためにRAID-1として構成された4つの68GBドライブがあります。(1)C(ブートおよびOS)およびD(ページファイル、その他のその他のデータ)。(2)E(SQLデータ)。私の知る限り、ITスタッフはこれらのドライブのいずれも最適化したことがありません...ディスクデフラグツールは、66%(C)、77%(D)、および99%(E)のファイルの断片化を報告します。パフォーマンスモニターは、次の平均結果を報告します。「ページングファイル:使用率%」= 〜6.8% ; "SQL Server:バッファマネージャ-ページの平均余命" = 20秒 ; および「PhysicalDisk:平均ディスク秒/書き込み、ドライブE」= 300〜1。数か月後には非常に必要なハードウェアとSQL Serverのアップグレード(つまり、新しいハードウェア、64ビットWindows Server 2012、64ビットSQL Server 2012、12GB RAM)が必要ですが、ユーザーのパフォーマンス、問題をできるだけ軽減したい。したがって、ファイルのデフラグを考えることは、メインのSQLデータドライブであるドライブEに役立つ可能性があります。

余談ですが、先週、2台の故障したドライブを引き出してアレイを再構築しました。サーバーを維持するために別のITチームと契約しているため、機器に直接アクセスすることはできません...私たちの組織はサービスの料金を支払うだけです。

定期的にスケジュールされたメンテナンスウィンドウ(毎週)中のダウンタイムと、必要に応じて夜間の帯域外ダウンタイムを用意できます。


6
物理ディスクの断片化が大きな影響を与えていることを示す測定値はありますか?ダウンタイムは許されますか?
Remus Rusanu 2013年

2
@RemusRusanu-特定のレベルの断片化が実際に最適化せずにシステムに全体的な悪影響を及ぼしているかどうかをどのようにして知ることができますか?パフォーマンスモニターを使用して分割I / Oの数を調べると役立つ場合がありますが、SQL Server内のアクティビティと関連付けることは困難です。ところで、これは対決を意味するものではありません-私は本当に興味があります!
Max Vernon

4
@MaxVernon:理論的にはXPerfだと思います。同じディスク上にフラグメント化されていないデータベースを作成し、キャプチャされたワークロードを実行することで、並列して測定することもできます。ただし、すべての実際的な理由から、断片化が原因であるか、アプリ内に蔓延しているパフォーマンスの問題が発生する可能性は圧倒的です。
Remus Rusanu 2013年

3
私の経験では、100回のうち99回(またはそれ以上)は間違いなく同意します。パフォーマンスの問題は、ORMがSELECT *いたるところに発生したり、その他の不正行為が原因で発生する可能性がはるかに高くなります。
Max Vernon

1
他の変更を加える前、そしてデフラグを試みる前に、配列が完全に再構築されていることを確認する必要があります。また、RAMは最速のディスクよりも1,000倍高速であるため、新しいシステムに対するアドバイスの1つ-できる限り多くのRAMを取得します-メモリ内の定期的にアクセスされるSQLデータをできるだけ多く必要とします。
Max Vernon

回答:


2

私は個人的にRaxco PerfectDisk(会社やその従業員とは一切関係ありません)を使用してSQL Server LUNのオンラインデフラグを実行しました。サーバーが少し遅くなる場合は、完全に機能します。私は軽い活動の期間中にそれを行うことをお勧めします。「完全に機能する」とは、ボリュームまたはSQLデータファイルを破損しないことを指します。

ドライブで特定の構造が断片化されている場合、組み込みのデフラグツールは非常に貧弱な仕事をします。PerfectDiskは、NTFSアロケーションテーブル、ディレクトリ、代替ファイルストリームなどを含む、断片化されたすべてのアイテムの詳細を示します。

PerfectDiskはSQLデータベースを最適化しますか? http://support.raxco.com/KB/a106/does-perfectdisk-defragment-sql-databases.aspx

SQL Serverと断片化に関するTechnetニュースマガジンのアーカイブコピーを参照してください:http : //web.archive.org/web/20100803204458/http : //www.microsoft.com/technet/abouttn/flash/tips/tips_083104.mspx


2
しかし、Remusのコメントには、単に製品を指すだけでなく、はるかに多くのメリットがあります。SQLがインストールされていたWindowsディスクを最適化したことはないと思います。また、必要な強力な兆候も見たことがありません。Windowsはドライブが断片化していると言うかもしれませんが、重要なことは、SQL Serverが原因で問題が発生しているかどうかです。多くの場合、それは本当に問題ではなく、ファイルシステムレベルのデフラグを実行する必要はまったくないのではないかと思います。「完全に機能する」と言いましたが、実際に測定可能な改善を観察しましたか?詳細を教えてください。
アーロンベルトラン

1
アーロン、同意します。ほとんどの場合、適切に設計されたSQL Serverでの物理的な断片化の影響はほとんどありません。この場合でも、ユーザーが99%の断片化を報告しています。ただし、ユーザーがSQLデータベースをO / Sと同じLUNに配置していて、それがたまたま単一のディスクまたは少数のスピンドルを持つRAIDアレイ上にある場合、本当に過度の断片化が影響を与える可能性があります。
Max Vernon

1
「本当に過剰」とは、何千ものフラグメントのようなものを意味します。数十万と考えてください。私はそれを見ました。私が誇りに思っているわけではありません。
Max Vernon

Brent Ozarが言ったように、1つの巨大なRAIDアレイでデータが共有されているSANでSQLデータベースを実行している場合、物理デフラグ(および実際には論理SQLデフラグ)を実行しても、全体的に測定可能なプラスの効果はありません。システムのパフォーマンス。
Max Vernon

適切なツールを使用すれば「はい」と思われるため、これを現在の最良の回答としてマークします。ありがとう!
iokevins 2013年

7

問題はディスクの断片化ではありません。問題は、RAMとアプリケーションテーブルのスキャンです。

4GB RAM ... 68GB ...ページ平均寿命20秒

あなたは必要とする方法より多くのRAMを。新しいサーバーのように、12GBを超える方法が必要です。64 GBから始めて、基本的には10 セントかかります。はい、インデックスを使用するようにアプリを修正します。20秒は、バッファプールを破壊するテーブルスキャンの非常に明確な指標です。アプリを修正し、必要なインデックスを追加してクエリを修正する必要があります。あなたの場合、ドライブをデフラグすることは、赤いニシンと同じくらい赤いニシンです。

ああ、ログを物理スピンドルとデータに分離してください。一人で。


Remusに感謝します。私が世界を支配した場合にのみ...残念ながら、私たちはアプリのサードパーティベンダーと契約しているため、直接管理することはできません。私はあなたの洞察に感謝します、ありがとう。
iokevins 2013年

1
より多くのRAMとSSDは、かなりスリムな予算であなたの方法を容易にすることができます。しかし、アプリには修正が必要です。
Remus Rusanu 2013年

フォローアップとして、ドライブを最適化した後、パフォーマンスはわずかに向上しました。RemusはRAMの問題の診断において正しいようです。
iokevins 2013年

@RemusRusanu仮想サーバー(vmware)の異なるディスクに配置されたファイルで最適化しようとすることは重要ですか?これは、仮想化に関する無知の一般的な質問です...
diegohb '16

-4

ブラッド・マクギーはそれをここでうまく説明しています:

http://www.bradmcgehee.com/2011/06/do-you-ever-physically-defragment-your-sql-server-mdf-ldf-files/

...デフラグ中にSQL Serverサービスを実行したままにすると、データベースファイルが開いているため、まったくデフラグされません。


2
間違いです。少なくとも最近のバージョンのWindowsでは。Windows Server 2003+またはWindows XP +と同様
Max Vernon

1
すべてのWindowsデフラグツールは、システムAPIを使用してファイルをデフラグし、ファイルアクセスAPIの下のクラスターレベルでこれを行います。これは、オンラインのボリュームでフォルダーをデフラグできる方法です。
Max Vernon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.