INF: Anmerkungen zu den Einstellungen "Automatische Vergrößerung" und "Automatische Verkleinerung" in SQL Server

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315512 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
315512 INF: Considerations for Autogrow and Autoshrink configuration in SQL Server
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Zusammenfassung

Die Standardeinstellungen Automatische Vergrößerung und Automatische Verkleinerung funktionieren in vielen SQL Server-Systemen ohne Optimierung. Es gibt jedoch Umgebungen, in denen diese Einstellungen nicht aktiviert werden müssen, oder in denen die Parameter Automatische Vergrößerung und Automatische Verkleinerung angepasst werden müssen. Dieser Artikel enthält einige Hintergrundinformationen, die Sie bei der Auswahl der Einstellungen für Ihre Umgebung zur Orientierung verwenden können.

Weitere Informationen

Hier einige Punkte, die zu beachten sind, wenn Sie die Parameter Automatische Vergrößerung und Automatische Verkleinerung optimieren.

Wie konfiguriere ich die Einstellungen?

  1. Sie können die Einstellungen Automatische Vergrößerung und Automatische Verkleinerung folgendermaßen konfigurieren:
    • mit einer ALTER DATABASE-Anweisung (nur SQL Server 2000)
    • mit der gespeicherten Prozedur sp_dboption
    • mit dem SQL Enterprise Manager
    Hinweis: Wenn Sie mit SQL Server 2005 arbeiten, verwenden Sie das SQL Server Management Studio anstelle des SQL Enterprise Manager. Weitere Informationen zur Festlegung dieser Einstellungen in SQL Server 2005 finden Sie auf folgender Website des Microsoft Developer Network (MSDN):
    Vorgehensweise: Hinzufügen von Daten- oder Protokolldateien zu einer Datenbank (SQL Server Management Studio)
    http://msdn2.microsoft.com/de-de/library/ms189253.aspx
    Datenbankeigenschaften (Seite Dateien)
    http://msdn2.microsoft.com/de-de/library/ms180254.aspx
    Sie können die Option Automatische Vergrößerung auch beim Erstellen einer Datenbank festlegen.

    Sie können die aktuellen Eigenschaften über die Datenbankeigenschaften in SQL Enterprise Manager (SEM) anzeigen, oder Sie können den folgenden Transact-SQL-Befehl ausführen:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Beachten Sie, dass die Einstellung Automatische Vergrößerung pro Datei vorgenommen wird. Sie müssen sie also an mindestens zwei Stellen pro Datenbank festlegen (einmal für die primäre Datendatei und einmal für die primäre Protokolldatei). Wenn Sie mehrere Datendateien und/oder Protokolldateien haben, müssen Sie die Optionen für jede Datei einstellen. Je nach Umgebung gelangen Sie möglicherweise zu verschiedenen Einstellungen für die einzelnen Datenbankdateien.

