この問題が私を混乱させているので、助けてください...
Tempdb
には、4つのデータファイルと1つのログファイルがあります。それらはすべて同じ専用ドライブにあります。
SQL Server Management Studio(SSMS)でtempdb
を右クリックして[プロパティ]-> [一般]を表示すると、 "サイズ"が〜65000 MB、 "空き容量"が〜64000 MBと表示されます。しかし、GUIを使用してファイルを縮小しようとすると、「現在割り当てられているスペース」は変更されておらず、初期サイズが表示されたままです。
これは、「使用可能な空き容量」が負の数として表示される場所でもあります。これまでに見つけた唯一の回避策は、SQL Serverを再起動してtempdb
をフラッシュすることですが、これを続けることができません。
誰かがこれに遭遇し、根本的な原因/永久的な解決策を知っていることはありますか?
さて、あなたはあなたのtempdb設定をチェックし、あなたのサーバーによるそれの使用法を概観する必要があります。マイクロソフトは、tempdbを管理し、そのパフォーマンスを最適化するための主要なアドバイスを提供しています( http://msdn.Microsoft.com/en-us/library/ms175527(v = sql.105).aspx を参照)。それらを適用してみて結果を確認してください(私の場合、私の17GBデータベースを4GBに最適化するのに役立ちました)
また、sp_spaceused proc it temp databaseを使用することもできます。これは、どのテーブルがデータファイルのスペースのほとんどを消費しているかを示します。プロファイラーを使用して、ファイルの自動拡張を検出し、ファイルの自動拡張をログに記録することもできます。頻繁に変更される場合-tempDbは自動的に追加のスペースを使用し、おそらく#tmpテーブルを使用するロジックを変更する必要があります。
稼働中のサーバーのtempdbを縮小すると、他のデータベースのクエリで問題が発生する可能性があります(シングルモードでのみ実行してください)