Após ter realizado o shrink no banco, qual o comando para retornar so estado 'single_user'? O que faz as cláusulas 'notruncate' e 'truncateonly'?
Após ter realizado o shrink no banco, qual o comando para retornar so estado 'single_user'? O que faz as cláusulas 'notruncate' e 'truncateonly'?
Olá, Marcio, tudo bem?
Desde já peço desculpas pela demora em obter retorno.
Para retornar ao estado 'single_user', você pode utilizar o seguinte comando:
ALTER DATABASE [NomeDoBanco] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
O comando acima define o banco de dados para o modo 'SINGLE_USER
' e, realiza um rollback imediato para encerrar todas as transações em andamento.
Deixo o link da documentação que explora um pouco mais à respeito :
Quanto às cláusulas 'NOTRUNCATE
' e 'TRUNCATEONLY
', elas são usadas para especificar o comportamento do comando SHRINK
em relação aos registros de log do SQL Server:
NOTRUNCATE
: Quando você usa a cláusula 'NOTRUNCATE' junto com o comando SHRINK
, o log de transações não é truncado (encurtado). Apenas espaço vazio dentro dos arquivos de dados é liberado.
TRUNCATEONLY
: Já, quando você usa a cláusula 'TRUNCATEONLY' junto com o comando SHRINK
, apenas o espaço não usado no final do arquivo é liberado. Isso significa que o arquivo de dados é truncado no último ponto em que uma operação de SHRINK foi executada.
Abaixo deixo o link da documentação, caso queira aprofundar no conteúdo:
Espero ter ajudado.
Caso surja alguma dúvida, fico à disposição.
Abraços.