Filtrare una tracciaFilter a Trace

I filtri consentono di limitare gli eventi raccolti in una traccia.Filters limit the events collected in a trace. Se non si imposta un filtro, tutti gli eventi delle classi di evento selezionate vengono restituiti nell'output di traccia.If a filter is not set, all events of the selected event classes are returned in the trace output. Ad esempio, se si limitano i nomi utente di Windows in una traccia, consentendo solo utenti specifici, i dati dell'output saranno ridotti solo a tali utenti.For example, limiting the Windows user names in a trace to specific users reduces the output data to those users only.

L'impostazione di un filtro per una traccia non è obbligatoria.It is not mandatory to set a filter for a trace. Un filtro consente, tuttavia, di ridurre l'overhead che si verifica durante una traccia,However, a filter minimizes the overhead that is incurred during a trace. restituendo dati specifici e quindi semplificando l'analisi delle prestazioni e i controlli.A filter returns focused data and thus makes performance analysis and audits easier.

Per filtrare i dati di evento acquisiti in una traccia, selezionare i criteri per gli eventi di traccia che restituiscono solo i dati rilevanti disponibili nella traccia.To filter the event data captured within a trace, select trace event criteria that return only relevant data from the trace. Ad esempio, è possibile includere o escludere il monitoraggio dell'attività di un'applicazione specifica dalla traccia.For example, you can include or exclude monitoring the activity of a specific application from the trace.

Nota

Durante la creazione di tracce da parte di SQL Server ProfilerSQL Server Profiler , per impostazione predefinita le attività specifiche del programma stesso vengono escluse tramite filtro.When SQL Server ProfilerSQL Server Profiler creates traces, it filters out its own activity by default.

Come ulteriore esempio, se si esegue il monitoraggio delle query per determinare quali batch richiedono i tempi di esecuzione più lunghi, impostare i criteri per gli eventi di traccia in modo da monitorare solo i batch la cui esecuzione richiede più di 30 secondi (un valore minimo della CPU di 30.000 millisecondi).As an additional example, if you monitor queries to determine the batches that take the longest time to execute, set the trace event criteria to monitor only those batches that take longer than 30 seconds to execute (a CPU minimum value of 30,000 milliseconds).

Linee guida per la creazione di filtriFilter Creation Guidelines

In generale, per filtrare una traccia, eseguire la procedura seguente.In general, follow these steps to filter a trace.

  1. Identificare gli eventi da includere nella traccia.Identify the events that you want to include in the trace.

  2. Identificare i dati e le colonne di dati contenenti le informazioni necessarie.Identify the data and data columns that contain the information you need.

  3. Identificare un subset dei dati necessari e definire filtri in base a tale subset di dati.Identify a subset of the data you need and define filters based on that subset of data.

    Ad esempio, è possibile che si desideri filtrare solo gli eventi con durata superiore a un determinato intervallo.For example, you may be interested only in events that take longer than a certain length of time. In tal caso, è possibile creare una traccia che include gli eventi per i quali il valore nella colonna Duration è maggiore di 300 millisecondi.You could create a trace that includes events where the Duration data column is greater than 300 milliseconds. Nella traccia non saranno inclusi gli eventi con durata inferiore a 300 millisecondi.Your trace will not include events that finish in less than 300 milliseconds.

    È possibile creare filtri tramite SQL Server Profiler o le stored procedure Transact-SQL.You can create filters by using SQL Server Profiler or Transact-SQL stored procedures.

    Per filtrare gli eventi di un modello di tracciaTo filter events in a trace template

    Filtrare eventi in una traccia (SQL Server Profiler)Filter Events in a Trace (SQL Server Profiler)

    Impostare un filtro di traccia (Transact-SQL)Set a Trace Filter (Transact-SQL)

    Per modificare i filtriTo modify filters

    Modificare un filtro (SQL Server Profiler)Modify a Filter (SQL Server Profiler)

    La disponibilità dei filtri dipende dalla colonna di dati.Filter availability depends on the data column. Non è possibile filtrare alcune colonne di dati.Some data columns cannot be filtered. Le colonne di dati che possono essere filtrate consentono solo determinati operatori relazionali, come illustrato nella tabella seguente.The data columns that can be filtered are filterable only by certain relational operators, as shown in the following table.

