Sofortige Dateiinitialisierung auf freigegebenem Laufwerk

8

Ich habe zuvor etwas Ähnliches gefragt, aber zuvor hatte ich gefragt, ob Backups an einen freigegebenen Speicherort verschoben werden sollen. Diesmal bin ich neugierig: Wenn ich eine Datenbank auf einem freigegebenen Laufwerk wiederherstellen möchte, muss ich IFI auf diesem Server oder nur auf dem Server aktivieren, auf dem SQL Server ausgeführt wird?

Der Grund, den ich frage, ist, dass ich eine ziemlich große Datenbank wiederherstelle und sie in den letzten Stunden zu 100% wiederhergestellt wurde. Die Wartezeit sp_whoisactivelautet:

(28472716ms) `PREEMPTIVE_OS_WRITEFILEGATHER.

Das einzige Mal , dass ich gesehen habe , das ist , wenn IFI nicht auf, aber ich tun habe es auf dem SQL - Server aktiviert ist , aber es ist nicht auf dem gemeinsamen genutzten Laufwerk - Server aktiviert.

Chris Woods
quelle

Antworten:

1

Antwort aus dem Community-Wiki aus Kommentaren zu dieser Frage von Bob Klimes , Sean Gallardy und Aaron Bertrand .


Sie müssen die Instant File Initialization (IFI) auf dem Server aktivieren, auf dem sich die Festplatte befindet. Starten Sie SQL Server neu, damit es wirksam wird.

Sie können testen, ob IFI an der Freigabe arbeitet, indem Sie eine Datenbank auf der Freigabe mit aktivierten Ablaufverfolgungsflags 3004 und 3605 erstellen . Die Ausgabe wird in das SQL Server-Fehlerprotokoll geschrieben.

Wenn IFI funktioniert, gibt es keine Einträge zum Nullstellen der MDF-Datei.

IFI scheint mit Netzwerkfreigaben zu funktionieren, aber für mich dauerte die Erstellung einer Testdatenbank für die Freigabe 45 Sekunden und lokal weniger als 1 Sekunde. Selbst wenn IFI aktiviert ist, können Leistungsprobleme auftreten.

Paul White
quelle