Compartilhar via


BACKUP (Transact-SQL)

Faz backup de um banco de dados completo ou de um ou mais arquivos ou grupos de arquivos (BACKUP DATABASE). Além disso, no modelo de recuperação completa ou no modelo de recuperação bulk-logged, faz o backup do log de transações (BACKUP LOG).

ObservaçãoObservação

Para obter uma introdução ao backup no SQL Server, consulte Visão geral de backup (SQL Server).

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

Backing Up a Whole Database 
BACKUP DATABASE { database_name | @database_name_var } 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Backing Up Specific Files or Filegroups
BACKUP DATABASE { database_name | @database_name_var } 
 <file_or_filegroup> [ ,...n ] 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Creating a Partial Backup
BACKUP DATABASE { database_name | @database_name_var } 
 READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Backing Up the Transaction Log (full and bulk-logged recovery models)
BACKUP LOG { database_name | @database_name_var } 
  TO <backup_device> [ ,...n ] 
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ]
[;]

<backup_device>::= 
 {
   { logical_device_name | @logical_device_name_var } 
 | { DISK | TAPE } = 
     { 'physical_device_name' | @physical_device_name_var }
 } 

<MIRROR TO clause>::=
 MIRROR TO <backup_device> [ ,...n ]

<file_or_filegroup>::=
 {
   FILE = { logical_file_name | @logical_file_name_var } 
 | FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
 } 

<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

<general_WITH_options> [ ,...n ]::= 
--Backup Set Options
      COPY_ONLY 
 | { COMPRESSION | NO_COMPRESSION } 
 | DESCRIPTION = { 'text' | @text_variable } 
 | NAME = { backup_set_name | @backup_set_name_var } 
 | PASSWORD = { password | @password_variable } 
 | { EXPIREDATE = { 'date' | @date_var } 
        | RETAINDAYS = { days | @days_var } } 

--Media Set Options
   { NOINIT | INIT } 
 | { NOSKIP | SKIP } 
 | { NOFORMAT | FORMAT } 
 | MEDIADESCRIPTION = { 'text' | @text_variable } 
 | MEDIANAME = { media_name | @media_name_variable } 
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable } 
 | BLOCKSIZE = { blocksize | @blocksize_variable } 

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable } 
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options
   { NO_CHECKSUM | CHECKSUM }
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
   RESTART 

--Monitoring Options
   STATS [ = percentage ] 

--Tape Options
   { REWIND | NOREWIND } 
 | { UNLOAD | NOUNLOAD } 

--Log-specific Options
   { NORECOVERY | STANDBY = undo_file_name }
 | NO_TRUNCATE

Argumentos

  • DATABASE
    Especifica um backup completo do banco de dados. Se uma lista de arquivos e grupos de arquivos estiver especificada, será feito o backup apenas desses arquivos e grupos de arquivos. Durante um backup completo ou diferencial do banco de dados, o SQL Server faz backup suficiente do log de transações para produzir um banco de dados consistente quando o backup é restaurado.

    Ao restaurar um backup criado pelo BACKUP DATABASE (um backup de dados), o backup inteiro é restaurado. Somente um backup de log pode ser restaurado em uma transação ou momento específico dentro do backup.

    ObservaçãoObservação

    Apenas um backup completo do banco de dados pode ser executado no banco de dados mestre.

  • LOG
    Especifica um backup apenas do log de transações. O backup do log é feito a partir do último backup do log executado com êxito até o final do log atual. Para poder criar o primeiro backup de log, você deve criar um backup completo.

    É possível restaurar um backup de log em uma transação ou um momento específico dentro do backup especificando STOPAT, STOPATMARK ou STOPBEFOREMARK na instrução RESTORE LOG.

    ObservaçãoObservação

    Após um backup de log típico, alguns registros do log de transações se tornam inativos, a menos que você especifique WITH NO_TRUNCATE ou COPY_ONLY. O log é truncado depois que todos os registros contidos em um ou mais arquivos de log virtual se tornam inativos. Se o log não estiver sendo truncado após backups de log de rotina, algo pode estar atrasando o truncamento do log. Para obter mais informações, consulte Gerenciando o log de transações.

  • { database_name| **@database_name_var }
    É o banco de dados do qual é feito o backup do log de transações, do banco de dados parcial ou do banco de dados completo. Se fornecido como uma variável (
    @database_name_var), esse nome poderá ser especificado como uma constante de cadeia de caracteres (@database_name_var=**database name) ou como uma variável de tipo de dados de cadeia de caracteres, com exceção dos tipos de dados ntext ou text.

    ObservaçãoObservação

    O backup do banco de dados espelho em uma parceria de espelhamento de banco de dados não pode ser feito.

  • <file_or_filegroup> [ ,...n ]
    Usado apenas com BACKUP DATABASE, especifica um arquivo ou grupo de arquivos do banco de dados a ser incluído em um backup de arquivo, ou especifica um arquivo ou grupo de arquivos somente leitura a ser incluído em um backup parcial.

    • FILE = { logical_file_name| **@**logical_file_name_var }
      É o nome lógico de um arquivo ou variável cujo valor é igual ao nome lógico de um arquivo que deve ser incluído no backup.

    • FILEGROUP = { logical_filegroup_name| **@**logical_filegroup_name_var }
      É o nome lógico de um grupo de arquivos ou variável cujo valor é igual ao nome lógico de um grupo de arquivos que deve ser incluído no backup. No modelo de recuperação simples, um backup de grupo de arquivos é permitido apenas para grupos de arquivos somente leitura.

      ObservaçãoObservação

      Considere usar backups de arquivo quando o tamanho do banco de dados e as exigências de desempenho tornarem um backup de banco de dados impraticável.

    • n
      É um espaço reservado que indica que vários arquivos e grupos de arquivos podem ser especificados em uma lista separada por vírgulas. O número é ilimitado.

    Para obter mais informações, consulte: Backups completos de arquivos e Como fazer backup de arquivos e de grupos de arquivos (Transact-SQL).

  • READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name| **@**logical_filegroup_name_var } [ ,...n ] ]
    Especifica um backup parcial. Um backup parcial inclui todos os arquivos de leitura/gravação em um banco de dados: o grupo de arquivos primário e quaisquer grupos de arquivos secundários de leitura/gravação e também quaisquer arquivos ou grupos de arquivos somente leitura especificados.

    • READ_WRITE_FILEGROUPS
      Especifica que o backup de todos os grupos de arquivos de leitura/gravação seja feito no backup parcial. Se o banco de dados for somente leitura, READ_WRITE_FILEGROUPS incluirá apenas o grupo de arquivos primário.

      Observação importanteImportante

      A listagem explícita de grupos de arquivos de leitura/gravação usando FILEGROUP em vez de READ_WRITE_FILEGROUPS cria um backup de arquivo.

    • FILEGROUP = { logical_filegroup_name| **@**logical_filegroup_name_var }
      É o nome lógico de um grupo de arquivos somente leitura ou de uma variável cujo valor é igual ao nome lógico de um grupo de arquivos somente leitura que deve ser incluído no backup parcial. Para obter mais informações, consulte "<file_or_filegroup>", anteriormente neste tópico.

    • n
      É um espaço reservado que indica que vários grupos de arquivos somente leitura podem ser especificados em uma lista separada por vírgulas.

    Para obter mais informações sobre backups parciais, consulte Backups parciais.

  • TO <backup_device> [ ,...n ]
    Indica que o conjunto de acompanhamento de dispositivos de backup é um conjunto de mídias não espelhado ou o primeiro dos espelhos dentro de um conjunto de mídias espelhado (para o qual uma ou mais cláusulas MIRROR TO são declaradas).

    • <backup_device>
      Especifica um dispositivo de backup lógico ou físico a ser usado para a operação de backup.

      • { logical_device_name | @logical_device_name_var }
        É o nome lógico do dispositivo de backup no qual o backup do banco de dados é feito. O nome lógico deve seguir as regras para identificadores. Se fornecido como uma variável (@logical_device_name_var), o nome do dispositivo de backup poderá ser especificado como uma constante de cadeia de caracteres (@logical_device_name_var
        =
        nome do dispositivo de backup lógico) ou como uma variável de tipo de dados de cadeia de caracteres, com exceção dos tipos de dados ntext ou text.

      • { DISK | TAPE } = { 'physical_device_name' | **@**physical_device_name_var }
        Especifica um arquivo de disco ou um dispositivo de fita.

        Um dispositivo de disco não precisa existir antes de ser especificado em uma instrução BACKUP. Se o dispositivo físico existir e a opção INIT não estiver especificada na instrução BACKUP, o backup será anexado ao dispositivo.

        Para obter mais informações, consulte Dispositivos de backup.

        ObservaçãoObservação

        A opção TAPE será removida em uma futura versão do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar os aplicativos que o utilizam atualmente.

    • n
      É um espaço reservado que indica que até 64 dispositivos de backup podem ser especificados em uma lista separada por vírgulas.

  • MIRROR TO <backup_device> [ ,...n ]
    Especifica um conjunto de até três dispositivos de backup secundário, que espelharão os dispositivos de backup especificados na cláusula TO. A cláusula MIRROR TO deve especificar o mesmo número e tipo dos dispositivos de backup que a cláusula TO. O número máximo de cláusulas MIRROR TO é três.

    Essa opção está disponível apenas no SQL Server 2005 Enterprise Edition e em versões posteriores.

    ObservaçãoObservação

    Para que MIRROR TO = DISK, BACKUP determine automaticamente o tamanho do bloco apropriado para dispositivos de disco. Para obter mais informações sobre tamanho de bloco, consulte "BLOCKSIZE", mais adiante nesta tabela.

    • <backup_device>
      Consulte "<backup_device>", anteriormente nesta seção.

    • n
      É um espaço reservado que indica que até 64 dispositivos de backup podem ser especificados em uma lista separada por vírgulas. O número de dispositivos na cláusula MIRROR TO deve ser igual ao número de dispositivos na cláusula TO.

    Para obter mais informações, consulte "Famílias de Mídia em Conjunto de Mídia Espelhados", na seção "Comentários" posteriormente neste tópico.

  • [ next-mirror-to ]
    É um espaço reservado que indica que uma única instrução BACKUP pode conter até três cláusulas MIRROR TO, além da única cláusula TO.

