Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2019 (15.x) e versões
posteriores Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Inicia manualmente o processo de limpeza do armazenamento de versão persistente (PVS), um elemento-chave da recuperação acelerada do banco de dados (ADR). Este limpador também remove dados não confirmados no PVS de transações abortadas.
Normalmente, não é necessário iniciar o processo de limpeza PVS manualmente usando sys.sp_persistent_version_cleanup. No entanto, em alguns cenários, talvez você queira iniciar o processo de limpeza PVS manualmente durante um período conhecido de repouso/recuperação após a atividade OLTP ocupada.
Para obter mais informações sobre ADR, consulte Accelerated database recovery.
Transact-SQL convenções de sintaxe
Sintaxe
sp_persistent_version_cleanup
[ [ @dbname = ] N'dbname' ]
[ , [ @scanallpages = ] scanallpages ]
[ , [ @clean_option = ] clean_option ]
[ ; ]
Argumentos
[ @dbname = ] N'dbname'
Opcional. O nome do banco de dados a ser limpo. Se não for fornecido, usa o contexto do banco de dados atual.
@dbname é sysname, com um padrão de NULL.
[ @scanallpages = ] scanallpages
Opcional.
@scanallpages é pouco, com um padrão de 0. Quando definida como 1, essa opção força a limpeza de todas as páginas do banco de dados, mesmo que não tenham versão.
[ @clean_option = ] clean_option
Opcional. As opções possíveis determinam se a página PVS fora da linha deve ou não ser recuperada.
@clean_option é int, com um padrão de 0. Essa referência geralmente não é necessária e o valor padrão 0 é recomendado.
| Valor | Descrição |
|---|---|
0 |
Padrão, nenhuma opção especificada |
1 |
armazenamento de versão fora da linha sem verificar o conteúdo da página PVS individual |
2 |
armazenamento de versão off-row com cada página PVS visitada |
3 |
apenas armazenamento de versão em linha |
4 |
apenas para uso interno |
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhuma.
Permissões
Requer a permissão ALTER no banco de dados.
Comentários
O procedimento armazenado sys.sp_persistent_version_cleanup é síncrono, o que significa que ele não é concluído até que todas as informações de versão sejam limpas do PVS atual.
No SQL Server 2019 (15.x), o processo de limpeza PVS só é executado para um banco de dados de cada vez. No Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure, e a partir do SQL Server 2022 (16.x), o processo de limpeza do PVS pode ser executado em paralelo em vários bancos de dados na mesma instância.
Se o processo de limpeza do PVS já estiver em execução no banco de dados desejado, esse procedimento armazenado será bloqueado antes de iniciar outro processo de limpeza do PVS. Transações ativas e de longa execução em qualquer banco de dados na mesma instância do mecanismo de banco de dados que tenham o ADR habilitado também podem bloquear a limpeza do PVS.
Você pode monitorar a tarefa de limpeza de versão procurando seu processo com a seguinte consulta de exemplo:
SELECT *
FROM sys.dm_exec_requests
WHERE command LIKE '%PERSISTED_VERSION_CLEANER%';
Uma transação ativa pode impedir que o processo de limpeza PVS seja iniciado. Se isso ocorrer, a sessão que executa o procedimento armazenado sys.sp_persistent_version_cleanup aguardará com o tipo de espera PVS_CLEANUP_LOCK. Você pode esperar que a transação seja concluída ou pode considerar matar a sessão do bloqueador com uma transação ativa, se possível.
Se o ADR estiver desativado, execute sys.sp_persistent_version_cleanup para limpar versões anteriores ainda no PVS.
Exemplos
Para ativar o processo de limpeza PVS manualmente entre cargas de trabalho ou durante as janelas de manutenção, use o seguinte script de exemplo:
EXECUTE sys.sp_persistent_version_cleanup [database_name];
Por exemplo:
EXECUTE sys.sp_persistent_version_cleanup [WideWorldImporters];
Ou, para assumir o contexto atual do banco de dados:
USE [WideWorldImporters];
GO
EXECUTE sys.sp_persistent_version_cleanup;
Conteúdo relacionado
- de recuperação acelerada do banco de dados
- Monitorar e solucionar problemas de recuperação acelerada de banco de dados
- Gerencie a recuperação acelerada do banco de dados