空き領域の大幅な変更を避けるために、tempdb の設定を修正します。

空き領域の大幅な変更を避けるために、tempdb の設定を修正します。

2 ~ 3 日ごとに次の SCOM エラーが発生します。

コンピュータ上のSQLインスタンスMSSQLSERVERのデータベースtempdb SQLサーバー空きスペースに大きな変化が生じた

これは SharePoint 2007 SP2 をインストールしてから発生しており、おそらく SharePoint が検索インデックス作成タスクを実行している真夜中に発生します。

現在、tempdb のサイズは 313.88 MB、空き領域は 49.72 MB です。アラートのしきい値は 45% だと言われています。SQL Server 2005 64 ビットを使用しています。

この問題を解決するにはどうすればいいですか? また、tempdb は別の方法で構成する必要がありますか? この問題に関しては、偶然 DBA として行動しています。 ありがとうございます...

答え1

簡単な解決策としては、変動を回避するために tempdb を十分に大きくすることです。

  • 一時データベースのサイズを 1GB のデータ、500 MB のログ (または 2GB/1GB) に変更します。
  • SQL Serverを停止する
  • tempdb LDFおよびLDFファイルを削除します
  • SQL Server を再起動します

あまり深く考えなくても、ディスク スペースは安価であり、tempdb を大きくしても問題はありません。

データが増えるにつれて、tempdb の使用も増え始めます。

このソリューションは、物理的なファイルの断片化と自動ファイル拡張の問題を回避するのに役立ちます。

答え2

tempdb はさまざまな用途に使用されます。いくつか例を挙げると、

  • Tempdb テーブル、テーブル変数
  • ハッシュマッチ
  • ソート操作
  • 行バージョン
  • DBCC チェックDB
  • SORT_IN_TEMPDB オプションが使用されている場合、インデックスを再構築します。

空き領域が変化することが予想されるため、アラートを回避するために必要な最大値の 2 倍以上になるように tempdb のサイズを調整できます。また、念のため自動拡張をオンのままにしておくと、tempdb の領域が不足する状況になりません。

答え3

データベースの自動縮小はオンになっていますか? オンになっている場合はオフにしてください。データベースは必要な最大サイズまで拡大し、そのままになります。おそらく、拡大する量も確認したほうがよいでしょう。どのようなサイズの話なのか、またサーバーの仕様がどのようなものなのかがわからないため、拡大の増分について具体的な提案はできません。

関連情報