Opções WITH

Especifica opções a serem usadas com uma operação de backup.

  • DIFFERENTIAL
    Usado apenas com BACKUP DATABASE, especifica que o backup de banco de dados ou de arquivo deve consistir apenas das partes do banco de dados ou arquivo alterado desde o último backup completo. Um backup diferencial normalmente usa menos espaço do que um backup completo. Use essa opção para que todos os backups de log individuais executados desde o último backup completo não precisem ser aplicados.

    ObservaçãoObservação

    Por padrão, o BACKUP DATABASE cria um backup completo.

    Para obter mais informações, consulte Usando backups diferenciais.

Opções de conjunto de backup

Essas opções funcionam no conjunto de backup criado por esta operação de backup.

ObservaçãoObservação

Para especificar um conjunto de backup para um operação de restauração, use a opção FILE =<backup_set_file_number>. Para obter mais informações sobre como especificar um conjunto de backup, consulte "Especificando um conjunto de backup" em Argumentos de RESTORE (Transact-SQL).

  • COPY_ONLY
    Especifica que o backup é um backup somente cópia, que não afeta a seqüência normal de backups. Um backup somente cópia é criado independentemente de seus backups convencionais agendados regularmente. Um backup somente cópia não afeta os procedimentos globais de backup e restauração do banco de dados.

    Backups somente cópia foram introduzidos no SQL Server 2005 para uso em situações em que um backup é feito com um objetivo especial, como fazer backup de log antes de uma restauração de arquivo online. Normalmente, um backup de log somente cópia é usado uma vez e excluído em seguida.

    • Quando usado com BACKUP DATABASE, a opção COPY_ONLY cria um backup completo que não pode servir como uma base diferencial. O bitmap diferencial não é atualizado e backups diferenciais se comportam como se o backup somente cópia não existisse. Backups diferenciais subseqüentes usam o backup completo convencional mais recente como base.

      Observação importanteImportante

      Se as opções DIFFERENTIAL e COPY_ONLY forem usadas em conjunto, COPY_ONLY será ignorado e um backup diferencial será criado.

    • Quando usada com BACKUP LOG, a opção COPY_ONLY cria um backup de log somente cópia que não trunca o log de transações. O backup de log somente cópia não tem nenhum efeito na cadeia de logs, e outros backups de log se comportam como se o backup somente cópia não existisse.

    Para obter mais informações, consulte Backups somente cópia.

  • { COMPRESSION | NO_COMPRESSION }
    No SQL Server 2008 Enterprise e em versões posteriores somente, especifica se a compactação de backup é executada neste backup, substituindo o padrão de nível de servidor.

    Na instalação, o comportamento padrão é sem compactação de backup. Mas esse padrão pode ser alterado definindo a opção de configuração do servidor padrão de compactação de backup. Para obter informações sobre como exibir o valor atual dessa opção, consulte Como exibir propriedades do servidor (SQL Server Management Studio).

    • COMPRESSION
      Habilita explicitamente a compactação de backup.

      ObservaçãoObservação

      Por padrão, quando um backup é compactado, somas de verificação são executadas para detectar danos de mídia.

    • NO_COMPRESSION
      Desabilita explicitamente a compactação de backup.

  • DESCRIPTION = { 'text' | **@**text_variable }
    Especifica o texto de forma livre que descreve o conjunto de backup. A cadeia de caracteres pode conter um máximo de 255 caracteres.

  • NAME = { backup_set_name| **@**backup_set_var }
    Especifica o nome do conjunto de backup. Nomes podem ter um máximo de 128 caracteres. Se NAME não estiver especificado, ele estará em branco.

  • PASSWORD = { password | **@**password_variable }
    Define a senha do conjunto de backup. PASSWORD é uma cadeia de caracteres.

    Observação importanteImportante

    Esse recurso será removido na próxima versão do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

    Se uma senha estiver definida para o conjunto de backup, ela deverá ser fornecida para executar qualquer operação de restauração do SQL Server a partir do conjunto de backup. No entanto, uma senha de conjunto de backup não impede que o arquivo de backup seja substituído. Para impedir que um arquivo de backup seja substituído, use uma senha de conjunto de mídias (consulte a opção MEDIAPASSWORD, mais adiante nesta tabela). (Para obter mais informações sobre como usar senhas, consulte "Permissões", mais adiante neste tópico.)

    Observação sobre segurançaObservação sobre segurança

    A proteção fornecida por esta senha é fraca. Destina-se a impedir uma restauração incorreta com o uso de ferramentas do SQL Server por usuários autorizados ou não autorizados. Não impede a leitura dos dados de backup por outros meios ou a substituição da senha. A prática recomendada para proteger backups é armazenar as fitas de backup em um local seguro ou fazer backup em arquivos de disco protegidos por ACLs (listas de controle de acesso) adequadas. As ACLs devem ser definidas no diretório raiz em que os backups são criados.

  • { EXPIREDATE = 'date'| RETAINDAYS = dias }
    Especifica quando o conjunto de backup desse backup pode ser substituído. Se essas duas opções forem usadas, RETAINDAYS terá precedência sobre EXPIREDATE.

    Se nenhuma opção estiver especificada, a data de validade será determinada pela definição da configuração da mídia deretenção. Para obter mais informações, consulte Definindo opções de configuração do servidor.

    Observação importanteImportante

    Essas opções apenas impedem que o SQL Server substitua um arquivo. Fitas podem ser apagadas por outros métodos e os arquivos de disco podem ser excluídos pelo sistema operacional. Para obter mais informações sobre verificação de validade, consulte SKIP e FORMAT neste tópico.

    • EXPIREDATE = { 'date'| **@**date_var }
      Especifica quando o conjunto de backup vence e pode ser substituído. Se fornecida como uma variável (@date_var), essa data deve seguir o formato datetime do sistema configurado e ser especificado como um dos seguintes:

      • Uma constante de cadeia de caracteres (@date_var = date)

      • Uma variável de tipo de dados de cadeia de caracteres (exceto para os tipos de dados ntext ou text)

      • Uma smalldatetime

      • Uma variável datetime

      Por exemplo:

      • 'Dec 31, 2020 11:59 PM'

      • '1/1/2021'

      Para obter informações sobre como especificar valores de datetime, consulte Usando dados de data e hora.

      ObservaçãoObservação

      Para ignorar a data de validade, use a opção SKIP.

    • RETAINDAYS = { days | **@days_var }
      Especifica o número de dias que devem decorrer para que este conjunto de mídias de backup possa ser substituído. Se fornecido como uma variável (
      @**days_var), ela deve ser especificada como um inteiro.

