Sichert Datenbank und Wiederherstellung kann MSDB-Datenbank füllen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 152354 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Problembeschreibung

SQL Executive-basierten Aufgaben fehl, und die folgenden Fehlermeldung zurückgegeben:
Fehler: 1105, Schweregrad: 17, Status 2
Speicherplatz für Objekt reservieren kann nicht ' % * s 'in Datenbank' %. * s ' da die
' % * s ' Segment ist voll. Wenn der Speicherplatz in Syslogs ausgeführt wird, sichern die
Transaktionsprotokoll. Andernfalls verwenden Sie ALTER DATABASE oder Sp_extendsegment zu
Vergrößern des Segments.
Die SQL Executive-basierten Aufgaben, die fehlschlagen:
  1. Geplante Speicherabbilder und Wiederherstellungen.
  2. Aufgaben für die Replikation eingerichtet.
  3. Warnungen.
  4. Geplante Webtasks.

Ursache

Die MSDB-Datenbank ist voll.

Abhilfe

In SQL Server 6.5 wurden in den folgenden Tabellen der MSDB-Datenbank zur Unterstützung bei der Wartung Sicherungsinformationen hinzugefügt:

Sysbackupdetail: Gibt eine Übersicht über die Geräte zum Sichern (Dump) verwendet.
Sysbackuphistory: Gibt eine Zusammenfassung der einzelnen Sicherungsvorgang (Dump).
Sysrestoredetail: Gibt eine Übersicht über die Geräte verwendet, um wiederherzustellen (Load).
Sysrestorehistory: Gibt eine Übersicht über jeden Wiederherstellungsvorgang (Load).

SQL Server verwaltet automatisch eine vollständige online Sicherungs- und Wiederherstellungsverlauf in MSDB-Datenbank. Diese Informationen umfassen, wer die Sicherung durchgeführt es durchgeführt wurde, und welche Geräte- oder Dateien auf gespeichert.

Der Systemadministrator hat diese Tabellen so löschen Sie alte Einträge in diesen Tabellen um sicherzustellen, dass MSDB-Datenbank nicht ausfüllt überwachen.

Um Einträge aus dieser Systemtabellen in der MSDB-Datenbank zu löschen, kann die folgende gespeicherte Prozedur verwendet werden.
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
				
Sie müssen dann die neu erstellte gespeicherte Prozedur ausgeführt. Z. B. Wenn Sie alle Einträge in löschen möchten, die Tabellen aufgeführt in der gespeicherten Prozedur, aufgetreten vor 2 Januar 1997, würden Sie Folgendes ausführen:
exec sp_cleanbackupRestore_log  '1/2/97'
				
Wenn Sie den Code automatisieren möchten, können Sie ähnlich dem folgenden verwenden:
declare @DeleteBeforeDate datetime
-- Modify the second parameter as necessary.
-- It is currently set to delete anything older than 60 days.
select  @DeleteBeforeDate = DATEADD(day, -60, getdate())
select  @DeleteBeforeDate

   exec sp_cleanbackupRestore_log  @DeleteBeforeDate

				
Hinweis: Wenn Fehlermeldung eine 1105 Objekt 'Syslogs' bitte die folgenden Artikel der Microsoft Knowledge Base finden Sie: 110139 - INF: Causes of SQL Transaction Log Filling Up.

Eigenschaften

Artikel-ID: 152354 - Geändert am: Freitag, 24. Januar 2014 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 6.5 Standard Edition
Keywords: 
kbnosurvey kbarchive kbmt kbprb KB152354 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 152354
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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