Operatore relazionaleRelational operator Simbolo operatoreOperator symbol DescrizioneDescription
Simile aLike Simile aLIKE Consente di specificare che i dati dell'evento di traccia devono essere simili al testo specificato.Specifies that the trace event data must be like the text entered. Supporta più valori.Allows multiple values.
Non simile aNot like Non simile aNOT LIKE Specifica che i dati dell'evento di traccia devono essere diversi dal testo specificato.Specifies that the trace event data must not be like the text entered. Supporta più valori.Allows multiple values.
Uguale aEquals = Specifica che i dati dell'evento di traccia devono essere uguali al valore specificato.Specifies that the trace event data must equal the value entered. Supporta più valori.Allows multiple values.
Diverso daNot equal to <> Specifica che i dati dell'evento di traccia devono essere diversi dal valore specificato.Specifies that the trace event data must not equal the value entered. Supporta più valori.Allows multiple values.
Maggiore diGreater than > Specifica che i dati dell'evento di traccia devono essere maggiori del valore specificato.Specifies that the trace event data must be greater than the value entered.
Maggiore o uguale aGreater than or equal to >= Specifica che i dati dell'evento di traccia devono essere maggiori o uguali al valore specificato.Specifies that the trace event data must be greater than or equal to the value entered.
Minore diLess than < Specifica che i dati dell'evento di traccia devono essere minori del valore specificato.Specifies that the trace event data must be less than the value entered.
Minore o uguale aLess than or equal to <= Specifica che i dati dell'evento di traccia devono essere minori o uguali al valore specificato.Specifies that the trace event data must be less than or equal to the value entered.

Nella tabella seguente sono elencate le colonne di dati a cui è possibile applicare un filtro e gli operatori relazionali disponibili.The following table lists the filterable data columns and the available relational operators.

Colonne di datiData columns Operatori relazionaliRelational operators
ApplicationNameApplicationName LIKE, NOT LIKELIKE, NOT LIKE
BigintData1BigintData1 =, <>, >=, <==, <>, >=, <=
BigintData2BigintData2 =, <>, >=, <==, <>, >=, <=
BinaryDataBinaryData Utilizzare SQL Server ProfilerSQL Server Profiler per filtrare gli eventi in questa colonna di dati.Use SQL Server ProfilerSQL Server Profiler to filter events in this data column. Per altre informazioni, vedere Filtrare le tracce tramite SQL Server Profiler.For more information, see Filter Traces with SQL Server Profiler.
ClientProcessIDClientProcessID =, <>, >=, <==, <>, >=, <=
ColumnPermissionsColumnPermissions =, <>, >=, <==, <>, >=, <=
CPUCPU =, <>, >=, <==, <>, >=, <=
DatabaseIDDatabaseID =, <>, >=, <==, <>, >=, <=
DatabaseNameDatabaseName LIKE, NOT LIKELIKE, NOT LIKE
DBUserNameDBUserName LIKE, NOT LIKELIKE, NOT LIKE
DurataDuration =, <>, >=, <==, <>, >=, <=
EndTimeEndTime >=, <=>=, <=
ErroreError =, <>, >=, <==, <>, >=, <=
EventSubClassEventSubClass =, <>, >=, <==, <>, >=, <=
FileNameFileName LIKE, NOT LIKELIKE, NOT LIKE
GUIDGUID Utilizzare SQL Server ProfilerSQL Server Profiler per filtrare gli eventi in questa colonna di dati.Use SQL Server ProfilerSQL Server Profiler to filter events in this data column. Per altre informazioni, vedere Filtrare le tracce tramite SQL Server Profiler.For more information, see Filter Traces with SQL Server Profiler.
HandleHandle =, <>, >=, <==, <>, >=, <=
HostNameHostName LIKE, NOT LIKELIKE, NOT LIKE
IndexIDIndexID =, <>, >=, <==, <>, >=, <=
IntegerDataIntegerData =, <>, >=, <==, <>, >=, <=
IntegerData2IntegerData2 =, <>, >=, <==, <>, >=, <=
IsSystemIsSystem =, <>, >=, <==, <>, >=, <=
LineNumberLineNumber =, <>, >=, <==, <>, >=, <=
LinkedServerNameLinkedServerName LIKE, NOT LIKELIKE, NOT LIKE
LoginNameLoginName LIKE, NOT LIKELIKE, NOT LIKE
LoginSidLoginSid Utilizzare SQL Server ProfilerSQL Server Profiler per filtrare gli eventi in questa colonna di dati.Use SQL Server ProfilerSQL Server Profiler to filter events in this data column. Per altre informazioni, vedere Filtrare le tracce tramite SQL Server Profiler.For more information, see Filter Traces with SQL Server Profiler.
MethodNameMethodName LIKE, NOT LIKELIKE, NOT LIKE
ModeMode =, <>, >=, <==, <>, >=, <=
NestLevelNestLevel =, <>, >=, <==, <>, >=, <=
NTDomainNameNTDomainName LIKE, NOT LIKELIKE, NOT LIKE
NTUserNameNTUserName LIKE, NOT LIKELIKE, NOT LIKE
ObjectIDObjectID =, <>, >=, <==, <>, >=, <=
ObjectID2ObjectID2 =, <>, >=, <==, <>, >=, <=
ObjectNameObjectName LIKE, NOT LIKELIKE, NOT LIKE
ObjectTypeObjectType =, <>, >=, <==, <>, >=, <=
OffsetOffset =, <>, >=, <==, <>, >=, <=
OwnerIDOwnerID =, <>, >=, <==, <>, >=, <=
OwnerNameOwnerName LIKE, NOT LIKELIKE, NOT LIKE
ParentNameParentName LIKE, NOT LIKELIKE, NOT LIKE
AutorizzazioniPermissions =, <>, >=, <==, <>, >=, <=
ProviderNameProviderName LIKE, NOT LIKELIKE, NOT LIKE
ReadsReads =, <>, >=, <==, <>, >=, <=
RequestIDRequestID =, <>, >=, <==, <>, >=, <=
RoleNameRoleName LIKE, NOT LIKELIKE, NOT LIKE
RowCountsRowCounts =, <>, >=, <==, <>, >=, <=
SessionLoginNameSessionLoginName LIKE, NOT LIKELIKE, NOT LIKE
SeveritySeverity =, <>, >=, <==, <>, >=, <=
SourceDatabaseIDSourceDatabaseID =, <>, >=, <==, <>, >=, <=
SPIDSPID =, <>, >=, <==, <>, >=, <=
SqlHandleSqlHandle Utilizzare SQL Server ProfilerSQL Server Profiler per filtrare gli eventi in questa colonna di dati.Use SQL Server ProfilerSQL Server Profiler to filter events in this data column. Per altre informazioni, vedere Filtrare le tracce tramite SQL Server Profiler.For more information, see Filter Traces with SQL Server Profiler.
StartTimeStartTime >=, <=>=, <=
StateState =, <>, >=, <==, <>, >=, <=
Esito positivoSuccess =, <>, >=, <==, <>, >=, <=
TargetLoginNameTargetLoginName LIKE, NOT LIKELIKE, NOT LIKE
TargetLoginSidTargetLoginSid Utilizzare SQL Server ProfilerSQL Server Profiler per filtrare gli eventi in questa colonna di dati.Use SQL Server ProfilerSQL Server Profiler to filter events in this data column. Per altre informazioni, vedere Filtrare le tracce tramite SQL Server Profiler.For more information, see Filter Traces with SQL Server Profiler.
TargetUserNameTargetUserName LIKE, NOT LIKELIKE, NOT LIKE
TextData TextData* * LIKE, NOT LIKELIKE, NOT LIKE
TransactionIDTransactionID =, <>, >=, <==, <>, >=, <=
TipoType =, <>, >=, <==, <>, >=, <=
WritesWrites =, <>, >=, <==, <>, >=, <=
XactSequenceXactSequence =, <>, >=, <==, <>, >=, <=

