2008-11-07 6 views

risposta

464

In Proprietà di traccia> scheda Selezione eventi> selezionare Mostra tutte le colonne. Ora sotto i filtri delle colonne, dovresti vedere il nome del database. Inserisci il nome del database per la sezione Mi piace e dovresti vedere le tracce solo per quel database.

+5

Non so se questo è un problema comune, ma quando eseguo il profiler il nome del database è vuoto per molti dei valori che ho tracciato. Devo usare la colonna DatabaseID e scoprire i valori corretti da inserire interrogando la tabella sysdatabases nel database master –

+27

Per trovare il DatabaseID: SELECT [nome], [dbid] FROM [master]. [Dbo]. [Sysdatabases] ORDINA DA [nome] – Simon

+1

Dipende anche dal modello selezionato, se presente. +1 – beaudetious

30

In SQL 2005, è necessario prima visualizzare la colonna Nome database nella traccia. La cosa più semplice da fare è selezionare il modello di ottimizzazione, che ha già aggiunto quella colonna.

Supponendo di avere il modello di sintonia selezionato, per filtrare:

  • Fare clic sulla scheda "Selezione eventi"
  • Clicca "Filtri di colonna" tasto
  • Controllare mostra tutte le colonne (destro Side Down)
  • Selezionare "DatabaseName", fare clic sul segno più accanto a Mi piace nel riquadro a destra e digitare il nome del database.

Ho sempre salvato la traccia su una tabella in modo da poter eseguire query LIKE sui dati di traccia dopo il fatto.

8

dall'esperimento sono stato in grado di osservare questo:

Quando SQL Profiler 2005 o SQL Profiler 2000 viene utilizzato con il database residente in SQLServer 2000 - problema problema menzionato persiste, ma quando SQL Profiler 2005 viene utilizzato con SQL Server 2005 database , funziona perfettamente!

In sintesi, il problema sembra essere prevalente in SQLServer 2000 & rettificato in SQLServer 2005.

La soluzione per il problema quando si tratta di SQLServer 2000 (come spiegato da wearejimbo)

  1. identificare il DatabaseID del database che si desidera filtrare interrogando la tabella sysdatabases come di seguito

    SELECT * 
    FROM master..sysdatabases 
    WHERE name like '%your_db_name%' -- Remove this line to see all databases 
    ORDER BY dbid 
    
  2. Utilizzare il Filtro DatabaseID (anziché DatabaseName) nella finestra New Trace di SQL Profiler 2000

1

Creare un nuovo modello e controllare DBname. Usa quel modello per il tuo tracefile.

2

Nelle proprietà Trace, fare clic sulla scheda Selezione eventi in alto accanto al generale. Quindi fai clic su Filtri colonne ... in basso a destra. È quindi possibile selezionare cosa filtrare, ad esempio TextData o DatabaseName.

Espandere l'Come nodo e inserire il filtro con le percentuali % segni come %MyDatabaseName% o %TextDataToFilter%. Senza i segni %% il filtro non funzionerà.

Inoltre, assicurati di controllare la casella di controllo escludere le righe che non contengono valori Se non è possibile trovare il campo si sta cercando di filtrare come DatabaseName passare alla scheda Generale e cambiare la tua Template, uno vuoto dovrebbe contenere tutti i campi.