Opções de conjunto de mídias

Essas opções funcionam no conjunto de mídias como um todo.

  • { NOINIT | INIT}
    Controla se a operação de backup anexa ou substitui os conjuntos de backup existentes na mídia de backup. O padrão é acrescentar ao backup mais recente definido na mídia (NOINIT).

    ObservaçãoObservação

    Para obter informações sobre as interações entre { NOINIT | INIT } e { NOSKIP | SKIP }, consulte "Comentários", mais adiante neste tópico.

    • NOINIT
      Indica que o conjunto de backup é acrescentado ao conjunto de mídias especificado, preservando conjuntos de backup existentes. Se uma senha de mídia estiver definida para o conjunto de mídias, a senha deverá ser fornecida. NOINIT é o padrão.

      Para obter mais informações, consulte Anexando a conjuntos de backup existentes.

    • INIT
      Especifica que todos os conjuntos de backup devem ser substituídos, mas preserva o cabeçalho de mídia. Se INIT estiver especificado, qualquer conjunto de backup existente naquele dispositivo será substituído, se as condições permitirem. Por padrão, BACKUP verificará as seguintes condições e não substituirá a mídia de backup se qualquer uma delas existir:

      • Um conjunto de backup ainda não expirou. Para obter mais informações, consulte as opções EXPIREDATE e RETAINDAYS.

      • O nome do conjunto de backup fornecido na instrução BACKUP, se fornecido, não corresponde ao nome na mídia de backup. Para obter mais informações, consulte a opção NAME, anteriormente nesta seção.

      Para substituir essas verificações, use a opção SKIP.

      ObservaçãoObservação

      Se a mídia de backup estiver protegida por senha, o SQL Server não gravará na mídia, a menos que a senha da mídia seja fornecida. Esta verificação não é substituída pela opção SKIP. A mídia protegida por senha pode ser substituída apenas através da reformatação da mídia, o que exclui os backups da mídia. Para obter informações sobre a senha de mídia, consulte "MEDIAPASSWORD", anteriormente neste tópico. Para obter informações sobre como reformatar mídia, consulte "FORMAT", anteriormente neste tópico.

      Para obter mais informações, consulte Substituindo conjuntos de backups.

  • { NOSKIP | SKIP }
    Controla se a operação de backup verifica a data e a hora de validade dos conjuntos de backup existentes na mídia antes de substituí-los.

    ObservaçãoObservação

    Para obter informações sobre as interações entre { NOINIT | INIT } e { NOSKIP | SKIP }, consulte "Comentários", mais adiante neste tópico.

    • NOSKIP
      Instrui a instrução BACKUP a verificar a data de validade de todos os conjuntos de backup na mídia antes de permitir que eles sejam substituídos. Esse é o comportamento padrão.

    • SKIP
      Desabilita a verificação de validade e nome do conjunto de backup que normalmente é executada pela instrução BACKUP para impedir a substituição de conjuntos de backup. Para obter informações sobre as interações entre { INIT | NOINIT } e { NOSKIP | SKIP }, consulte "Comentários", mais adiante neste tópico.

      Para exibir as datas de validade de conjuntos de backup, consulte a coluna expiration_date da tabela de histórico backupset.

  • { NOFORMAT | FORMAT }
    Especifica se o cabeçalho da mídia deve ser gravado nos volumes usados para esta operação de backup, substituindo qualquer cabeçalho de mídia e conjuntos de backup existentes.

    • NOFORMAT
      Especifica que a operação de backup preserva o cabeçalho da mídia e os conjuntos de backup existentes nos volumes de mídia usados para esta operação de backup. Esse é o comportamento padrão.

    • FORMAT
      Especifica que um novo conjunto de mídias deve ser criado. FORMAT faz com que a operação de backup grave um novo cabeçalho de mídia em todos os volumes de mídia usados para a operação de backup. O conteúdo existente do volume se torna inválido, pois qualquer cabeçalho de mídia e conjuntos de backup existentes são substituídos.

      Observação importanteImportante

      Use FORMAT com cuidado. A formatação de qualquer volume de um conjunto de mídias torna todo o conjunto inutilizável. Por exemplo, se você iniciar uma única fita pertencente a um conjunto de mídias distribuído existente, todo o conjunto de mídias se tornará inútil.

      A especificação de FORMAT implica SKIP. SKIP não precisa ser declarado explicitamente.

  • MEDIADESCRIPTION = { text | **@**text_variable }
    Especifica a descrição de texto de forma livre do conjunto de mídias, com um máximo de 255 caracteres.

  • MEDIANAME = { media_name | **@**media_name_variable }
    Especifica o nome da mídia de todo o conjunto de mídias de backup. O nome da mídia não deve ter mais de 128 caracteres. Se MEDIANAME estiver especificado, ele deverá corresponder ao nome da mídia especificado anteriormente já existente nos volumes de backup. Se não estiver especificado ou se a opção SKIP estiver especificada, não haverá nenhuma verificação do nome da mídia.

  • MEDIAPASSWORD = { mediapassword | **@**mediapassword_variable }
    Define a senha do conjunto de mídias. MEDIAPASSWORD é uma cadeia de caracteres.

    Observação importanteImportante

    Esse recurso será removido na próxima versão do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

    Se uma senha estiver definida para o conjunto de mídias, essa senha deverá ser fornecida para que seja possível criar um conjunto de backup nesse conjunto de mídias. Além disso, essa senha de mídia também deve ser fornecida para executar qualquer operação de restauração no conjunto de mídias. Mídia protegida por senha pode ser substituída apenas por meio de reformatação. Para obter mais informações, consulte a opção FORMAT. (Para obter mais informações sobre como usar senhas, consulte a seção Permissões, mais adiante neste tópico.)

    Observação sobre segurançaObservação sobre segurança

    A proteção fornecida por esta senha é fraca. Destina-se a impedir uma restauração incorreta com o uso de ferramentas do SQL Server por usuários autorizados ou não autorizados. Não impede a leitura dos dados de backup por outros meios ou a substituição da senha. A prática recomendada para proteger backups é armazenar as fitas de backup em um local seguro ou fazer backup em arquivos de disco protegidos por ACLs (listas de controle de acesso) adequadas. As ACLs devem ser definidas no diretório raiz em que os backups são criados.

  • BLOCKSIZE = { blocksize | **@**blocksize_variable }
    Especifica o tamanho do bloco físico, em bytes. Os tamanhos com suporte são 512, 1024, 2048, 4096, 8192, 16384, 32768 e 65536 (64 KB) bytes. O padrão é 65536 para dispositivos de fita e 512 para outros dispositivos. Normalmente, essa opção é desnecessária porque BACKUP seleciona automaticamente um tamanho de bloco apropriado ao dispositivo. A declaração explícita de um tamanho de bloco substitui a seleção automática de tamanho de bloco.

    Se estiver fazendo um backup que planeja copiar e restaurar de um CD-ROM, especifique BLOCKSIZE=2048.

    ObservaçãoObservação

    Normalmente, essa opção afeta o desempenho apenas durante a gravação em dispositivos de fita.

