Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Este procedimento armazenado permite limpar manualmente a tabela lateral (change_tracking_objectid) de uma tabela em um banco de dados para o qual o controle de alterações está habilitado. Se o parâmetro TableToClean não for passado, esse processo limpará todas as tabelas laterais de todas as tabelas no banco de dados em que o controle de alterações está habilitado.
Transact-SQL convenções de sintaxe
Sintaxe
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argumentos
@TableToClean [ = ] 'TableToClean'
A tabela habilitada para controle de alterações a ser limpa manualmente. As listas de pendências são deixadas para a limpeza automática pelo controle de alterações. Pode ser nulo para limpar todas as mesas laterais.
@DeletedRowCount [ = ] SAÍDA 'DeletedRowCount'
@DeletedRowCount é um parâmetro OUTPUT do tipo bigint. Esse parâmetro retorna o número total de linhas que foram limpas durante o processo.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Exemplos
DECLARE @DeletedRowCount AS BIGINT;
EXECUTE sys.sp_flush_CT_internal_table_on_demand '[Sales].[Orders]',
@DeletedRowCount = @DeletedRowCount OUTPUT;
PRINT CONCAT('Number of rows deleted: ', @DeletedRowCount);
GO
Aqui está o conjunto de resultados.
Started executing query at Line 1
Cleanup Watermark = 17
Internal Change Tracking table name : change_tracking_1541580530
Total rows deleted: 0.
Number of rows deleted: 0
Total execution time: 00:00:02.949
Observações
Este procedimento deve ser executado em um banco de dados que tenha o controle de alterações habilitado.
Quando você executa o procedimento armazenado, um dos seguintes cenários acontece:
Se a tabela não existir ou se o controle de alterações não estiver habilitado, mensagens de erro apropriadas serão lançadas.
Este procedimento armazenado chama outro procedimento armazenado interno que limpa o conteúdo da tabela lateral de controle de alterações baseada na versão de limpeza inválida usando o
sys.change_tracking_tablesmodo de exibição de gerenciamento dinâmico. Quando está em execução, ele mostra as informações do total de linhas excluídas (para cada 5000 linhas).
Este procedimento armazenado está disponível nos seguintes produtos:
- SQL Server 2016 (13.x) Service Pack 1 e versões posteriores
- Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure
Permissões
Somente um membro da função de servidor sysadmin ou db_owner função de banco de dados pode executar este procedimento.