sp_check_subset_filter (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Wird zum Überprüfen einer Filterklausel gegen eine beliebige Tabelle verwendet, um die Gültigkeit der Filterklausel für die Tabelle zu ermitteln. Diese gespeicherte Prozedur gibt Informationen zum bereitgestellten Filter zurück, einschließlich der Angabe, ob der Filter mit vorausberechneten Partitionen verwendet werden kann. Diese gespeicherte Prozedur wird auf dem Verleger für die Datenbank ausgeführt, die die Veröffentlichung enthält.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_check_subset_filter [ @filtered_table = ] 'filtered_table'  
        , [ @subset_filterclause = ] 'subset_filterclause'  
    [ , [ @has_dynamic_filters = ] has_dynamic_filters OUTPUT ]  

Argumente

[ @filtered_table = ] 'filtered_table' Der Name einer gefilterten Tabelle. filtered_table ist nvarchar(400) ohne Standardwert.

[ @subset_filterclause = ] 'subset_filterclause' Ist die filterklausel, die getestet wird. subset_filterclause ist nvarchar(1000) ohne Standardwert.

[ @has_dynamic_filters = ] has_dynamic_filters Ist, wenn die Filterklausel ein parametrisierter Zeilenfilter ist. has_dynamic_filters ist Bit, wobei der Standardwert NULL ist und ein Ausgabeparameter ist. Gibt den Wert 1 zurück, wenn die Filterklausel ein parametrisierter Zeilenfilter ist.

Resultsets

Spaltenname Datentyp BESCHREIBUNG
can_use_partition_groups bit Ist, wenn die Veröffentlichung für die Verwendung vorberechneter Partitionen qualifiziert ist; wobei 1 bedeutet, dass vorkompilierte Partitionen verwendet werden können, und 0 bedeutet, dass sie nicht verwendet werden können.
has_dynamic_filters bit Ist, wenn die angegebene Filterklausel mindestens einen parametrisierten Zeilenfilter enthält; wobei 1 bedeutet, dass ein parametrisierter Zeilenfilter verwendet wird, und 0 bedeutet, dass eine solche Funktion nicht verwendet wird.
dynamic_filters_function_list nvarchar(500) Liste der Funktionen in der Filterklausel, die einen Artikel dynamisch filtern, wobei die Funktionen durch Semikolon voneinander getrennt sind.
uses_host_name bit Wenn die HOST_NAME() -Funktion in der Filterklausel verwendet wird, bedeutet 1 , dass diese Funktion vorhanden ist.
uses_suser_sname bit Wenn die SUSER_SNAME() -Funktion in der Filterklausel verwendet wird, bedeutet 1 , dass diese Funktion vorhanden ist.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Bemerkungen

sp_check_subset_filter wird bei der Mergereplikation verwendet.

sp_check_subset_filter kann für jede Tabelle ausgeführt werden, auch wenn die Tabelle nicht veröffentlicht wird. Mit dieser gespeicherten Prozedur kann eine Filterklausel vor dem Definieren eines gefilterten Artikels überprüft werden.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder db_owner festen Datenbankrolle können sp_check_subset_filter ausführen.

Weitere Informationen

Optimieren der Leistung parametrisierter Filter mithilfe vorausberechneter Partitionen