Recentemente, quando me deparei com o script para restaurar um banco de dados, eu tenho uma dúvida sobre por que precisamos usar " FILE = 1 "? Não podemos restaurar um banco de dados sem essa declaração !? Basicamente, para que é usado?
fonte
Recentemente, quando me deparei com o script para restaurar um banco de dados, eu tenho uma dúvida sobre por que precisamos usar " FILE = 1 "? Não podemos restaurar um banco de dados sem essa declaração !? Basicamente, para que é usado?
Você tem permissão para salvar mais de um backup em um arquivo de backup (por exemplo, dispositivo). A FILE
cláusula permite acessar uma operação de backup específica quando houver várias opções para escolher no .bak
arquivo.
Para obter mais informações sobre as várias opções do comando RESTORE , consulte a seguinte documentação do MSDN para argumentos RESTORE .
Se você olhar na seção Opções de conjunto de backup , encontrará:
ARQUIVO = { backup_set_file_number | @ backup_set_file_number }
Identifica o conjunto de backup a ser restaurado. Por exemplo, um backup_set_file_number de 1 indica o primeiro conjunto de backups na mídia de backup e um backup_set_file_number de 2 indica o segundo conjunto de backups. Você pode obter o backup_set_file_number de um conjunto de backups usando a instrução RESTORE HEADERONLY.
Quando não especificado, o padrão é 1, exceto RESTORE HEADERONLY; nesse caso, todos os conjuntos de backup no conjunto de mídias são processados. Para obter mais informações, consulte "Especificando um conjunto de backup", posteriormente neste tópico.
Importante
Esta opção FILE não está relacionada à opção FILE para especificar um arquivo de banco de dados, FILE = { logic_file_name_in_backup | @ nome_do_arquivo lógico_em_backup_var }.
Sim, você deve ser capaz de restaurar sem a FILE = 1
como 1
é a de qualquer maneira padrão. E se você tiver apenas um único conjunto de backup em um arquivo de backup, ele não deverá representar um problema.
Um exemplo para ajudar a ilustrar quando você usaria a FILE
opção é o seguinte, que é o Exemplo B da página MSDN do comando RESTORE (vinculada acima). Ele mostra duas restaurações a partir de um único arquivo de backup: o primeiro RESTORE
é o backup COMPLETO e o segundo RESTORE
é o backup DIFFerential.
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;