* Se si tracciano eventi dall'utilità osql o dall'utilità sqlcmd , aggiungere sempre % ai filtri nella colonna di dati TextData .* If tracing events from the osql utility or the sqlcmd utility, always append % to filters on the TextData data column.

A titolo di sicurezza, Traccia SQL omette automaticamente dalla traccia le informazioni sulle stored procedure correlate alla sicurezza che coinvolgono le password.As a security precaution, SQL Trace automatically omits from the trace any information from security-related stored procedures that affect passwords. Tale meccanismo di sicurezza non è configurabile ed è sempre attivo.This security mechanism is nonconfigurable and is always in effect. In tale modo viene impedito che le password possano essere acquisite dagli utenti, i quali sono autorizzati a tenere traccia di tutte le attività in SQL ServerSQL Server.It prevents users, who otherwise have permissions to trace all activity on SQL ServerSQL Server, from capturing passwords.

Le stored procedure seguenti correlate alla sicurezza vengono monitorate, ma nella colonna di dati TextData non viene scritto alcun output:The following security-related stored procedures are monitored, but no output is written to the TextData data column:

sp_addapprole (Transact-SQL)sp_addapprole (Transact-SQL)

sp_adddistpublisher (Transact-SQL)sp_adddistpublisher (Transact-SQL)

sp_adddistributiondb (Transact-SQL)sp_adddistributiondb (Transact-SQL)

sp_adddistributor (Transact-SQL)sp_adddistributor (Transact-SQL)

sp_addlinkedserver (Transact-SQL)sp_addlinkedserver (Transact-SQL)

sp_addlinkedsrvlogin (Transact-SQL)sp_addlinkedsrvlogin (Transact-SQL)

sp_addlogin (Transact-SQL)sp_addlogin (Transact-SQL)

sp_addmergepullsubscription_agent (Transact-SQL)sp_addmergepullsubscription_agent (Transact-SQL)

sp_addpullsubscription_agent (Transact-SQL)sp_addpullsubscription_agent (Transact-SQL)

sp_addremotelogin (Transact-SQL)sp_addremotelogin (Transact-SQL)

sp_addsubscriber (Transact-SQL)sp_addsubscriber (Transact-SQL)

sp_approlepassword (Transact-SQL)sp_approlepassword (Transact-SQL)

sp_changedistpublisher (Transact-SQL)sp_changedistpublisher (Transact-SQL)

sp_changesubscriber (Transact-SQL)sp_changesubscriber (Transact-SQL)

sp_dsninfo (Transact-SQL)sp_dsninfo (Transact-SQL)

sp_helpsubscription_properties (Transact-SQL)sp_helpsubscription_properties (Transact-SQL)

sp_link_publication (Transact-SQL)sp_link_publication (Transact-SQL)

sp_password (Transact-SQL)sp_password (Transact-SQL)

sp_setapprole (Transact-SQL)sp_setapprole (Transact-SQL)