SQL Server Profiler- 하나의 데이터베이스에서 이벤트 만 표시하도록 추적을 필터링하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/272730

문제

SQL Server Profiler 추적을 특정 데이터베이스로 제한하려면 어떻게해야합니까? 연결된 인스턴스의 모든 데이터베이스에 대한 이벤트를 볼 수 있도록 추적을 필터링하는 방법을 알 수 없습니다.

도움이 되었습니까?

해결책

추적 속성 아래> 이벤트 선택 탭> 모든 열 표시를 선택합니다. 이제 열 필터 아래에는 데이터베이스 이름이 표시됩니다. 같은 섹션의 데이터베이스 이름을 입력하면 해당 데이터베이스에 대해서만 추적이 표시됩니다.

다른 팁

SQL 2005에서는 먼저 추적에 데이터베이스 이름 열을 표시해야합니다. 가장 쉬운 일은 튜닝 템플릿을 선택하는 것입니다.이 튜닝 템플릿은 이미 열이 추가되었습니다.

튜닝 템플릿을 선택했다고 가정하고 필터링합니다.

  • "이벤트 선택"탭을 클릭하십시오
  • "열 필터"버튼을 클릭하십시오
  • 모든 열 표시 확인 (오른쪽 아래)
  • "DatabaseName"을 선택하고 오른쪽 창에서 옆에있는 플러스를 클릭하고 데이터베이스 이름을 입력하십시오.

나는 항상 추적을 테이블에 저장하므로 사실 후 추적 데이터의 쿼리를 좋아할 수 있습니다.

실험으로 나는 이것을 관찰 할 수 있었다 :

SQL Profiler 2005 또는 SQL Profiler 2000이 SQLServer 2000에있는 데이터베이스와 함께 사용될 때 - 문제가 언급 된 문제는 지속되지만 SQL Profiler 2005가 SQLServer 2005 데이터베이스와 함께 사용하면 완벽하게 작동합니다!

요약하면,이 문제는 SQLServer 2000에서 널리 퍼져 있고 SQLSERVER 2005에서 정류 된 것으로 보인다.

SQLServer 2000을 다룰 때의 문제에 대한 해결책은 (Wearejimbo에 의해 설명 된 바와 같이)

  1. sysdatabases 테이블을 아래와 같이 쿼리하여 필터링하려는 데이터베이스의 데이터베이스를 식별하십시오.

    SELECT * 
    FROM master..sysdatabases 
    WHERE name like '%your_db_name%'   -- Remove this line to see all databases
    ORDER BY dbid
    
  2. SQL Profiler 2000의 새로운 트레이스 창에서 데이터베이스 필터 (데이터 발명 대신)를 사용하십시오.

추적 속성에서 클릭하십시오 이벤트 선택 옆 상단에 탭 일반적인. 그런 다음 클릭하십시오 열 필터 ... 오른쪽 하단에. 그런 다음 필터를 선택할 수 있습니다. TextData 또는 DatabaseName.

확장 처럼 노드 및 백분율로 필터를 입력하십시오 % 같은 표지판 %MyDatabaseName% 또는 %TextDataToFilter%. 없이 %% 필터가 작동하지 않습니다.

또한 확인란을 확인하십시오 값을 포함하지 않는 행 제외 ' 필터를 찾을 수없는 경우 필터를 찾으려고합니다. DatabaseName 가십시오 일반적인 탭과 변경 주형, 빈 공간에는 모든 필드가 포함되어야합니다.

새 템플릿을 만들고 dbname을 확인하십시오. 트레이스 파일에 해당 템플릿을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top