Crea un nuovo database con grandi dimensioni iniziali


8

Voglio creare un nuovo database con un file di dati da 200 GB ( .mdf) e un file di registro da 50 GB ( .ldf).

Ma è molto lento (sono circa 15 minuti e non è stato ancora creato). ed è molto dispendioso in termini di tempo. È normale? se sì, che cosa fa che richiede tempo? posso migliorare la sua velocità di creazione?

Sto usando SQL Server 2008 R2, Windows Server 2008 R2, 16 GB di RAM (che ho limitato a 12 GB in SMS) e Core i7 Cpu


2
Per la creazione di un database di grandi dimensioni sei molto più limitato dall'I / O su disco rispetto a qualsiasi altra cosa. Se IFI è abilitato (come da risposte), puoi saltare l'inizializzazione (azzeramento) del file di dati, ma indipendentemente da ciò che devi inizializzare il file di registro. Se si utilizza un tipico disco spinny consumer che potrebbe richiedere fino a mezz'ora per il solo file di registro.
Simon Righarts,

Risposte:


17

A meno che non si stia utilizzando l' Inizializzazione file istantanea , SQL Server deve azzerare tutti i settori per i file. Questo processo richiede molto tempo, in particolare per 250 GB (dati + registro). Per velocizzare le cose, abilitare questa funzionalità e quindi SQL Server non azzererà lo spazio per i file di dati.

Nota: SQL Server azzererà sempre il file di registro , quindi resterai comunque limitato. Un altro riferimento per l' inizializzazione del file di registro


cosa succede esattamente sul disco rigido quando zero out all sectorse perché SQL azzera sempre il file di registro? qual è il vantaggio di farlo?
Mehrdad Kamelzadeh,

Questo è il processo di cancellazione dei dati sul disco. Fondamentalmente, l'inizializzazione dei file istantanea lo salta. Tuttavia, a causa del funzionamento interno del file di registro, SQL Server deve azzerarlo completamente per poterlo utilizzare. Puoi trovare maggiori dettagli qui .
Mike Fal,

@MehrdadKamelzadeh Il file di azzeramento del server SQL si applica SOLO ai file di dati . Impossibile inizializzare i file di registro zero. Fare riferimento a ( sqlskills.com/blogs/paul/… ). Fare riferimento anche a Come sapere se è stata abilitata l'inizializzazione istantanea? ( sqlskills.com/blogs/paul/… ).
Kin Shah,

1
@Kin: i file di registro devono essere inizializzati a zero, ma con IFI è possibile saltare l'inizializzazione zero dei file di dati.
Simon Righarts,

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.