Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
A megadott capture instance start_lsn oszlopértékét adja vissza a cdc.change_tables rendszer táblájából. Ez az érték a lefoglalási példány érvényességi intervallumának alacsony végpontját jelenti.
Transact-SQL szintaxis konvenciók
Szemantika
sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )
Arguments
'capture_instance_name'
Ez a capture instance neve.
capture_instance_name a sysname.
Visszatérési típusok
bináris(10)
Megjegyzések
Akkor tér vissza 0x00000000000000000000, ha a capture instance nem létezik, vagy amikor a hívó nem jogosult hozzáférni a capture instance-hoz tartozó változtatási adatokhoz.
Ezt a függvényt általában arra használják, hogy azonosítsák a változásadat-rögzítési idővonal alacsony végpontját, amely egy capture instance-hoz kapcsolódik. Ezt a függvényt arra is használhatod, hogy ellenőrizd, hogy egy lekérdezési tartomány végpontjai a capture instance idővonalon belül vannak-e, mielőtt módosítási adatokat kérnél. Fontos ilyen ellenőrzéseket végezni, mert a capture instance alacsony végpontja változik, amikor a változási táblákon tisztítást végzenek. Ha a változtatási adatkérések közötti idő jelentős, még egy alacsony végpont is, amely az előző változási adatkérés magas végpontjára van állítva, kívül eshet a jelenlegi idővonalon.
Permissions
Tagság szükséges a rendszergazdák fix szerver szerepében vagy db_owner fix adatbázis szerepében. Az összes többi felhasználóhoz SELECT engedélyre van szükség a forrástábla összes rögzített oszlopához, és ha a rögzítési példányhoz egy beszűkítési szerepkör van meghatározva, akkor az adatbázis-szerepkör tagsága szükséges.
Példák
A. A megadott capture instance minimális LSN értékének visszaállítása
Az alábbi példa a AdventureWorks2025 adatbázisban a capture instance HumanResources_Employee minimális LSN értékét adja vissza.
USE AdventureWorks2-12;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;
B. Lekérdezési tartomány alacsony végpontjának ellenőrzése
A következő példa a minimum LSN értéket használja, amelyet vissza adott , sys.fn_cdc_get_min_lsn hogy ellenőrizze, hogy a változásadat lekérdezéshez javasolt alacsony végpont érvényes-e a jelenlegi idővonalra a capture instance HumanResources_Employeeesetében. Ez a példa feltételezi, hogy a capture instance korábbi magas végpontú LSN-jét elmentették, és elérhető a változó beállításához @save_to_lsn . A példa @save_to_lsn szempontjából a hibákezelési szakasz futtatására 0x000000000000000000 be van állítva.
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
Lásd még:
sys.fn_cdc_get_max_lsn (Transact-SQL)
A tranzakciónapló (SQL Server)