Opções de transferência de dados

  • BUFFERCOUNT = { buffercount | **@**buffercount_variable }
    Especifica o número total de buffers de E/S a ser usado para a operação de backup. É possível especificar qualquer inteiro positivo. No entanto, grandes números de buffers podem provocar erros de "memória insuficiente" devido a espaço de endereço virtual inadequado no processo Sqlservr.exe.

    O espaço total usado pelos buffers é determinado por: buffercount *****maxtransfersize.

  • MAXTRANSFERSIZE = { maxtransfersize | **@**maxtransfersize_variable }
    Especifica a maior unidade de transferência em bytes a ser usada entre a mídia de backup e o SQL Server. Os valores possíveis são múltiplos de 65536 bytes (64 KB), estendendo-se até 4194304 bytes (4 MB).

Opções de gerenciamento de erros

Essas opções permitem determinar se somas de verificação de backup estão habilitadas para a operação de backup e se a operação será parada quando um erro for encontrado.

  • { NO_CHECKSUM | CHECKSUM }
    Controla se somas de verificação de backup estão habilitadas.

    • NO_CHECKSUM
      Desabilita explicitamente a geração de somas de verificação de backup (e a validação de somas de verificação de página). Esse é o comportamento padrão, com exceção de um backup compactado.

    • CHECKSUM
      Habilita somas de verificação de backup, de forma que BACKUP possa fazer o seguinte:

      1. Antes de gravar uma página na mídia de backup, BACKUP verifica a página (soma de verificação de página ou página interrompida), se essas informações estiverem presentes na página.

      2. Independentemente de somas de verificação de página estarem presentes, BACKUP gera uma soma de verificação de backup separada para os fluxos de backup. Operações de restauração podem usar opcionalmente a soma de verificação de backup para validar se o backup não está corrompido. A soma de verificação de backup é armazenada na mídia de backup, não nas páginas do banco de dados. A soma de verificação de backup pode ser usada opcionalmente na hora da restauração.

      O uso de somas de verificação de backup pode afetar uma carga de trabalho e a taxa de transferência do backup.

      Esse é o comportamento padrão de um backup compactado.

  • { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }
    Controla se uma operação de backup pára ou continua depois de encontrar um erro de soma de verificação de página.

    • STOP_ON_ERROR
      Instrui BACKUP a falhar se uma soma de verificação de página não estiver correta. Esse é o comportamento padrão.

    • CONTINUE_AFTER_ERROR
      Instrui BACKUP a continuar apesar de encontrar erros, como somas de verificação inválidas ou páginas interrompidas.

      Se não for possível fazer backup do final do log usando a opção NO_TRUNCATE quando o banco de dados estiver danificado, é possível tentar um backup do final do log especificando CONTINUE_AFTER_ERROR em vez de NO_TRUNCATE.

