2009-11-24 4 views
1

나는 이것이 불가능하다고 생각하지만 확실하게하고 싶었습니다.SQL Server 잠긴 테이블

언제 테이블이 잠겨 있는지, 얼마나 오래 있는지 알 수있는 방법이 있습니까? 테이블이 현재 잠겼는지 확인할 수 있지만 잠금의 "내역"을보고 싶습니다.

+0

관련 항목 ** ** ** dupe : http://stackoverflow.com/questions/296906/log-table-access-using-sql-server-profiler –

답변

4

A "무료"대안의 MS-SQL Server 프로파일 러입니다 ... 영원히 등이 있습니다 SQL Server Management Studio의 도구 메뉴). 이 도구를 사용하면 모니터링 및/또는 기록하려는 이벤트 유형을 지정하여 "추적"을 정의 할 수 있습니다. [SQL2008에, 어쩌면 구 버전에서도] 잠금 문제에 대한 기본 템플릿이 있습니다 : TSQL_Locks.

프로파일 러의 로그 분석에는 약간의 작업/파악이 필요할 수 있습니다. 특정 조건 집합을 기반으로 이벤트를 필터링 할 수 있습니다 (소스에서 필터링하는 것, 즉 로그에서 제외하는 것).하지만 RedGate와 같은 타사 제품은 더 쉽게 사용할 수 있습니다. -use, 더 나은 통합 기능 등

편집 :이 솔루션은 위의 제안
(Metju의 발언 다음), 하나는 미리의 프로파일 러 도구 에 잠금 관련 이벤트 녹화를 시작 것이라는 점을 의미한다. "post facto"에 대한 전체 기록 정보에 대한 액세스를 제공하는 MS-SQL 2005에는 공개적으로 문서화 된 것이 없습니다. 그러나 필요에 따라 충분한 통찰력 은 때때로 SQL Activity Monitor (Management Studio의 왼쪽에있는 데이터베이스 등 트리의 '관리'에서 가져옴)에서 수집 할 수 있습니다. 특히 "개체 별 잠금" 전망. 암시 적으로 사용할 수있는이 정보 (설정이 필요 없음)는 종종 데드 록 및 유사한 문제의 출처를 식별하기에 충분할 수 있습니다.

+0

그래서 유일한 방법은 내 자신의 감사를 생성하는 것입니다. 지금부터 기록을 남기면 2005 년에는 감사가 이루어지지 않았습니까? 무언가가 생겨서 무슨 일이 있었는지 알고 싶을 필요가 있기 때문에 실제로 이것을 필요로합니다. 고마워요 –

+2

잠금 작업을 추적 할 때 많은 "히트"를 얻을 수 있습니다. –

+0

필립 (Phillip), 필자는 필터링 및 제한된 집계 기능에 대한 작은 단락을 추가 할 때 같은 줄을 생각하고있었습니다. – mjv

2

레드 게이트에서이 도구를 확인하십시오. 나는 이런 종류의 일에 대해 엄청 많이 사용합니다. 또한 장기간 실행되는 쿼리 및 기타 유용한 정보를 확인할 수 있습니다. 마지막 시간 필터는 마지막 날은을 참조하십시오 (다른 응답에 언급 된 레드 게이트 도구

RedGate SQL Response

1

모니터링 도구 (사용자 프로필, 타사 롤 또는 SQL 프로필러의 출력 처리)를 실행하지 않고는 없습니다.

관련 문제