web-dev-qa-db-ja.com

tempdbの設定を修正して、空き領域の大幅な変更を回避します

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

コンピューター上のSQLインスタンスMSSQLSERVERのデータベースtempdb sqlserverで空き領域が大幅に変更されました

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

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

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

3
Alex Angas

簡単な解決策は、変動を回避するのに十分な大きさのtempdbを作成することです。

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

深くなりすぎない限り、ディスクスペースは安価であり、tempdbを大きくしても害はありません。

データが大きくなるにつれて、より多くのtempdbも使用するようになります。

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

1
gbn

tempdbは、いくつか例を挙げると、多くのことに使用されます。

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

空き領域が変わることが予想されます。それに応じてtempdbのサイズを変更し、アラートを回避するために必要となる可能性のある最大値の少なくとも2倍にすることができます。また、万が一の場合に備えて、自動拡張をオンのままにしておきます。tempdbの容量が不足するような状況になりたくない場合に備えてください。

1
Nick Kavadias

データベースで自動縮小がオンになっていますか?その場合は、オフにします。必要な最大サイズに成長し、そこにとどまります。あなたはおそらくそれが成長している量も見直したいと思うでしょう。私たちが話しているサイズの種類とサーバーの仕様がわからないので、成長の増分について具体的な提案はしたくありません。

0
pipTheGeek