Opções de compatibilidade

  • RESTART
    Não tem nenhum efeito. Esta opção é aceita pela versão para compatibilidade com versões anteriores do SQL Server.

Opções de monitoramento

  • STATS [ **=**percentage ]
    Exibe uma mensagem a cada vez que outra porcentagem for concluída e é usada para medir o progresso. Se percentage for omitido, o SQL Server exibirá uma mensagem após a conclusão de cada 10 por cento.

    A opção STATS informa a porcentagem concluída de acordo com o limite de relatório do próximo intervalo. Esse limite é aproximadamente a porcentagem especificada. Por exemplo, com STATS=10, se a quantidade concluída for 40%, a opção poderá exibir 43%. Para conjuntos de backup grandes, isso não é um problema, pois a porcentagem concluída muda muito lentamente entre chamadas de E/S concluídas.

Opções de fita

Essas opções são usadas apenas para dispositivos TAPE. Se um dispositivo que não seja de fita estiver sendo usado, essas opções serão ignoradas.

  • { REWIND | NOREWIND }

    • REWIND
      Especifica que o SQL Server libera e rebobina a fita. REWIND é o padrão.

    • NOREWIND
      Especifica que o SQL Server mantém a fita aberta após a operação de backup. É possível usar essa opção para ajudar a melhorar o desempenho ao executar várias operações de backup em uma fita.

      NOREWIND implica NOUNLOAD, e essas opções são incompatíveis dentro de uma única instrução BACKUP.

      ObservaçãoObservação

      Se NOREWIND for usado, a instância do SQL Server reterá a propriedade da unidade de fita até que uma instrução BACKUP ou RESTORE em execução no mesmo processo use a opção REWIND ou UNLOAD, ou que a instância do servidor seja encerrada. Manter a fita aberta impede que outros processos a acessem. Para obter informações sobre como exibir uma lista de fitas abertas e fechar uma fita aberta, consulte Dispositivos de backup.

  • { UNLOAD | NOUNLOAD}

    ObservaçãoObservação

    UNLOAD/NOUNLOAD é uma configuração de sessão que persiste durante a vida útil da sessão ou até que ela seja redefinida especificando a alternativa.

    • UNLOAD
      Especifica que a fita é rebobinada e descarregada automaticamente quando o backup for concluído. UNLOAD é o padrão quando uma sessão começa.

    • NOUNLOAD
      Especifica que depois da operação BACKUP a fita permanecerá carregada na unidade de fita.

ObservaçãoObservação

Para um backup em um dispositivo de backup de fita, a opção BLOCKSIZE afeta o desempenho da operação de backup. Normalmente, essa opção afeta o desempenho apenas durante a gravação em dispositivos de fita.

Opções específicas de log

Estas opções são usadas apenas com BACKUP LOG.

ObservaçãoObservação

Se você não quiser fazer backups de log, use o modelo de recuperação simples. Para obter mais informações, consulte Backup com o modelo de recuperação simples.

  • { NORECOVERY | STANDBY **=**undo_file_name }

    • NORECOVERY
      Faz backup do final do log e deixa o banco de dados no estado de RESTORING. NORECOVERY é útil ao executar failover em um banco de dados secundário ou ao salvar o final do log antes de uma operação RESTORE.

      Para executar um backup de log de melhor esforço que ignora o truncamento do log e coloca o banco de dados no estado RESTORING atomicamente, use as opções NO_TRUNCATE e NORECOVERY em conjunto.

    • STANDBY **=**standby_file_name
      Faz BACKUP do final do log e deixa o banco de dados em um estado STANDBY e somente leitura. A cláusula STANDBY grava dados em espera (executando reversão, mas com a opção de restaurações adicionais). O uso da opção STANDBY é equivalente a BACKUP LOG WITH NORECOVERY seguido por um RESTORE WITH STANDBY.

      O uso do modo em espera requer um arquivo em espera especificado por standby_file_name, cujo local é armazenado no log do banco de dados. Se o arquivo especificado já existir, o Mecanismo de Banco de Dados o substituirá. Se o arquivo não existir, ele será criado pelo Mecanismo de Banco de Dados. O arquivo em espera se torna parte do banco de dados.

      Esse arquivo contém as alterações revertidas que deverão ser revertidas se operações RESTORE LOG forem aplicadas subseqüentemente. Deve haver espaço em disco suficiente para que o arquivo em espera cresça para que possa conter todas as páginas distintas do banco de dados que foi modificado pela reversão de transações não confirmadas.

  • NO_TRUNCATE
    Especifica que o log não é truncado e faz com que o Mecanismo de Banco de Dados tente fazer backup, independentemente do estado do banco de dados. Conseqüentemente, um backup feito com NO_TRUNCATE pode conter metadados incompletos. Essa opção permite fazer backup do log em situações em que o banco de dados está danificado.

    A opção NO_TRUNCATE de BACKUP LOG é equivalente a especificar COPY_ONLY e CONTINUE_AFTER_ERROR.

    Sem a opção NO_TRUNCATE, o banco de dados deve estar no estado ONLINE. Se o banco de dados estiver no estado SUSPENDED, talvez você possa criar um backup especificando NO_TRUNCATE. Mas se o banco de dados estiver no estado OFFLINE ou EMERGENCY, BACKUP não será permitido mesmo com NO_TRUNCATE. Para obter informações sobre estados de banco de dados, consulte Estados de banco de dados.

Comentários

Backups de banco de dados ou de log podem ser acrescentados a qualquer dispositivo de disco ou de fita, permitindo que um banco de dados e seus logs de transações sejam mantidos em um local físico.

A instrução BACKUP não é permitida em uma transação explícita ou implícita.

Operações de backup entre plataformas, mesmo entre tipos diferentes de processadores, podem ser executadas desde que o agrupamento do banco de dados tenha suporte no sistema operacional.

Para obter informações sobre terminologia de backup, dispositivos de backup e gerenciamento de backups, consulte Trabalhando com mídia de backup no SQL Server.

ObservaçãoObservação

Por padrão, toda operação de backup bem-sucedida acrescenta uma entrada ao log de erros do SQL Server e ao log de eventos do sistema. Se você fizer backup do log com muita freqüência, essas mensagens de êxito se acumularão muito rapidamente, resultando em logs de erros imensos que podem dificultar a localização de outras mensagens. Em tais situações, você pode suprimir essas entradas de log usando o sinalizador de rastreamento 3226, caso nenhum dos seus scripts dependa dessas entradas. Para obter mais informações, consulte Sinalizadores de rastreamento (Transact-SQL).

Truncamento de log de transações

