답변:
SQL Profiler를 사용하여 프로덕션 데이터를 추적하고 가장 큰 읽기 및 쓰기가있는 코드 / 배치를 수집합니다. 읽기 / 쓰기가 많은 프로 시저 및 배치 만 가져 오도록 추적을 필터링하십시오. 당신의 눈에 맞는 샘플을 선택하십시오 : 백만 개 이상의 읽기 또는 쓰기를 가정 해 봅시다.
개발자 / 테스트 시스템에 대한 호출 샘플을 가져 와서 '클라이언트 통계 포함'옵션 (조회-클라이언트 통계 포함) 옵션이 활성화 된 Management Studio에서 실행합니다. 그러면 클라이언트 통계 정보가있는 별도의 창이 나타납니다. 클라이언트에서 보낸 바이트, 서버에서받은 바이트.
데이터를 필터링하지 않고 프로덕션 DB에서 트레이싱을 활성화하지 마십시오 !!! 가능한 가장 많이 (db, 호스트 이름, 생각한대로) 필터링 한 다음 추적 만 시작하십시오. :-) 다음에 프로파일 러를 닫는 것을 잊지 마십시오.
추신 : 또 다른 좋은 옵션을 기억했습니다. 기간 동안 추적을 따라 Perfmon을 사용하여 데이터를 저장해야합니다 (IO 매개 변수 만 선택). 프로파일 러에는 추적 파일과 perfmon 데이터 파일을 함께 가져 오는 멋진 기능이 있습니다. IO 스파이크가 가장 클 때 볼 수 있습니다.
PS2 : Gaius의 옵션이 더 우아하다는 데 동의합니다. 그러나 나는 후손에 대한 부피가 큰 대답을 남깁니다! :-)
아직 보지 않았다면 Adam Machanic의 sp_WhoIsActive를 확인하십시오. 그는 최근 sp_WhoIsActive에 내장 된 다양한 기능을 설명하는 일련의 블로그 게시물을 작성했습니다. 그 중 하나는 @delta_interval입니다.
이것은 전체 CPU 또는 I / O를 가장 많이 차지하는 것을 보여줄뿐만 아니라 지금 가장 많은 CPU 또는 I / O를 차지하는 것을 보여줄 수 있습니다.
이 기능에 대한 자세한 설명은 다음 블로그 시리즈를 확인하십시오.
http://whoisactive.com/docs/01_background/
다음 블로그 게시물에서는 sp_WhoIsActive의 출력을 정렬하고 표시 할 열을 선택하는 방법에 대해 설명합니다.
http://whoisactive.com/docs/24_output/
이것은 그가 설정 한 다음 업데이트 링크에서 사용할 수있는 많은 게시물 중 하나입니다.
이 답변 시점에 버전 11.0을 사용할 수 있으므로 이전 버전을 사용하는 경우 업그레이드해야 할 시간이 있습니다 .D