Aracılığıyla paylaş


sys.fn_cdc_get_min_lsn (Transact-SQL)

Belirtilen yakalama start_lsn sütun değeri döndürür örnek gelen cdc.change_tables sistem tablosu.Bu değer, yakalama örnek için Geçerlilik aralığının düşük bitiş noktası temsil eder.

Topic link iconTransact-SQL sözdizimi kuralları

sys.fn_cdc_get_min_lsn ( 'capture_instance_name' )

Bağımsız değişkenler

  • 'capture_instance_name'
    Is the name of the capture instance.capture_instance_name is sysname.

Dönüş Türleri

binary(10)

Remarks

0X00000000000000000000 döndürür yakalama örnek veya arayan olmadığında yakalama örneğiyle ilişkili değişiklik veri erişim yetkisine sahip.

Bu işlev, genellikle bir yakalama örneğiyle ilişkili değişiklik veri yakalama zaman çizelgesi düşük bitiş noktasını tanımlamak için kullanılır.Bu işlev, bir sorgu aralık bitiş noktaları değişiklik veri istemeden önce yakalama örnek zaman cetveli içinde kalan doğrulamak için de kullanabilirsiniz.Temizleme, üzerinde değişiklik tabloları gerçekleştirildiğinde, bir yakalama örneğinin düşük bitiş noktası değiştirdiği için bu tür denetimleri gerçekleştirmek çok önemlidir.Önceki değişiklik veri isteği yüksek son nokta için küme bile bir düşük bitiş, değişiklik veri istekleri arasındaki zamanı önemli değilse, geçerli saat çizelgesini dışında kalan.Ne zaman Veri yakalama Değiştir'i yapılandırma, veritabanı temiz bir şekilde kapatılır ve son kullanıcı oturumu kapattığında sonra kaynaklarını serbest.

İzinler

Db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği gerekir.Diğer tüm kullanıcılar için kaynak yakalanan tüm sütunlara SELECT izni gerektirir tablo ve gating role yakalama örnek için tanımlanmışsa, rol üyeliği, veritabanı.

Örnekler

C.Belirtilen yakalama örnek için en düşük SSN değer döndürülüyor

Aşağıdaki örnek, yakalama örneği en az SSN değeri verir HumanResources_Employee içinde AdventureWorks Veritabanı.

USE AdventureWorks;
GO
SELECT sys.fn_cdc_get_min_lsn ('HumanResources_Employee')AS min_lsn;

b.Bir sorgu aralığının düşük bitiş noktası doğrulanıyor

Aşağıdaki örnek, döndürülen SSN en küçük değeri kullanır. sys.fn_cdc_get_min_lsn Veri değiştirme sorgusu için önerilen en düşük bitiş noktası yakalama örneği için geçerli bir zaman için geçerli olduğunu doğrulamak için HumanResources_Employee. Bu örnek yakalama örneği için önceki yüksek uç SSN kaydedilmiş ayarlamak kullanılabilir olduğunu varsayarak @save\_to\_lsn değişken. Bu örnekte, amaçları için @save\_to\_lsn 0x000000000000000000 için çalıştırmak için hata işleme bölümü zorlamak için küme.

USE AdventureWorks;
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