Para evitar o preenchimento do log de transações de um banco de dados, os backups rotineiros são essenciais. No modelo de recuperação simples, o truncamento do log ocorre automaticamente depois que é feito o backup do banco de dados, e no modelo de recuperação completa depois que é feito o backup do log de transações. No entanto, às vezes o processo de truncamento pode ser demorado. Para obter informações sobre como identificar e responder aos fatores de atraso, consulte Fatores que podem atrasar o truncamento de log.

ObservaçãoObservação

As opções BACKUP LOG WITH NO_LOG e WITH TRUNCATE_ONLY foram descontinuadas. Se você estiver usando o modelo de recuperação completa ou bulk-logged e precisar remover a cadeia de backup de log de um banco de dados, alterne para o modelo de recuperação simples. Para obter mais informações, consulte Considerações sobre como alternar do modelo de recuperação completa ou bulk-logged.

Para obter mais informações sobre truncamento de log em geral, consulte Truncamento de log de transações.

Simultaneidade

O SQL Server usa um processo de backup online para permitir que um backup de banco de dados seja feito enquanto o banco de dados ainda está uso. Durante um backup, a maior parte das operações é possível. Por exemplo, instruções INSERT, UPDATE ou DELETE são permitidas durante uma operação de backup.

Operações que não podem ser executadas durante um backup de banco de dados ou de log de transações incluem:

  • Operações de gerenciamento de arquivos, como a instrução ALTER DATABASE com as opções ADD FILE ou REMOVE.

  • Operações de redução do banco de dados ou de arquivos. Isso inclui operações de redução automática.

Se uma operação de backup for sobreposta por uma operação de gerenciamento ou de redução de arquivos, um conflito será gerado. Independentemente de qual operação em conflito começou primeiro, a segunda operação aguardará até que o tempo limite do bloqueio definido pela primeira operação seja esgotado (o período limite é controlado pela configuração de tempo limite de uma sessão). Se o bloqueio for liberado durante o período de tempo limite, a segunda operação continuará. Se o tempo limite do bloqueio for esgotado, a segunda operação falhará.

Formatando mídia de backup

A mídia de backup será formatada por uma instrução BACKUP se, e apenas se, qualquer uma das seguintes situações for verdadeira:

  • A opção FORMAT estiver especificada.

  • A mídia estiver vazia.

  • A operação estiver gravando uma fita de continuação.

Para obter mais informações, consulte Criando um novo conjunto de mídias.

Tipos de backup

Os tipos de backup com suporte dependem do modelo de recuperação do banco de dados, da seguinte maneira:

  • Todos os modelos de recuperação oferecem suporte a backups completos e diferenciais de dados.

    Escopo do backup

    Tipos de backup

    Banco de dados inteiro

    Backups de banco de dados cobrem o banco de dados inteiro.

    Banco de dados parcial

    Backups parciais cobrem grupos de arquivos de leitura/gravação e, possivelmente, um ou mais arquivos ou grupos de arquivos somente leitura.

    Arquivo ou grupo de arquivos

    Backups de arquivos cobrem um ou mais arquivos ou grupos de arquivos e são relevantes apenas para bancos de dados que contêm vários grupos de arquivos. No modelo de recuperação simples, os backups de arquivos são essencialmente restritos a grupos de arquivos secundários somente leitura.

  • Sob o modelo de recuperação completa ou modelo de recuperação bulk-logged, os backups convencionais também incluem backups de log de transações seqüenciais (ou backups de log), que são necessários. Cada backup de log cobre a parte do log de transações que estava ativo quando o backup foi criado e inclui todos os registros de log cujo backup não foi feito em um backup de log anterior.

    Para minimizar a exposição de perda de trabalho, à custa de sobrecarga administrativa, você deve agendar backups de log freqüentes. O agendamento de backups diferenciais entre backups completos pode reduzir o tempo de restauração reduzindo o número de backups de log a serem restaurados após a restauração dos dados.

    Recomendamos que você coloque backups de log em um volume separado dos backups de banco de dados.

    ObservaçãoObservação

    Para poder criar o primeiro backup de log, você deve criar um backup completo.

    Para obter mais informações, consulte Trabalhando com backups de log de transações.

  • Um backup somente cópia é um backup completo com objetivo especial ou backup de log que é independente da seqüência de backups convencionais. Para criar um backup somente cópia, especifique a opção COPY_ONLY na instrução BACKUP. Para obter mais informações, consulte Backups somente cópia.

Interação de SKIP, NOSKIP, INIT e NOINIT

Esta tabela descreve interações entre as opções { NOINIT | INIT} e { NOSKIP | SKIP }.

ObservaçãoObservação

Se a mídia de fita estiver vazia ou se o arquivo de backup em disco não existir, todas essas interações gravarão um cabeçalho de mídia e continuarão. Se a mídia não estiver vazia e não tiver um cabeçalho de mídia válido, essas operações fornecerão comentários informando que essa não é uma mídia MTF válida e terminarão a operação de backup.

 

NOINIT

INIT

NOSKIP

Se o volume contiver um cabeçalho de mídia válido, verificará a senha da mídia e se o nome da mídia corresponde ao MEDIANAME fornecido, se houver. Se houver correspondência, acrescentará o conjunto de backup preservando todos os conjuntos de backup existentes.

Se o volume não contiver um cabeçalho de mídia válido, ocorrerá um erro.

Se o volume contiver um cabeçalho de mídia válido, executará as seguintes verificações:

  • Verifica a senha da mídia.2

  • Se MEDIANAME estiver especificado, verificará se o nome da mídia fornecido corresponde ao nome do cabeçalho da mídia.

  • Verifica se não há nenhum conjunto de backup vigente na mídia.

    Se houver, terminará o backup.

Se essas verificações passarem, substituirá qualquer conjunto de backup na mídia preservando apenas o cabeçalho da mídia.

Se o volume não contiver um cabeçalho de mídia válido, gerará um cabeçalho usando MEDIANAME, MEDIAPASSWORD e MEDIADESCRIPTION especificados, se houver.

SKIP

Se o volume contiver um cabeçalho de mídia válido, verificará a senha da mídia e anexará o conjunto de backup preservando todos os conjuntos de backup existentes.

Se o volume contiver um cabeçalho de mídia válido1, verificará a senha da mídia e substituirá todos os conjuntos de backup na mídia preservando apenas o cabeçalho da mídia.

Se a mídia estiver vazia, gerará um cabeçalho de mídia usando MEDIANAME, MEDIAPASSWORD e MEDIADESCRIPTION fornecidos, se houver.

1 A validade inclui o número de versão de MTF e outras informações de cabeçalho. Se a versão especificada não tiver suporte ou for um valor inesperado, ocorrerá um erro.

2 O usuário deve pertencer à função fixa de banco de dados ou de servidor apropriada e fornecer a senha de mídia correta para executar uma operação de backup.

Tabelas de histórico de backup

