PRB : データベースのダンプと復元を行うと MSDB データベースが一杯になる

文書翻訳 文書翻訳
文書番号: 152354 - 対象製品
この記事は、以前は次の ID で公開されていました: JP152354
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
すべて展開する | すべて折りたたむ

現象

SQL Executive ベースのタスクが失敗し、次のエラー メッセージが表示されます。
Error: 1105, Severity : 17, State 2
Can't allocate space for object '%.*s' in database '%.*s' because the
'%.*s' segment is full. If you ran out of space in Syslogs, dump the
transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to
increase the size of the segment.
次の SQL Executive ベースのタスクが失敗する可能性があります。
  1. 定期ダンプと定期復元
  2. レプリケーションのためにセットアップしたタスク
  3. 警告
  4. 定期 Web タスク

原因

MSDB データベースが一杯になることが原因です。

回避策

SQL Server 6.5 では、バックアップ情報を保持する次のテーブルが MSDB データベースに追加されています。

sysbackupdetail : バックアップ (ダンプ) の作成に使用するデバイス群の要約が記述されています。
sysbackuphistory : 各バックアップ操作 (ダンプ) の要約が記述されています。
sysrestoredetail : 復元 (ロード) に使用するデバイス群の要約が記述されています。
sysrestorehistory : 各復元操作 (ロード) の要約が記述されています。

SQL Server では、オンラインでのバックアップおよび復元の完全なヒストリが自動的に MSDB データベースに保存されます。この情報に含まれるのは、バックアップを実行した人、実行された日付と時刻、およびそのバックアップが保存されているデバイスまたはファイルです。

システム管理者は、これらのテーブルを監視して、MSDB データベースが一杯にならないように、テーブルの古いエントリを削除する必要があります。

次のストアド プロシージャを使用して、MSDB データベースのシステム テーブルからエントリを削除できます。
use master
go
sp_configure 'allow', 1
go
reconfigure with override
go
drop proc sp_cleanbackupRestore_log
   go
   create proc sp_cleanbackupRestore_log
   @DeleteBeforeDate datetime
   as
   begin
      Delete from msdb.dbo.sysbackupdetail where backup_id
         in (Select backup_id from msdb.dbo.sysbackuphistory where backup_start <=
   @DeleteBeforeDate)
      Delete from msdb.dbo.sysbackuphistory where backup_start  <=
   @DeleteBeforeDate
      Delete from msdb.dbo.sysrestoredetail where restore_id
         in (Select restore_id from msdb.dbo.sysrestorehistory where backup_start <=
   @DeleteBeforeDate)
      Delete from msdb.dbo.sysrestorehistory where backup_start <=
   @DeleteBeforeDate
   end
go
sp_configure 'allow', 0
go
reconfigure with override
そして、新しく作成されたストアド プロシージャを実行する必要があるとします。たとえば、ストアド プロシージャに記載されているテーブルから、1997 年 1 月 2 日以前のエントリをすべて削除するには、次とおり実行します。
exec sp_cleanbackupRestore_log  '1/2/97'
メモ : syslogs オブジェクトに対して 1105 が発生した場合は、Microsoft Knowledge Base で次の記事を参照してください。 110139 - INF: Causes of SQL Transaction Log Filling Up

詳細

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 152354 (最終更新日 1999-04-01) をもとに作成したものです。

プロパティ

文書番号: 152354 - 最終更新日: 2014年2月1日 - リビジョン: 3.1
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 6.5 Standard Edition
キーワード:?
kbnosurvey kbarchive kbtshoot KB152354
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com