Wie wirken sich die Einstellungen auf die Leistung aus?

  • Wenn Sie eine Transaktion ausführen, die mehr Protokollspeicherplatz benötigt als verfügbar, und die Option Automatische Vergrößerung für das Transaktionsprotokoll dieser Datenbank aktiviert haben, so beinhaltet die Zeit, die für die Durchführung der Transaktion benötigt wird, die Zeit, die für das Anwachsen des Transaktionsprotokolls um den eingestellten Wert benötigt wird. Wenn es sich um eine große Schrittweite handelt oder ein anderer Faktor bewirkt, dass es lange dauert, scheitert die Abfrage, in der Sie die Transaktion öffnen, eventuell wegen eines Timeoutfehlers. Das gleiche Problem kann aus der automatischen Vergrößerung des Datenteils Ihrer Datenbank resultieren. Informationen zum Ändern der Einstellung Automatische Vergrößerung finden Sie im Thema "ALTER DATABASE" in der Onlinedokumentation zu SQL Server.
  • Wenn Sie eine große Transaktion ausführen, die ein Anwachsen des Protokolls erfordert, müssen andere Transaktionen, die einen Schreibvorgang im Transaktionsprotokoll erfordern, ebenfalls warten, bis das Protokoll die eingestellte Größe erreicht hat.
  • Wenn Sie die Optionen Automatische Vergrößerung und Automatische Verkleinerung kombinieren, entsteht eventuell unnötiger Verarbeitungsaufwand. Stellen Sie sicher, dass die Schwellenwerte, die eine Vergrößerung oder Verkleinerung auslösen, keine häufigen Größenänderungen nach oben und nach unten verursachen. Sie führen beispielsweise eine Transaktion aus, die dazu führt, dass das Transaktionsprotokoll zum Commit-Zeitpunkt um 100 MB wächst. Einige Zeit danach wird die Automatische Verkleinerung gestartet und verkleinert das Transaktionsprotokoll um 100 MB. Dann führen Sie dieselbe Transaktion aus, und das Transaktionsprotokoll wird wieder um 100 MB vergrößert. In diesem Beispiel erzeugen Sie unnötigen Aufwand und bewirken möglicherweise eine Fragmentierung der Protokolldatei; beides kann sich negativ auf die Leistung auswirken.
  • Die physische Fragmentierung als Folge von Größenänderungen bei den Daten- oder Protokolldateien kann die Leistung schwerwiegend beeinträchtigen. Das trifft unabhängig davon zu, ob Sie die automatischen Einstellungen verwenden oder die Dateien häufig manuell vergrößern und verkleinern.
  • Wenn Sie Ihre Datenbank in kleinen Schritten vergrößern oder sie vergrößern und dann verkleinern, kann es zu einer Datenträgerfragmentierung kommen. Die Datenträgerfragmentierung kann in manchen Fällen zu Leistungsproblemen führen. Auch Vergrößerungen in kleinen Schritten können die Leistung Ihres Systems beeinträchtigen.

Empfohlene Verfahren

  • Bei einem Produktionssystem ist die Automatische Vergrößerung lediglich als Option für den Notfall bei unerwartetem Anwachsen zu betrachten. Verwenden Sie die Option Automatische Vergrößerung nicht für die laufende Verwaltung Ihres Daten- und Protokollwachstums.
  • Sie können Warnungen oder Überwachungsprogramme für die Überwachung von Dateigrößen und die proaktive Vergrößerung von Dateien verwenden. Das trägt dazu bei, Fragmentierung zu vermeiden und ermöglicht es Ihnen, diese Wartungsaktivitäten außerhalb der Spitzenzeiten durchzuführen.
  • Die Optionen Automatische Vergrößerung und Automatische Verkleinerung müssen sorgfältig von einem ausgebildeten Datenbankadministrator evaluiert werden. Sie dürfen nicht unberücksichtigt bleiben.
  • Ihre Schrittweite für die Automatische Vergrößerung muss ausreichend sein, um die Leistungsprobleme zu vermeiden, die im vorigen Abschnitt erwähnt wurden. Der genaue Wert für Ihre Einstellung und die Wahl zwischen einem prozentualen Zuwachs und einem Zuwachs um eine bestimmte MB-Größe hängt von vielen Faktoren in Ihrer Umgebung ab. Als allgemeine Faustregel können Sie Ihre Einstellung für die Automatische Vergrößerung für Testzwecke auf etwa ein Achtel der Dateigröße einstellen.
  • Aktivieren Sie die Einstellung <MAXSIZE> für jede Datei, um zu vermeiden, dass eine Datei so stark anwächst, dass sie den gesamten verfügbaren Speicherplatz belegt.
  • Halten Sie Ihre Transaktionen so klein wie möglich, um ein ungeplantes Anwachsen von Dateien zu verhindern.

