Kommentar
Å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 kolumnordinalen för den angivna kolumnen som den visas i ändringstabellen kopplad till den angivna capture-instansen.
Transact-SQL syntaxkonventioner
Syntax
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Arguments
'capture_instance'
Är namnet på den fångstinstans där den angivna kolumnen identifieras som en fångad kolumn.
capture_instance är sysname.
'column_name'
Är kolumnen att rapportera om. column_name är sysname.
Returtyp
int
Remarks
Denna funktion används för att identifiera den ordinala positionen för en fångad kolumn inom uppdateringsmasken för förändringsdatainsamling. Den används huvudsakligen tillsammans med funktionen sys.fn_cdc_is_bit_set för att extrahera information från uppdateringsmasken när man söker efter ändringsdata.
Permissions
Kräver SELECT-behörighet på alla fångade kolumner i källtabellen. Om en databasroll för förändringsdatainsamlingskomponenten specificeras för fångstinstansen krävs medlemskap i den rollen också.
Examples
Följande exempel erhåller kolumnens ordinala position VacationHours i uppdateringsmasken för capture-instansen HumanResources_Employee . Det värdet används sedan i anropet till sys.fn_cdc_is_bit_set för att extrahera information från den returnerade uppdateringsmasken.
USE AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @VacationHoursOrdinal int;
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal
( 'HumanResources_Employee','VacationHours');
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,
__$update_mask) as 'VacationHours'
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee
( @from_lsn, @to_lsn, 'all with mask');
GO