Freigeben über


sp_check_subset_filter (Transact-SQL)

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.

Themenlink (Symbol) 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 vom Datentyp nvarchar(400) und hat keinen Standardwert.

  • [ @subset_filterclause = ] 'subset_filterclause'
    Die Filterklausel, die getestet wird. subset_filterclause ist vom Datentyp nvarchar(1000) und hat keinen Standardwert.

  • [ @has_dynamic_filters= ] has_dynamic_filters
    Gibt an, ob die Filterklausel einen parametrisierten Zeilenfilter festlegt. has_dynamic_filters ist vom Datentyp bit, der Standardwert ist NULL, und es handelt sich um einen Ausgabeparameter. Gibt den Wert 1 zurück, wenn die Filterklausel ein parametrisierter Zeilenfilter ist.

Resultsets

Spaltenname

Datentyp

Beschreibung

can_use_partition_groups

bit

Gibt an, ob vorausberechnete Partitionen für die Veröffentlichung verwendet werden können, wobei 1 bedeutet, dass vorausberechnete Partitionen verwendet werden können, und 0 bedeutet, dass sie nicht verwendet werden können.

has_dynamic_filters

bit

Gibt an, ob die bereitgestellte Filterklausel mindestens einen parametrisierten Zeilenfilter enthält, wobei 1 bedeutet, dass ein parametrisierter Zeilenfilter verwendet wird, und 0 bedeutet, dass keine derartige Funktion 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

Ist angegeben, wenn die HOST_NAME()-Funktion in der Filterklausel verwendet wird. Dabei bedeutet 1, dass diese Funktion vorhanden ist.

uses_suser_sname

bit

Gibt an, ob die SUSER_SNAME()-Funktion in der Filterklausel verwendet wird, wobei 1 bedeutet, dass diese Funktion vorhanden ist.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_check_subset_filter wird für die Mergereplikation verwendet.

sp_check_subset_filter kann für jede Tabelle ausgeführt werden, selbst 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 der festen Datenbankrolle db_owner können sp_check_subset_filter ausführen.

Siehe auch

Konzepte

Optimieren der Leistung parametrisierter Filter mithilfe vorausberechneter Partitionen