SQL Server 프로파일 러 추적을 특정 데이터베이스로 제한하려면 어떻게합니까? 연결하는 인스턴스의 모든 데이터베이스에 대한 이벤트를 보지 않기 위해 추적을 필터링하는 방법을 볼 수 없습니다.
SQL Server 프로파일 러 추적을 특정 데이터베이스로 제한하려면 어떻게합니까? 연결하는 인스턴스의 모든 데이터베이스에 대한 이벤트를 보지 않기 위해 추적을 필터링하는 방법을 볼 수 없습니다.
답변:
추적 특성> 이벤트 선택 사항 탭에서 모든 열 표시를 선택하십시오. 이제 열 필터 아래에 데이터베이스 이름이 표시됩니다. Like 섹션의 데이터베이스 이름을 입력하면 해당 데이터베이스에 대한 추적 만 표시됩니다.
before
추적을 시작해야합니다. 그 후에 수행하면 필드를 편집 할 수 없습니다!
SQL 2005에서는 먼저 데이터베이스 이름 열을 추적에 표시해야합니다. 가장 쉬운 방법은 해당 열이 이미 추가 된 튜닝 템플릿을 선택하는 것입니다.
튜닝 템플릿을 선택한 것으로 가정하면 다음을 필터링합니다.
추적을 테이블에 항상 저장하므로 사실 이후 추적 데이터에 대해 LIKE 쿼리를 수행 할 수 있습니다.
실험을 통해 나는 이것을 관찰 할 수있었습니다.
SQL Server 2000에있는 데이터베이스와 함께 SQL Profiler 2005 또는 SQL Profiler 2000을 사용하면 언급 된 문제가 지속되지만 SQL Profiler 2005를 SQLServer 2005 데이터베이스와 함께 사용하면 완벽하게 작동합니다!
요약하면이 문제는 SQLServer 2000에서 널리 퍼져 있고 SQLServer 2005에서 수정 된 것으로 보입니다.
SQLServer 2000을 다룰 때 발생하는 문제에 대한 해결책은 다음과 같습니다 (wearejimbo에서 설명)
다음과 같이 sysdatabases 테이블을 쿼리하여 필터링하려는 데이터베이스의 DatabaseID를 식별하십시오.
SELECT *
FROM master..sysdatabases
WHERE name like '%your_db_name%' -- Remove this line to see all databases
ORDER BY dbid
SQL Profiler 2000의 새 추적 창에서 DatabaseName 대신 DatabaseID 필터를 사용하십시오.
추적 특성에서 일반 옆의 맨 위에 있는 이벤트 선택 사항 탭을 클릭하십시오 . 그런 다음 오른쪽 하단에서 열 필터 ... 를 . 그런 다음 TextData
또는 과 같이 필터링 대상을 선택할 수 있습니다 DatabaseName
.
확장 처럼의 노드를 백분율로 필터를 입력%
등의 징후 %MyDatabaseName%
나 %TextDataToFilter%
. 표시가 없으면 %%
필터가 작동하지 않습니다.
또한 값이 포함되지 않은 행 제외 확인란을 선택 DatabaseName
하십시오. 일반 탭 으로 이동 하여 템플릿을 변경 하는 등의 필드를 찾을 수없는 경우 빈 필드에는 모든 필드가 포함되어야합니다.
새 템플릿을 만들고 DB 이름을 확인하십시오. 추적 파일에 해당 템플리트를 사용하십시오.