Datenbankdatei-Initialisierung

Daten- und Protokolldateien werden initialisiert, damit eventuell auf dem Datenträger zurückgebliebene Daten aus bereits gelöschten Dateien überschrieben werden. Daten- und Protokolldateien werden zunächst initialisiert, d. h. mit Nullen gefüllt, wenn Sie die folgenden Vorgänge ausführen:

  • Erstellen einer Datenbank.

  • Hinzufügen von Daten- oder Protokolldateien zu einer vorhandenen Datenbank.

  • Erhöhen der Größe einer vorhandenen Datei (einschließlich Vorgänge zum automatischen Vergrößern).

  • Wiederherstellen einer Datenbank oder Dateigruppe.

Durch die Dateiinitialisierung beanspruchen diese Vorgänge etwas mehr Zeit. Wenn jedoch zum ersten Mal Daten in die Dateien geschrieben werden, braucht das System sie nicht mit Nullen zu füllen.

Sofortige Dateiinitialisierung

In SQL Server können Datendateien sofort initialisiert werden.Dadurch können die oben angeführten Vorgänge schnell ausgeführt werden. Durch die sofortige Dateiinitialisierung wird Speicherplatz freigegeben, ohne dass dieser Speicherplatz mit Nullen gefüllt wird. Der Datenträgerinhalt wird vielmehr überschrieben, wenn neue Daten in die Dateien geschrieben werden. Protokolldateien können nicht sofort initialisiert werden.

HinweisHinweis

Die sofortige Dateiinitialisierung ist nur unter MicrosoftWindows XP Professional und Windows Server 2003 oder höheren Versionen verfügbar.

Die sofortige Dateiinitialisierung ist nur verfügbar, wenn dem SQL Server-Dienstkonto (MSSQLSERVER) die Berechtigung SE_MANAGE_VOLUME_NAME erteilt wurde. Mitglieder der Windows-Gruppe Administrator verfügen über dieses Recht und können es anderen Benutzern erteilen, indem Sie diese Benutzer zur Sicherheitsrichtlinie Volumeverwaltungstask ausführen hinzufügen. Weitere Informationen zum Zuweisen von Benutzerrechten finden Sie in der Windows-Dokumentation.

Überlegungen zur Sicherheit

Da gelöschte Datenträgerinhalte erst dann überschrieben werden, wenn neue Daten in die Dateien geschrieben werden, können nicht autorisierte Prinzipale auf die gelöschten Inhalte zugreifen. Solange die Datenbankdatei an die Instanz von SQL Server angefügt bleibt, wird das Risiko der Offenlegung von Informationen durch die freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL) für die Datei reduziert. Die DACL lässt einen Dateizugriff nur für das SQL Server-Dienstkonto und den lokalen Administrator zu. Wird die Datei jedoch getrennt, kann auch ein Benutzer oder ein Dienst ohne die Berechtigung SE_MANAGE_VOLUME_NAME auf die Datei zugreifen. Ein ähnliches Risiko besteht beim Sichern der Datenbank. Wenn die Sicherungsdatei nicht durch eine geeignete DACL geschützt wird, kann der gelöschte Inhalt für einen nicht berechtigten Benutzer oder Dienst verfügbar werden.

Wenn das Risiko der Offenlegung von gelöschten Inhalten ein Problem darstellt, sollten Sie einen oder beide der folgenden Schritte ausführen:

  • Stellen Sie sicher, dass gelöschte Datendateien und alle Sicherungsdateien immer durch restriktive DACLs geschützt werden.

  • Deaktivieren Sie die sofortige Dateiinitialisierung für die Instanz von SQL Server, indem Sie die Berechtigung SE_MANAGE_VOLUME_NAME für das SQL Server-Dienstkonto aufheben.

HinweisHinweis

Das Deaktivieren der sofortigen Dateiinitialisierung wirkt sich nur auf Dateien aus, die nach dem Aufheben der Benutzerberechtigung erstellt werden bzw. deren Größe nach dem Aufheben der Benutzerberechtigung heraufgesetzt wird.