Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar start_lsn kolumnvärdet för den angivna fångstinstansen från systemtabellen cdc.change_tables . Detta värde representerar den låga ändpunkten av validitetsintervallet för fångstinstansen.
Transact-SQL syntaxkonventioner
Syntax
sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )
Arguments
'capture_instance_name'
Är namnet på fångstinstansen.
capture_instance_name är sysname.
Returtyper
binär(10)
Anmärkningar
Returnerar 0x00000000000000000000 när capture-instansen inte existerar eller när anroparen inte är auktoriserad att komma åt ändringsdata kopplad till capture-instansen.
Denna funktion används vanligtvis för att identifiera den låga ändpunkten för tidslinjen för förändringsdatainsamling kopplad till en fångstinstans. Du kan också använda denna funktion för att validera att ändpunkterna för ett frågeintervall ligger inom capture instance-tidslinjen innan du begär ändringsdata. Det är viktigt att utföra sådana kontroller eftersom den låga ändpunkten för en capture-instans ändras när rensning utförs på ändringstabellerna. Om tiden mellan förfrågningar om ändringsdata är betydande kan även en låg ändpunkt som är satt till den höga ändpunkten för föregående ändringsdataförfrågan ligga utanför den aktuella tidslinjen.
Permissions
Kräver medlemskap i sysadmin-rollen som fast server eller db_owner fast databas. För alla andra användare kräver SELECT-behörighet för alla insamlade kolumner i källtabellen och, om en gating-roll för insamlingsinstansen har definierats, medlemskap i den databasrollen.
Examples
A. Returnerar det minsta LSN-värdet för en specificerad fångstinstans
Följande exempel returnerar det minsta LSN-värdet för fångstinstansen HumanResources_Employee i AdventureWorks2025-databasen.
USE AdventureWorks2-12;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;
B. Verifiering av den låga ändpunkten för ett frågeområde
Följande exempel använder det minsta LSN-värdet som returneras av sys.fn_cdc_get_min_lsn för att verifiera att den föreslagna låga ändpunkten för en förändringsdatafråga är giltig för den aktuella tidslinjen för fångstinstansen HumanResources_Employee. Detta exempel antar att det tidigare höga slutpunkts-LSN för capture-instansen sparades och är tillgängligt för att sätta variabeln @save_to_lsn . För detta exempel @save_to_lsn sätts till 0x000000000000000000 för att tvinga felhanteringssektionen att köras.
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
Se även
sys.fn_cdc_get_max_lsn (Transact-SQL)
Transaktionsloggen (SQL Server)