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.
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