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 getestete Filterklausel. subset_filterclause ist vom Datentyp nvarchar(1000) und hat keinen Standardwert.

  • [ @has_dynamic_filters= ] has_dynamic_filters
    Gibt an, ob die Filterklausel ein parametrisierter Zeilenfilter ist. has_dynamic_filters ist vom Datentyp bit und hat den Standardwert NULL. 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

Gibt an, ob die HOST_NAME()-Funktion in der Filterklausel verwendet wird, wobei 1 bedeutet, 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.