Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como alterar o modelo de recuperação de um banco de dados SQL Server usando T-SQL


O SQL Server tem três modelos de recuperação; simples, completo e registrado em massa. Cada banco de dados usa uma dessas configurações.

As operações de backup e restauração ocorrem no contexto do modelo de recuperação do banco de dados

Você pode alterar o modelo de recuperação de um banco de dados usando o ALTER DATABASE instrução junto com o SET RECOVERY opção.

As opções disponíveis ao usar ALTER DATABASE para definir o modelo de recuperação são:
  • SIMPLE
  • FULL
  • BULK_LOGGED

Você precisará de ALTER permissões no banco de dados para fazer tais alterações.

Exemplo


Suponha que tenhamos um banco de dados chamado PetHotel .

Podemos verificar seu modelo de recuperação atual consultando o sys.databases visualização do catálogo:
SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Resultado:
+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | SIMPLE                |
+----------+-----------------------+

O PetHotel banco de dados atualmente usa o modelo de recuperação simples.

Vamos alterá-lo para o modelo de recuperação completo:
USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

Feito.

Agora vamos verificar o resultado:
SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Resultado:
+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | FULL                  |
+----------+-----------------------+

O modelo de recuperação foi alterado com sucesso conforme especificado.

Considerações importantes


Ao mudar do modo de recuperação simples para um dos outros, a troca só entra em vigor após o primeiro backup de dados.

Portanto, assim que você alternar do modo de recuperação simples para o modelo de recuperação completa ou com log em massa, você deve fazer um backup completo ou diferencial do banco de dados para iniciar a cadeia de logs.

Se você mudar para o modelo de recuperação simples, certifique-se de desabilitar qualquer tarefa agendada para fazer backup do log de transações (o modelo de recuperação simples não usa backups de log).

Além disso, o modelo de recuperação em massa é especificamente para operações em massa. Se você alternar do modelo de recuperação completa para o modelo de log em massa para essa finalidade, deverá voltar ao modo de recuperação completa depois de executar as operações em massa.

Depois de alternar do modelo de recuperação bulk-logged de volta para o modelo de recuperação completa, certifique-se de fazer backup do log.

Consulte Modelos de recuperação no site da Microsoft para obter uma visão geral de cada modelo de recuperação.