SQL Server inclui as seguintes tabelas de histórico de backup que controlam as atividades do banco de dados:

Quando uma restauração é executada, se o conjunto de backup ainda não tiver sido registrado no banco de dados msdb, as tabelas de histórico de backup poderão ser modificadas.

Suporte de compatibilidade

Observação sobre cuidadosCuidado

Backups criados por uma versão mais recente do SQL Server não podem ser restaurados em versões anteriores do SQL Server.

BACKUP oferece suporte à opção RESTART para fornecer compatibilidade com versões anteriores do SQL Server. Mas RESTART não tem nenhum efeito no SQL Server 2005 e em versões posteriores.

Dispositivos de backup em um conjunto de mídias distribuído (um conjunto distribuído)

Um conjunto distribuído é um conjunto de arquivos de disco nos quais os dados são divididos em blocos e distribuídos em uma ordem fixa. O número de dispositivos de backup usados em um conjunto distribuído deve permanecer o mesmo (a não ser que a mídia seja reiniciada com FORMAT).

O exemplo a seguir grava um backup do banco de dados AdventureWorks em um novo conjunto de mídias distribuído que usa três arquivos de disco.

BACKUP DATABASE AdventureWorks
TO DISK='X:\SQLServerBackups\AdventureWorks1.bak', 
DISK='Y:\SQLServerBackups\AdventureWorks2.bak', 
DISK='Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
   MEDIANAME = 'AdventureWorksStripedSet0',
   MEDIADESCRIPTION = 'Striped media set for AdventureWorks database;
GO

Após a definição de um dispositivo de backup como parte de um conjunto distribuído, ele não poderá ser usado como um backup de dispositivo único, a menos que FORMAT seja especificado. Do mesmo modo, um dispositivo de backup que contenha backups não distribuídos não poderá ser usado em um conjunto distribuído, a menos que FORMAT seja especificado. Para dividir um conjunto de backup distribuído, use FORMAT.

Se nem MEDIANAME nem MEDIADESCRIPTION estiver especificado quando um cabeçalho de mídia for gravado, o campo de cabeçalho de mídia correspondente ao item em branco estará vazio.

Trabalhando com um conjunto de mídias espelhado

Normalmente, backups não são espelhados e instruções BACKUP simplesmente incluem uma cláusula TO. No entanto, um total de quatro espelhos é possível por conjunto de mídias. Em um conjunto de mídias espelhado, a operação de backup grava em vários grupos de dispositivos de backup. Cada grupo de dispositivos de backup compõe um único espelho dentro do conjunto de mídias espelhado. Todos os espelhos devem usar a mesma quantidade e tipo de dispositivos físicos de backup, que devem ter as mesmas propriedades.

Para fazer backup em um conjunto de mídias espelhado, todos os espelhos devem estar presentes. Para fazer backup em um conjunto de mídias espelhado, especifique a cláusula TO para especificar o primeiro espelho e especifique uma cláusula MIRROR TO para cada espelho adicional.

Para um conjunto de mídias espelhado, cada cláusula MIRROR TO deve listar o mesmo número e tipo de dispositivos que a cláusula TO. O exemplo a seguir grava em um conjunto de mídias espelhado que contém dois espelhos e usa três dispositivos por espelho:

BACKUP DATABASE AdventureWorks
TO DISK='X:\SQLServerBackups\AdventureWorks1a.bak', 
DISK='Y:\SQLServerBackups\AdventureWorks2a.bak', 
DISK='Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak', 
DISK='Y:\SQLServerBackups\AdventureWorks2b.bak', 
DISK='Z:\SQLServerBackups\AdventureWorks3b.bak';
GO
Observação importanteImportante

Este exemplo foi criado para permitir o teste em seu sistema local. Na prática, fazer backup em vários dispositivos na mesma unidade deve afetar o desempenho e eliminar a redundância para a qual conjuntos de mídias espelhados foram projetados.

Famílias de mídia em conjuntos de mídia espelhados

Cada dispositivo de backup especificado na cláusula TO de uma instrução BACKUP corresponde a uma família de mídia. Por exemplo, se as cláusulas TO listarem três dispositivos, a instrução BACKUP gravará dados nas três famílias de mídia. Em um conjunto de mídias espelhado, cada espelho deve conter uma cópia de cada família de mídia. É por isso que o número de dispositivos deve ser idêntico em cada espelho.

Quando vários dispositivos são listados para cada espelho, a ordem dos dispositivos determina qual família de mídia é gravada em um determinado dispositivo. Por exemplo, em cada uma das listas de dispositivos, o segundo dispositivo corresponde à segunda família de mídia. Para os dispositivos do exemplo acima, a correspondência entre dispositivos e famílias de mídia é mostrada na tabela a seguir.

Espelho

Família de mídia 1

Família de mídia 2

Família de mídia 3

0

Z:\AdventureWorks1a.bak

Z:\AdventureWorks2a.bak

Z:\AdventureWorks3a.bak

1

Z:\AdventureWorks1b.bak

Z:\AdventureWorks2b.bak

Z:\AdventureWorks3b.bak

O backup de uma família de mídia sempre deve ser feito no mesmo dispositivo dentro de um espelho específico. Portanto, cada vez que você usar um conjunto de mídias existente, liste os dispositivos de cada espelho na mesma ordem em que foram especificados quando o conjunto de mídias foi criado.

Para obter mais informações sobre conjuntos de mídias espelhados, consulte Usando conjuntos de mídia de backup espelhado. Para obter mais informações sobre conjuntos de mídias e famílias de mídia em geral, consulte Conjuntos de mídias, famílias de mídia e conjuntos de backup..

Permissões

As permissões BACKUP DATABASE e BACKUP LOG são padronizadas para membros da função de servidor fixa sysadmin e as funções fixas de banco de dados db_owner e db_backupoperator.

Além disso, o usuário pode especificar senhas para um conjunto de mídias, para um conjunto de backup ou para ambos. Quando uma senha estiver definida em um conjunto de mídias, o usuário também deverá fornecer a senha de mídia para executar essas operações. Do mesmo modo, a restauração não é permitida a menos que as senhas corretas de mídia e de conjunto de backup sejam especificadas no comando de restauração.

A definição de senhas de conjuntos de backup e de mídias é um recurso opcional na instrução BACKUP. A proteção fornecida por esta senha é fraca. Destina-se a impedir uma restauração incorreta com o uso de ferramentas do SQL Server por usuários autorizados ou não autorizados. Não impede a leitura dos dados de backup por outros meios ou a substituição da senha. Além disso, as senhas não impedem substituição de mídia com a opção FORMAT. É recomendável usar senhas fortes. Para obter informações sobre senhas fortes, consulte Senhas fortes.

