sys.sp_cdc_generate_wrapper_function (Transact-SQL)
Gilt für: SQL Server
Generiert Skripts zum Erstellen von Wrapperfunktionen für die Abfragefunktionen der Änderungsdatenerfassung, die in SQL Server verfügbar sind. Die in den generierten Wrappern unterstützte API ermöglicht die Angabe des Abfrageintervalls als Datums-/Uhrzeitintervall. Diese Spezifikation eignet sich gut für die Verwendung in vielen Lageranwendungen, einschließlich der Anwendungen, die von Integration Services-Paketdesignern entwickelt wurden, die Änderungsdatenerfassungstechnologie verwenden, um inkrementelle Last zu bestimmen.
Weitere Informationen zu den von sys.sp_cdc_generate_wrapper_function
ihnen generierten Funktionen finden Sie unter sys.fn_all_changes_<capture_instance> und sys.fn_net_changes_<capture_instance>.
Transact-SQL-Syntaxkonventionen
Syntax
sys.sp_cdc_generate_wrapper_function
[ [ @capture_instance sysname = ] 'capture_instance' ]
[ , [ @closed_high_end_point = ] closed_high_end_pt ]
[ , [ @column_list = ] N'column_list' ]
[ , [ @update_flag_list = ] N'update_flag_list' ]
[ ; ]
Argumente
[ @capture_instance = ] 'capture_instance'
Die Erfassungsinstanz, die skripts für @capture_instance generiert werden, ist sysname und hat einen Standardwert von NULL
. Wenn ein Wert ausgelassen oder explizit auf NULL
festgelegt wird, werden Wrapperskripts für alle Aufnahmeinstanzen generiert.
[ @closed_high_end_point = ] high_end_pt_flag
Das Flagbit, das angibt, ob Änderungen, die einen Commit-Zeit haben, gleich dem hohen Endpunkt sind, innerhalb des Extraktionsintervalls durch die generierte Prozedur eingeschlossen werden. @closed_high_end_point ist bit und hat einen Standardwert von 1
, der angibt, dass der Endpunkt eingeschlossen werden soll. Ein Wert von 0
gibt an, dass alle Commit-Zeiten streng kleiner als der hohe Endpunkt sind.
[ @column_list = ] N'column_list'
Eine Liste der erfassten Spalten im Resultset, die von der Wrapperfunktion zurückgegeben wird. @column_list ist nvarchar(max) und hat einen Standardwert von NULL
. Wenn NULL
angegeben, werden alle erfassten Spalten eingeschlossen.
[ @update_flag_list = ] N'update_flag_list'
Eine Liste der eingeschlossenen Spalten, für die ein Update-Flag in dem von der Wrapperfunktion zurückgegebenen Resultset enthalten ist. @update_flag_list ist nvarchar(max) und hat einen Standardwert von NULL
. Wenn NULL
angegeben, sind keine Aktualisierungskennzeichnungen enthalten.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Resultset
Spaltenname | Spaltentyp | Beschreibung |
---|---|---|
function_name |
nvarchar(145) | Name der generierten Funktion. |
create_script |
nvarchar(max) | Das Skript, das die Wrapperfunktion für die Aufnahmeinstanz erstellt. |
Hinweise
Das Skript zur Erstellung der Wrapperfunktion für eine Abfrage aller Änderungen für eine Aufzeichnungsinstanz wird immer generiert. Wenn die Aufnahmeinstanz Net-Changes-Abfragen unterstützt, wird auch das Skript zum Generieren eines Wrappers für diese Abfrage generiert.
Beispiele
Das folgende Beispiel zeigt, wie Sie mit sys.sp_cdc_generate_wrapper_function
Wrapper für alle Change Data Capture-Funktionen erstellen.
DECLARE @wrapper_functions TABLE (
function_name SYSNAME,
create_script NVARCHAR(MAX)
);
INSERT INTO @wrapper_functions
EXEC sys.sp_cdc_generate_wrapper_function;
DECLARE @create_script NVARCHAR(MAX);
DECLARE #hfunctions CURSOR LOCAL FAST_FORWARD
FOR
SELECT create_script
FROM @wrapper_functions;
OPEN #hfunctions;
FETCH #hfunctions
INTO @create_script;
WHILE (@@fetch_status <> -1)
BEGIN
EXEC sp_executesql @create_script
FETCH #hfunctions
INTO @create_script
END;
CLOSE #hfunctions;
DEALLOCATE #hfunctions;