Freigeben über


sp_check_subset_filter (Transact-SQL)

Gilt für: SQL Server Azure 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' Ist der Name einer gefilterten Tabelle. filtered_table ist nvarchar(400), ohne Standard.

[ @subset_filterclause = ] 'subset_filterclause' Wird die Filterklausel getestet. subset_filterclause ist nvarchar(1000), ohne Standard.

[ @has_dynamic_filters = ] has_dynamic_filters Ist, wenn die Filterklausel ein parametrisierter Zeilenfilter ist. has_dynamic_filters ist bit, mit einem Standardwert von NULL und ein Ausgabeparameter. Gibt einen Wert von 1 zurück, wenn die Filterklausel ein parametrisierter Zeilenfilter ist.

Resultsets

Spaltenname Datentyp Beschreibung
can_use_partition_groups bit Ist, wenn die Publikation für die Verwendung von vorkompilierten 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 funktion HOST_NAME() in der Filterklausel verwendet wird, wobei 1 bedeutet, dass diese Funktion vorhanden ist.
uses_suser_sname bit Wenn die funktion SUSER_SNAME() 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 in der Seriendruckreplikation 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 ausgeführt werden.

Weitere Informationen

Optimieren der Leistung parametrisierter Filter mithilfe vorausberechneter Partitionen