Inizializzazione file istantanea su unità condivisa


8

Ho chiesto qualcosa di simile prima, ma in precedenza avevo chiesto di spostare i backup in una posizione condivisa. Questa volta sono curioso: se voglio ripristinare un database su un'unità condivisa, devo abilitare IFI su quel server o solo sul server che esegue SQL Server?

Il motivo per cui chiedo è che sto ripristinando un database piuttosto grande ed è stato bloccato al 100% ripristinato nelle ultime due ore. Il tipo di attesa sp_whoisactiveè:

(28472716ms) `PREEMPTIVE_OS_WRITEFILEGATHER.

L'unica volta che ho visto che è quando IFI non è, ma io non avere attivato sul SQL Server, ma non è abilitato sul server unità condivisa.

Risposte:


1

Risposta Wiki della community generata dai commenti sulla domanda, da Bob Klimes , Sean Gallardy e Aaron Bertrand .


È necessario abilitare l' Inizializzazione file istantanea (IFI) sul server che contiene il disco. Riavviare SQL Server affinché abbia effetto.

È possibile verificare se IFI sta lavorando sulla condivisione creando un database sulla condivisione con i flag di traccia 3004 e 3605 attivati. L'output viene scritto nel registro errori di SQL Server.

Se IFI funziona, non ci saranno voci per azzerare il file mdf.

IFI sembra funzionare con le condivisioni di rete, ma per me la creazione di un database di test ha richiesto 45 secondi sulla condivisione e meno di 1 secondo a livello locale. Anche con IFI abilitato, potresti avere ancora problemi di prestazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.