Warum muss ich mir über Speicherplatz Gedanken machen, wenn die Größeneinstellungen automatisch gesteuert werden?

  • Die Einstellung Automatische Vergrößerung kann die Größe der Datenbank nicht über die Grenzen hinaus erhöhen, die durch den Speicherplatz auf den Laufwerken vorgegeben sind, für die Dateien definiert sind. Wenn Sie also die Funktion Automatische Vergrößerung nutzen, um die Größe Ihrer Datenbanken zu steuern, müssen Sie dennoch unabhängig davon den verfügbaren Speicherplatz auf der Festplatte überprüfen. Die Einstellung Automatische Vergrößerung wird außerdem durch den Parameter MAXSIZE eingeschränkt, den Sie für die einzelnen Dateien auswählen. Um die Wahrscheinlichkeit zu verringern, dass nicht mehr genügend Speicherplatz zur Verfügung steht, können Sie den Leistungsindikator SQL Server: Datenbanken-Objekt:Größe der Datendatei(en) (KB) überwachen und festlegen, dass eine Warnung ausgegeben wird, wenn die Datenbank eine bestimmte Größe erreicht.
  • Ein ungeplantes Anwachsen von Daten- oder Protokolldateien kann Platz belegen, bei dem andere Anwendungen davon ausgehen, dass er verfügbar ist, und kann dazu führen, dass bei diesen Anwendungen Probleme auftreten.
  • Die Schrittweite für die Vergrößerung Ihres Transaktionsprotokolls muss ausreichend sein, um genügend Raum für die Anforderungen Ihrer Transaktionseinheiten zu schaffen. Auch wenn Automatische Vergrößerung aktiviert ist, kann eine Fehlermeldung anzeigen, dass das Transaktionsprotokoll voll ist. Das ist dann der Fall, wenn es nicht schnell genug vergrößert werden kann, um den Anforderungen Ihrer Abfrage gerecht zu werden.
  • SQL Server prüft nicht ständig auf Datenbanken, die den eingestellten Schwellenwert für die Automatische Vergrößerung erreicht haben. Stattdessen überprüft SQL Server die verfügbaren Datenbanken und sucht die erste Datenbank, die für die automatische Verkleinerung konfiguriert ist. Diese Datenbank wird geprüft und verkleinert, sofern erforderlich. Nach einer Wartezeit von einigen Minuten wird die nächste Datenbank geprüft, die für die Automatische Verkleinerung konfiguriert ist. Anders ausgedrückt: SQL Server prüft nicht alle Datenbanken auf einmal und verkleinert sie nicht auf einmal. Die Datenbanken werden im Round-Robin-Verfahren durchlaufen, um die Last über einen Zeitraum zu verteilen. Abhängig von der Anzahl der Datenbanken, die Sie auf einer bestimmten Instanz von SQL Server für die automatische Verkleinerung konfiguriert haben, kann es also ab dem Zeitpunkt, zu dem die Datenbank den Schwellenwert erreicht, einige Stunden dauern, bis sie tatsächlich verkleinert wird.

Informationsquellen

Weitere Informationen zum Vergrößern und Verkleinern Ihrer Datenbank- und Protokolldateien finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
256650 INF: SO WIRD'S GEMACHT: Verkleinern des SQL Server 7.0-Transaktionsprotokolls
272318 INF: Verkleinern des Transaktionsprotokolls in SQL Server 2000 mit DBCC SHRINKFILE
317375 Ein Transaktionsprotokoll auf einem SQL Server-Computer wächst unerwartet oder wird voll
247751 BUG: Datenbankwartungsplan verkleinert nicht die Datenbank
305635 PRB: ein Timeout tritt automatisch bei dem Erweitern einer Datenbank auf

SQL Server-Onlinedokumentationen; Themen: "Physische Architektur des Transaktionsprotokolls"; "Verkleinern des Transaktionsprotokolls"

Eigenschaften

Artikel-ID: 315512 - Geändert am: Montag, 25. Juni 2007 - Version: 6.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Keywords: 
kbinfo KB315512
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