none
SQL Server Dateigröße verkleinern RRS feed

  • Frage

  • Hallo,

    durch das Löschen von Datenbanktabellen verringert sich beim SQL Server nicht zwingend und automatisch die Dateigröße. Der SQL Server behält sich den hinzugekommenen freien Speicher vor.

    Wie kann ich die Verkleinerung der Dateigröße des SQL Server (auch Express) über ADO.NET anstoßen?

    Ist diese Operation sehr zeitaufwendig bzw. benötigt sie viel Ressourcen?

    Danke und viele Grüße,
    Christian

    Dienstag, 16. Juni 2015 10:40

Antworten

  • Hallo Christian,

    der SQL Server verkleinert normalerweise nie (Ausnahme: AutoShrink ist an) die Datenbank-Dateien, weil es zum einen unnötig zeitaufwendig ist und reichlich I/O Ressourcen benötigt. Zudem verursacht das weitere Probleme, nämlich das die Indizes dann stark fragmentieren und das wiederum zu Performanz-Problemen führt. Man sollte vom Datenbank-Verkleinern Abstand nehmen.

    Wenn es aber doch sein muss, es gibt dafür die Transact-SQL Befehle:
    DBCC SHRINKDATABASE (Transact-SQL) für alle Datenbankdateien
    DBCC SHRINKFILE (Transact-SQL) für eine Datei


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 16. Juni 2015 10:50
  • Hallo,
    ergänzend zu Olaf möchte ich Anmerken, dass sich die Datenbankdatei in der Regel wieder aufbläht. Daher ist verkleinern in der Regel keine Lösung.

    Viele Grüße Holger M. Rößler

    Dienstag, 16. Juni 2015 11:40

Alle Antworten