Di recente, quando mi sono imbattuto nello script per il ripristino di un database, ho avuto dei dubbi sul perché dobbiamo usare " FILE = 1 "? Non possiamo ripristinare un database senza quella dichiarazione !? Fondamentalmente, a cosa serve?
Di recente, quando mi sono imbattuto nello script per il ripristino di un database, ho avuto dei dubbi sul perché dobbiamo usare " FILE = 1 "? Non possiamo ripristinare un database senza quella dichiarazione !? Fondamentalmente, a cosa serve?
Risposte:
È consentito salvare più di un backup in un file di backup (ad es. Dispositivo). La FILE
clausola consente di accedere a una particolare operazione di backup quando ce ne sono diverse tra cui scegliere all'interno del .bak
file.
Per ulteriori informazioni sulle varie opzioni del comando RESTORE , consultare la seguente documentazione MSDN per gli argomenti RESTORE .
Se guardi nella sezione Opzioni set di backup , troverai:
FILE = { backup_set_file_number | @ backup_set_file_number }
Identifica il set di backup da ripristinare. Ad esempio, un backup_set_file_number di 1 indica il primo set di backup sul supporto di backup e un backup_set_file_number di 2 indica il secondo set di backup. È possibile ottenere il backup_set_file_number di un set di backup utilizzando l'istruzione RESTORE HEADERONLY.
Se non specificato, il valore predefinito è 1, ad eccezione di RESTORE HEADERONLY, nel qual caso vengono elaborati tutti i set di backup nel set di supporti. Per ulteriori informazioni, consultare "Specifica di un set di backup" più avanti in questo argomento.
Importante
Questa opzione FILE non è correlata all'opzione FILE per specificare un file di database, FILE = { logical_file_name_in_backup | @ logical_file_name_in_backup_var }.
Sì, si dovrebbe essere in grado di ripristinare, senza la FILE = 1
quale 1
è il comunque di default. E se hai sempre un solo set di backup in un file di backup, non dovrebbe costituire un problema.
Un esempio per illustrare quando si utilizza l' FILE
opzione è il seguente, che è l' esempio B dalla pagina MSDN del comando RESTORE (collegata sopra). Mostra di eseguire due ripristini da un singolo file di backup: il primo RESTORE
è il backup COMPLETO e il secondo RESTORE
è il backup DIFFerenziale.
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 6
NORECOVERY;
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'
WITH FILE = 9
RECOVERY;