Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vrací hodnotu sloupce start_lsn pro specifikovanou instanci zachycení z tabulky cdc.change_tables systému. Tato hodnota představuje nízký konec intervalu platnosti pro zachycení instance.
Syntaxe
sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )
Arguments
'capture_instance_name'
Je název instance zachycení.
capture_instance_name je sysname.
Návratové typy
binární(10)
Poznámky
Vrací 0x00000000000000000000, když instance zachycení neexistuje nebo když volající není oprávněn přistupovat ke změnovým datům spojeným s danou instancí.
Tato funkce se obvykle používá k identifikaci nízkého koncového bodu časové osy zachycení změn dat spojené se zachycením instance. Tuto funkci můžete také použít k ověření, že koncové body rozsahu dotazů spadají do časové osy instance zachycení, než požádáte o data změny. Je důležité takové kontroly provádět, protože nízký koncový bod instance zachycení se změní, když je prováděno čištění na změnových tabulkách. Pokud je čas mezi požadavky na data o změnu významný, i nízký koncový bod nastavený na vysoký bod předchozího požadavku na data může ležet mimo aktuální časovou osu.
Povolení
Vyžaduje členství v roli správce systému nebo v roli pevného správce db_owner databázi. Pro všechny ostatní uživatele vyžaduje oprávnění SELECT pro všechny zachycené sloupce ve zdrojové tabulce a pokud byla definována role gating pro instanci zachycení, členství v této databázové roli.
Examples
A. Vrácení minimální hodnoty LSN pro specifikovanou instanci zachycení
Následující příklad vrací minimální hodnotu LSN pro zachycenou instanci HumanResources_Employee v databázi AdventureWorks2025.
USE AdventureWorks2-12;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;
B. Ověření nízkého koncového bodu dotazovacího rozsahu
Následující příklad využívá minimální hodnotu LSN vrácenou , sys.fn_cdc_get_min_lsn aby ověřil, že navrhovaný nízký koncový bod pro dotaz na změnu dat je platný pro aktuální časovou osu pro zachycení instance HumanResources_Employee. Tento příklad předpokládá, že předchozí LSN s vysokým koncovým body pro zachycení instance byl uložen a je k dispozici pro nastavení @save_to_lsn proměnné. Pro účely tohoto příkladu je nastaveno @save_to_lsn na 0x000000000000000000 pro vyvolání sekce pro zpracování chyb.
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
Viz také
sys.fn_cdc_get_max_lsn (Transact-SQL)
Transakční protokol (SQL Server)