2009-04-23 18 views
1

私は変な動作をしているデータベースを持っています。私はサーバー上のすべてのアクティビティを監視しており、tempdbは絶えず増加しています。それは約45分で30GBの成長を遂げました。私はtempdb内の割り当てられたスペースをチェックし続け、それは常に約8 MBです。私はそれが割り当てているすべてのスペースを必要としていないことを知っている、私はtempdbと1つのトランザクションが本質的に空で起こっているのを見て、それはまだ成長している。 以前に割り当てられたスペースを使用するのではなく、代わりにエンジンを使用して、より多くのハードドライブスペースを使用するようにしています。 tempdbが非常に大きく、SQLを再起動したため、tempdbのサイズが適切に縮小されていましたが、これ以降も増加し続けており、SQLを再起動することは生産環境であるためオプションではありません。私はこのサーバー上でhdスペースが限られているので、tempdbを妥当なサイズに保つ必要があります。MSSQL Server 2005 tempdbの問題

+0

これは解決しましたか? – Wayne

答えて

2

実行中のスクリプトについて分析しましたか? SQLアクティビティを特定するためにプロファイラを使用しましたか?

私の最初の考えは、一時テーブル(#table)を使用したスクリプトと可能なデカルト製品が参加していますか?

メモSQL Serverの起動時にtempdbが再作成されるため、サービスを再起動すると切り捨てられます。

+0

私が制御しているデータベースのうち、一時テーブルを使用するものはありません。私が知っている唯一のデカルト結合は、週に1回実行されます。私は今プロファイラを実行して、何が起こっているのか把握しようとしています。 私は起動時にtempdbを切り捨てることを知っていました。私たちはハードドライブのスペースを使い果たしているので、それを具体的に再開しました。 –

+0

あなたのプロフィールが完了するのを待って、多分それは何が起こっているかについていくつかの洞察を提供します。あなたはDMVを走らせましたか? – Wayne

+1

また、結合、ソート(順序付け)および特定のdbccコマンドでは、結果セットを作成するためにストレージにtempdbが使用されます。プロファイル出力でもこれらを探します。 – Wayne

関連する問題