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
Devolve o valor da coluna start_lsn para a instância de captura especificada da tabela do sistema cdc.change_tables . Este valor representa o ponto final inferior do intervalo de validade para a instância de captura.
Transact-SQL convenções de sintaxe
Sintaxe
sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )
Arguments
'capture_instance_name'
É o nome da instância de captura.
capture_instance_name é sysname.
Tipos de devolução
binário(10)
Observações
Devolve 0x00000000000000000000 quando a instância de captura não existe ou quando o chamador não está autorizado a aceder aos dados de alteração associados à instância de captura.
Esta função é normalmente usada para identificar o ponto final inferior da linha temporal de captura de dados de alteração associada a uma instância de captura. Também pode usar esta função para validar que os endpoints de um intervalo de consulta se enquadram na linha temporal da instância de captura antes de solicitar dados de alteração. É importante realizar tais verificações porque o ponto final inferior de uma instância de captura muda quando a limpeza é feita nas tabelas de alteração. Se o tempo entre pedidos de dados de alteração for significativo, mesmo um endpoint baixo definido para o endpoint alto do pedido anterior de dados de alteração pode estar fora da linha temporal atual.
Permissions
Requer pertença ao papel fixo de sysadmin servidor ou db_owner função fixa de base de dados. Para todos os outros usuários, requer a permissão SELECT em todas as colunas capturadas na tabela de origem e, se uma função de seleção para a instância de captura foi definida, a associação a essa função de banco de dados.
Examples
A. Devolver o valor mínimo de LSN para uma instância de captura especificada
O exemplo seguinte devolve o valor mínimo de LSN para a instância HumanResources_Employee de captura na base de dados AdventureWorks2025.
USE AdventureWorks2-12;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;
B. Verificação do ponto final mais baixo de um intervalo de consulta
O exemplo seguinte utiliza o valor mínimo de LSN devolvido por sys.fn_cdc_get_min_lsn para verificar se o ponto final baixo proposto para uma consulta de dados de alteração é válido para a linha temporal atual da instância HumanResources_Employeede captura . Este exemplo assume que o LSN de endpoint alto anterior para a instância de captura foi guardado e está disponível para definir a @save_to_lsn variável. Para efeitos deste exemplo, @save_to_lsn está definido para 0x000000000000000000 forçar a execução da secção de tratamento de erros.
USE AdventureWorks2022;
GO
DECLARE @min_lsn binary(10), @from_lsn binary(10),@save_to_lsn binary(10), @to_lsn binary(10);
-- Sets @save_to_lsn to the previous high endpoint saved from the last change data request.
SET @save_to_lsn = 0x000000000000000000;
-- Sets the upper endpoint for the query range to the current maximum LSN.
SET @to_lsn = sys.fn_cdc_get_max_lsn();
-- Sets the @min_lsn parameter to the current minimum LSN for the capture instance.
SET @min_lsn = sys.fn_cdc_get_min_lsn ('HumanResources_Employee');
-- Sets the low endpoint for the query range to the LSN that follows the previous high endpoint.
SET @from_lsn = sys.fn_cdc_increment_lsn(@save_to_lsn);
-- Tests to verify the low endpoint is valid for the current capture instance.
IF (@from_lsn < @min_lsn)
BEGIN
RAISERROR('Low endpoint of the request interval is invalid.', 16, -1);
END
ELSE
-- Return the changes occurring within the query range.
SELECT * FROM cdc.fn_cdc_get_all_changes_HumanResources_Employee(@from_lsn, @to_lsn, 'all');
GO
Ver também
sys.fn_cdc_get_max_lsn (Transact-SQL)
Registo de Transações (SQL Server)