sp_clean_db_free_space (Transact-SQL)
- Artigo
- 01/29/2021
- 2 minutos de leitura
-
- m
- c
- r
- p
- M
-
+4
aplica-se a: SQL Server (todas as versões suportadas)
remove informações residuais deixadas nas páginas do banco de dados devido a rotinas de modificação de dados no SQL Server. sp_clean_db_free_space limpa todas as páginas em todos os arquivos do banco de dados.
Sintaxe Transact-SQL Convenções
Sintaxe
sp_clean_db_free_space 'database_name' 'delay_in_seconds' ]
Argumentos
@dbname = ‘database_name’
É o nome do banco de dados limpo. dbname é sysname e não pode ser nulo.
@cleaning_delay = ‘delay_in_seconds’
especifica um intervalo para atrasar entre a limpeza das páginas. Isso ajuda a reduzir o efeito no sistema de E/S. delay_in_seconds é int com um padrão de 0.
valores de código de retorno
0 (sucesso) ou 1 (falha)
observações
excluir operações de uma tabela ou atualizar operações que fazem com que uma linha se mova pode liberar espaço imediatamente em uma página removendo referências à linha. No entanto, sob certas circunstâncias, a linha pode permanecer fisicamente na página de dados como um registro fantasma. Os registros fantasmas são removidos periodicamente por um processo em segundo plano. Esses dados residuais não são retornados pelo mecanismo de banco de dados em resposta a consultas. No entanto, em ambientes nos quais a segurança física dos dados ou arquivos de backup está em risco, você pode usar sp_clean_db_free_space
para limpar esses registros fantasmas. Para executar esta operação por arquivo de banco de dados, use sp_clean_db_file_free_space (Transact-SQL).
o tempo necessário para executar sp_clean_db_free_space depende do tamanho do arquivo, do espaço livre disponível e da capacidade do disco. Como a execução sp_clean_db_free_space
pode afetar significativamente a atividade de E / S, recomendamos que você execute este procedimento fora do horário normal de operação.
Antes de executar sp_clean_db_free_space
, recomendamos que você crie um backup completo do banco de dados.
o procedimento armazenado sp_clean_db_file_free_space relacionado pode limpar um único arquivo.
permissões
requer associação na função de banco de dados db_owner
.
exemplos
o exemplo a seguir limpa todas as informações residuais do banco de dados AdventureWorks2012
.
USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012';
Veja Também
procedimentos armazenados do mecanismo de banco de dados(Transact-SQL)
Guia do processo de limpeza fantasma
sp_clean_db_file_free_space(Transact-SQL)