Portanto, embora o uso de senhas possa ajudar a proteger o conteúdo de mídia contra acesso não autorizado com o uso de ferramentas do SQL Server, as senhas não protegem o conteúdo contra destruição. As senhas não impedem totalmente o acesso não autorizado ao conteúdo da mídia porque os dados nos conjuntos de backup não são criptografados e, teoricamente podem ser examinados por programas criados especificamente para esse fim. Em situações em que a segurança é crítica, é importante impedir acesso físico à mídia por indivíduos não autorizados.

É um erro especificar uma senha para objetos que não foram criados com senhas associadas.

BACKUP cria o conjunto de backup com a senha do conjunto de backup fornecida pela opção PASSWORD. Além disso, BACKUP verificará normalmente a senha de mídia fornecida pela opção MEDIAPASSWORD antes de gravar na mídia. A única vez em que BACKUP não verifica a senha da mídia é ao formatá-la, o que substitui o cabeçalho da mídia. Se BACKUP gravar o cabeçalho da mídia, atribuirá a senha do conjunto de mídias ao valor especificado na opção MEDIAPASSWORD.

Para obter informações sobre o impacto de senhas nas opções SKIP, NOSKIP, INIT e NOINIT, consulte "Comentários", mais adiante neste tópico.

Problemas com propriedade e permissão no arquivo físico do dispositivo de backup podem interferir com uma operação de backup. O SQL Server deve poder ler e gravar no dispositivo. A conta na qual o serviço do SQL Server é executado deve ter permissões de gravação. No entanto, sp_addumpdevice, que adiciona uma entrada para um dispositivo de backup nas tabelas do sistema, não verifica permissões de acesso a arquivos. Esses problemas no arquivo físico do dispositivo de backup podem não aparecer até que o recurso físico seja acessado quando o backup ou restauração é tentado.

Exemplos

ObservaçãoObservação

O banco de dados AdventureWorks é mostrado para ilustração. O AdventureWorks é um dos bancos de dados de exemplo do SQL Server 2005. A Adventure Works Cycles é uma empresa de fabricação fictícia utilizada para demonstrar conceitos e cenários de banco de dados. Para obter mais informações sobre esse banco de dados, consulte Bancos de dados de exemplo AdventureWorks.

Esta seção contém os seguintes exemplos:

  • A. Fazendo backup de um banco de dados completo

  • B. Fazendo backup do banco de dados e do log

  • C. Criando um backup completo de arquivos dos grupos de arquivos secundários

  • D. Criando um backup diferencial de arquivos dos grupos de arquivos secundários

  • E. Criando e fazendo backup em um conjunto de mídias espelhado de uma única família

  • F. Criando e fazendo backup em um conjunto de mídias espelhado de várias famílias

  • G. Fazendo backup em um conjunto de mídias espelhado existente

  • H. Criando um backup compactado em um novo conjunto de mídias

ObservaçãoObservação

Os tópicos de instruções de backup contêm exemplos adicionais. Para obter mais informações, consulte Tópicos de instruções de backup e restauração (Transact-SQL).

A. Fazendo backup de um banco de dados completo

O exemplo a seguir faz backup do banco de dados AdventureWorks em um arquivo de disco.

BACKUP DATABASE AdventureWorks 
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
   WITH FORMAT;
GO

B. Fazendo backup do banco de dados e do log

O exemplo a seguir faz backup do banco de dados de exemplo AdventureWorks que, por padrão, usa o modelo de recuperação simples. Para oferecer suporte a backups de log, o banco de dados AdventureWorks é modificado para usar o modelo de recuperação completa.

Em seguida, o exemplo usa sp_addumpdevice para criar um dispositivo de backup lógico para fazer backup dos dados, AdvWorksData, e cria outro dispositivo de backup lógico para fazer backup do log, AdvWorksLog.

Em seguida, o exemplo cria um backup de dados completo em AdvWorksData e, após um período de atividades de atualização, faz o backup do log em AdvWorksLog.

-- To permit log backups, before the full database backup, modify the database 
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks
   SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices. 
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData', 
'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksLog', 
'X:\SQLServerBackups\AdvWorksLog.bak';
GO

-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO AdvWorksData;
GO
-- Back up the AdventureWorks log.
BACKUP LOG AdventureWorks
   TO AdvWorksLog;
GO
ObservaçãoObservação

Para um banco de dados de produção, faça backup do log regularmente. Os backups de log devem ser freqüentes o suficiente para fornecer proteção contra perda de dados.

C. Criando um backup completo de arquivos dos grupos de arquivos secundários

O exemplo a seguir cria um backup de arquivo completo de todos os arquivos dos dois grupos de arquivos secundários.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
GO

D. Criando um backup diferencial de arquivos dos grupos de arquivos secundários

O exemplo a seguir cria um backup diferencial de cada arquivo nos dois grupos de arquivos secundários.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
   FILEGROUP = 'SalesGroup1',
   FILEGROUP = 'SalesGroup2'
   TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
   WITH 
      DIFFERENTIAL
GO

E. Criando e fazendo backup em um conjunto de mídias espelhado de uma única família

O exemplo a seguir cria um conjunto de mídias espelhado que contêm uma única família de mídia e quatro espelhos nos quais faz backup do banco de dados AdventureWorks.

BACKUP DATABASE AdventureWorks
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH
   FORMAT,
   MEDIANAME = 'AdventureWorksSet0'

F. Criando e fazendo backup em um conjunto de mídias espelhado de várias famílias

O exemplo a seguir cria um conjunto de mídias espelhado no qual cada espelho consiste em duas famílias de mídia. Em seguida, o exemplo faz backup do banco de dados AdventureWorks nos dois espelhos.

BACKUP DATABASE AdventureWorks
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
   FORMAT,
   MEDIANAME = 'AdventureWorksSet1'

G. Fazendo backup em um conjunto de mídias espelhado existente

O exemplo a seguir anexa um conjunto de backup ao conjunto de mídias criado no exemplo anterior.

BACKUP LOG AdventureWorks
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH 
   NOINIT,
   MEDIANAME = 'AdventureWorksSet1'
ObservaçãoObservação

NOINIT, que é o padrão, é mostrado aqui para maior clareza.

[Início dos exemplos]

H. Criando um backup compactado em um novo conjunto de mídias

O exemplo a seguir formata a mídia, criando um novo conjunto de mídias e executa um backup completo compactado do banco de dados AdventureWorks.

BACKUP DATABASE AdventureWorks TO DISK='Z:\SQLServerBackups\AdvWorksData.bak' 
WITH 
   FORMAT, 
   COMPRESSION

[Início dos exemplos]

Histórico de alterações

Conteúdo atualizado

Esclarecida a descrição da opção NO_TRUNCATE.