SQL Server 2000 및 SQL Server 2005는 master.dbo.sysprocesses 테이블의 waittype 및 lastwaittype 열에 대 한

요약

Microsoft SQL Server 2000 및 SQL Server 2005는 master.dbo.sysprocesses 테이블은 활성 서버 프로세스 Id (Spid) SQL Server 실행 하는 방법에 대 한 정보가 들어 있는 시스템 테이블입니다.

SQL Server 2005를 사용 하는 경우 호환성 보기 옵션 을 사용 하 여 또한이 테이블을 액세스할 수 있습니다.

유형 열, lastwaittype 열, waittime 열 및 대기master.dbo.sysprocesses 시스템 테이블에서 리소스를 기다리는 프로세스에 대 한 정보를 제공 합니다.

이 문서는 가능한 lastwaittype 값, 관련된 waittype 값 및 그 의미에 대 한 간단한 설명을 보여 줍니다.

자세한 내용

SQL Server 인스턴스의 master 데이터베이스에 저장 된 시스템 master.dbo.sysprocesses 테이블 시스템 관리자에 게 리소스 경합 시나리오 및 블로킹 문제에 대 한 프로세스를 모니터링 하는 데 도움이 되는 다음과 같은 열을 들어 있습니다.
  • 유형: 유형 필드는 예약 된 내부 이진 열입니다. 유형 필드의 값에 연결 대기 중인 리소스의 형식을 나타냅니다.
  • lastwaittype: lastwaittype 필드의 문자열 표현 되는
    waittype 필드입니다. Lastwaittype 필드는 SPID의 현재 유형 또는 마지막 waittype을 나타냅니다. 한 SPID에 대 한 유형 열의 값 0x0000 이면 SPID 현재 기다리거나 리소스입니다. 이 경우 lastwaittype 열 SPID에서 발생 하는 마지막 waittype을 나타냅니다. 그러나 한 SPID에 대 한 유형 열의 값이 0이 아닌, lastwaittype 열에 있는 값과
    waittype SPID 열이 같습니다. 이러한 값은 SPID에 대 한 현재 대기 상태를 나타냅니다.

    참고: UMSTHREAD 유형에는이 규칙에 예외입니다. UMSTHREAD 대 한 자세한 내용은 "다른 waittype" 단원의 설명을 참조 하십시오.
  • waittime: waittime 열와 현재 waittype SPID 기다린 시간 (밀리초) 수를 제공 합니다.
  • 대기: 대기 열 자세한 SPID가 기다리고 있는 특정 리소스에 대 한 정보를 제공 합니다.
이 문서의 뒷부분에 나오는 섹션 master.dbo.sysprocesses 시스템 테이블에 기록 자주 하 고 SQL Server 지 원하는 waittype 중 일부를 설명 합니다.

Waittype 잠금

다음 표에서 SQL Server 2000 및 SQL Server 2005 시스템 master.dbo.sysprocesses 테이블 잠금 waittype.
Lastwaittype유형설명
LCK_M_SCH_S0x01스키마 안정성
LCK_M_SCH_M0x02스키마 수정
LCK_M_S0x03공유
LCK_M_U0x04업데이트
LCK_M_X0x05단독
LCK_M_IS0x06의도-공유
LCK_M_IU0x07의도-업데이트
LCK_M_IX0x08의도 배타
LCK_M_SIU0x09공유 의도 업데이트
LCK_M_SIX0x0a공유-의도-배타
LCK_M_UIX0x0b업데이트-의도-배타
LCK_M_BU0x0c대량 업데이트
LCK_M_RS_S0x0d범위-공유-공유
LCK_M_RS_U0x0e범위-공유 업데이트
LCK_M_RI_NL0x0F범위 삽입-NULL
LCK_M_RI_S0x10범위 삽입 공유
LCK_M_RI_U0x11범위 삽입-업데이트
LCK_M_RI_X0x12범위-삽입-배타
LCK_M_RX_S0x13범위 단독 공유
LCK_M_RX_U0x14범위 단독 업데이트
LCK_M_RX_X0x15범위-단독 단독
SQL Server 2000 및 SQL Server 2005에서 지원 되는 잠금 유형에 대 한 자세한 내용은 SQL Server 온라인 설명서의 다음 항목을 참조 하십시오.
  • SQL Server 잠금 이해
  • 잠금 호환성
또한 잠금 waittype는 SPID가 기다리고 master.dbo.sysprocesses 시스템 테이블에 기록 된 waittime 열에 해당 값이 매우 높은 경우에 SQL Server 인스턴스에 대 한 블로킹 문제를 해결 해야 있습니다.

자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.

224453 이해 및 SQL Server 7.0 또는 2000 블로킹 문제를 해결 합니다.

Waittype 래치

래치를 단기 간단한 동기화 개체입니다. 다음 목록은 다양 한 유형의 래치.
  • 비 (비-BUF) 버퍼 래치: 비 버퍼 래치 메모리 내 데이터 구조 동기화 서비스를 제공할 또는 동시성 민감한 코드 줄에 대 한 재진입 보호 기능을 제공 합니다. 이러한 래치 다양 한 작업을 사용할 수 있지만 버퍼 페이지에 대 한 액세스를 동기화 하는 데 사용 되지 않습니다.
  • (BUF) 버퍼 래치: 버퍼 래치 BUF 구조와 관련 된 데이터베이스 페이지에 대 한 액세스를 동기화 하는 데 사용 됩니다. 직렬화 버퍼 페이지에 필요한 작업을 하는 동안 발생 하는 일반적인 버퍼 래치 (페이지 분할 하는 동안 또는 예를 들어 새 페이지 할당 동안). 이러한 래치는 트랜잭션 기간 동안 유지 되지 않습니다. 여기에 표시 된
    에 의해 PAGELATCH waittype master.dbo.sysprocesses 테이블입니다.

    BUF 래치 경합 가능한 원인 중 하나에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.

    328551 수정: tempdb 데이터베이스에 대 한 동시성 향상

  • IO 래치: IO는 래치가 버퍼와 연결 된 데이터 페이지 또는 인덱스 페이지 IO 작업 중간에 있을 때 사용 되는 BUF 래치의 하위 집합입니다. 이 waittype에 대 한 상당한 waittime 제안 디스크 I/O 하위 시스템 문제 그리고 PAGEIOLATCH waittype 디스크-메모리 내 전송을 위한 사용 됩니다.
다음 표에서 SQL Server 2000 및 SQL Server 2005 시스템 master.dbo.sysprocesses 테이블에 나타날 수 있는 다른 래치 waittype을 나열 합니다.
Lastwaittype유형설명
LATCH_NL0x400Null 래치
LATCH_KP0x401래치 유지
LATCH_SH0x402공유 래치
LATCH_UP0x403업데이트 래치
LATCH_EX0x404배타 래치
LATCH_DT0x405래치 파괴 하 라.
PAGELATCH_NL0x410Null 버퍼 페이지 래치
PAGELATCH_KP0x411버퍼 페이지 래치 유지
PAGELATCH_SH0x412공유 버퍼가 페이지 래치
PAGELATCH_UP0x413업데이트 버퍼 페이지 래치
PAGELATCH_EX0x414단독 버퍼 페이지 래치
PAGELATCH_DT0x415버퍼 페이지 래치 파괴 하 라.
PAGEIOLATCH_NL0x420Null 버퍼 I/O 페이지 래치
PAGEIOLATCH_KP0x421버퍼 페이지 I/O 래치 유지
PAGEIOLATCH_SH0x422공유 버퍼가 페이지 I/O 래치
PAGEIOLATCH_UP0x423업데이트 버퍼 페이지 I/O 래치
PAGEIOLATCH_EX0x424단독 버퍼 I/O 페이지 래치
PAGEIOLATCH_DT0x425버퍼 페이지 I/O 래치 파괴 하 라.


SQL Server 2000 s p 4는 Latch_XX 가장 일반적인 비-Buf 래치 대기 열에서 래치 시작 다음 표의 값을 사용 하 여 채워집니다. 이전 SQL Server 2000 s p 4는 userdump 등 더 많은 침해 진단 하지 않고 비-buf 래치 행해지는 되는 이유를 확인할 수 없습니다 했습니다. 유형 또는 해당 대기 waittime은을 사용 하 여 봐야 합니다. 해당 waittime 스레드가 기다린 시간 밀리초 단위로 지정 합니다.
대기설명문제 해결
FCB FGCB_ALLOC이러한 Latch_XX 래치 단일 또는 혼합 익스텐트는 페이지 파일에서 할당 때 유지 됩니다. 래치는 성장 하 고 파일 축소, 이름 바꾸기 또는 파일을 삭제 또는 추가 또는 삭제 파일 등의 할당 작업을 하는 동안에 보관 됩니다.모든 파일이 축소 또는 증가 하 고 있는지 확인 합니다. SQL Server 2000 s p 4 부터는 자동 증가 옵션 기록 됩니다 오류 로그에서 30 초 이상 걸리는 경우. 이상적으로 자동 증가 옵션을 백업으로 사용 해야 하 고 파일 크기를 증가 하는 중 런타임 저하를 방지 하기 위해 계획 신중한 용량 사용 해야 합니다. 또한 고정된 크기에 10% 기본 자동 증가 값을 변경할 수 있습니다. 프로덕션 환경에는 자동 축소를 사용 하는 것은 좋지 않습니다. 이 파일 그룹의 파일을 할당에 대 한 많은 요청이 발급도 있습니다. 해당 파일 그룹의 파일을 더 추가할 수 있습니다.
TRACE_CONTROLLER TRACE_IO_SYNC를 추적 합니다.
이러한 Latch_XX 래치는 프로파일러 추적 작업에서 동기화 목적으로 보관 됩니다. 중지, 추적 상태, 설정 및 판독기 및 작성기 동기화 동기화 작업을 포함 합니다.실행 중인 모든 프로파일러 추적을 식별 합니다. 한 번에 둘 이상의 프로파일러 추적을 실행 하지 마십시오. 프로파일러 추적을 시작 하면 추적은 응용 프로그램 이벤트 로그에 기록 됩니다. 또한 활성 추적을 보려면 SQL 쿼리 분석기에서 다음 쿼리를 사용할 수 있습니다.
SELECT * FROM ::fn_trace_getinfo(NULL)
PARALLEL_PAGE_SUPPLIER이러한 Latch_XX 래치 병렬 쿼리 페이지 검색 동기화 하는 데 사용 됩니다. 이 래치 쿼리 동시에 실행 되 고 일반적인 될 수 있음을 나타냅니다.Waittime 열에 큰 값이 쿼리 성능이 좋지 않을 경우 쿼리를 조정 합니다.
IDEIDE 래치 대기 공간을 찾으려고 검색 PFS 페이지 및 PFS 페이지 할당 및 페이지의 할당 취소를 반영 하도록 업데이트 될 때 사용 됩니다. 이 래치 단일 페이지는 기존 개체에 할당 하는 경우에 사용 됩니다.해당 개체에서 클러스터 된 인덱스가 있는지 확인 합니다.

다른 waittype

다음 표에서 SQL Server 2000 및 SQL Server 2005 시스템 master.dbo.sysprocesses 테이블에 표시 될 수 있는 다른 waittype을 나열 합니다.
Lastwaittype유형설명
절전 모드0x20이 waittype SPID는 지정된 된 시간 동안 대기 하는 하 고 있는 lazywrites, 검사점, 또는 서버 쪽 프로파일러 추적 이벤트를 처리할 백그라운드 스레드에 대 한 일반적인 상태를 나타냅니다.
IO_COMPLETION0x21이 waittype SPID 완료에 대 한 I/O 요청을 기다리고 있음을 나타냅니다. Sysprocesses 시스템 테이블에 있는 SPID에 대 한이 waittype을 발견 되 면 디스크 병목 SPID에 해당 하는 쿼리 계획을 분석 하는 성능 모니터 카운터, 프로필러 추적, fn_virtualfilestats 시스템 테이블 반환 함수 및 SHOWPLAN 옵션을 사용 하 여 식별 해야 합니다. 이 waittype 추가 I/O 대역폭을 추가 하거나 다른 드라이브 들 간에 I/O를 분산 하 여 줄일 수 있습니다. 인덱스를 사용 하 여 입/출력을 감소 하 고 불량 쿼리 계획을 찾고 메모리 압력 찾습니다 수도.
ASYNC_IO_COMPLETION0x22이 waittype SPID 비동기 I/O 요청 완료를 기다리고 있음을 나타냅니다. IO_COMPLETION 유형 처럼이 waittype 또한 I/O 병목 상태를 나타냅니다. 백업, 데이터베이스 만들기, ALTER DATABASE 또는 데이터베이스 자동 증가 등과 같은 장기 실행 I/o 바인딩 작업을 하는 동안이 waittype Spid에 대 한 표시 됩니다. 이 waittype 디스크 병목 현상을 나타낼 수도 있습니다.
RESOURCE_SEMAPHORE0x40이 waittype 리소스는 SPID가 기다리고 있음을 나타냅니다. 여기에서 Spid는 일반적으로 정렬 또는 해시 작업이 쿼리 실행 중에 메모리를 확보 하려면 기다립니다. 이 waittype 메모리 나타낼 수도 버퍼 풀에 보이는 부분에서 압력 존재 합니다.
DTC0x41이 waittype Microsoft 분산 트랜잭션 코디네이터 (MSDTC) 서비스는 SPID가 기다리고 있음을 나타냅니다.
OLEDB0x42이 waittype SPID는 OLE DB 공급자를 호출 하는 함수를 만든가 필요한 데이터를 반환 하는 함수를 기다리고 있음을 나타냅니다. 이 waittype 원격 프로시저 호출 또는 연결 된 서버 쿼리에 필요한 데이터를 반환 하는 것에 대 한 해당 SPID가 기다리고 있음을 나타낼 수도 있습니다. BULK INSERT 명령 또는 전체 검색 쿼리에 필요한 데이터를 반환 SPID 또한 기다리고 합니다.

OLEDB 유형 몇 가지 다른 대기 상태 등을 나타내는 데 사용 됩니다: 서버 쿼리, 전체 텍스트 검색 쿼리, BULK INSERT 명령, 프로필러 추적 클라이언트, 가상 테이블 sysprocesses 테이블, 로그 판독기 및 DBCC CHECKDB의 구체화를 연결 합니다.
RESOURCE_QUEUE0x44SQL Server 백그라운드 스레드에 대 한 일반적인 "유휴" 상태입니다.
ASYNC_DISKPOOL_LOCK0x45이 waittype 만들기, 확장, 데이터베이스 파일 삭제 등의 장기 실행 I/o 바인딩 작업을 하는 동안 발생할 수 있습니다.
UMSTHREAD0x46이 waittype 일괄 클라이언트 응용 프로그램에서 받았는지 요청을 처리 하는 데 사용할 수 있는 작업자 스레드가 없는 나타냅니다. 여러 Spid에 waittype 0x0046 지속적으로 나타나면 경우 상당한 병목 현상을 다른 곳에서 모든 사용 가능한 작업자 스레드를 사용 하는 시스템 Waittime 열은 항상 UMSTHREAD 유형 0 하 고 lastwaittype 열 잘못 나타날 수 있습니다 UMSTHREAD 대신 다른 유형 이름을 note 합니다. "
WRITELOG0x81이 waittype SPID는 트랜잭션 로그 I/O 요청을 완료 하려면 기다리고 있음을 나타냅니다. 이 waittype는 디스크 병목 현상을 나타낼 수도 있습니다.
PSS_CHILD
교환
CXPACKET
0x101
0x200
0x208
이 waittype 병렬 쿼리 실행에 모두 관련 되어 있습니다. 이 waittype 병렬 프로세스를 시작 하거나 완료는 SPID가 기다리고 있음을 나타냅니다.
PAGESUPP0x209이 waittype에서 병렬 스캔 여러 호출자에 게 행을 배포에 필요한 직렬화 인해 발생 하는 대기 시간을 추적 합니다.
커서0x20C이 waittype SPID 비동기 커서를 사용 하는 동안 스레드 동기화에 참여를 나타냅니다. Sp_configure 'cursorthreshold' 구성 설정은 커서를 비동기적으로 만들어질 때 결정 됩니다.
DBTABLE0x202이 waittype 검사점을 수행 하는 스레드가 대기 하 고 다른 스레드는 데이터베이스 검사점 이미 있음을 나타냅니다.
EC0x203이 waittype SPID 실행 컨텍스트에 대 한 액세스를 기다리고 있음을 나타냅니다.
TEMPOBJ0x204이 waittype 여전히 사용 중인 임시 개체를 삭제 하는 SPID가 기다리고 있음을 나타냅니다.
XACTLOCKINFO0x205이 waittype SPID 유지 관리를 수행 하 여 잠금 목록에 대기 중인 나타냅니다.
LOGMGR0x206이 waittype SPID가 데이터베이스를 종료 하려고 할 때 사용 되 고 보류 중인 트랜잭션 로그 I/O 요청을 완료할 때까지 기다립니다.
CMEMTHREAD0x207이 waittype SPID 스레드로부터 안전한 메모리 개체에 대 한 기다리고 있음을 나타냅니다. Serialization 사용 하면 사용자 들은 할당 또는 메모리 메모리 개체를 동일한 작업을 수행 하려고 하는 다른 모든 Spid 기다려야, 해제 및 CMEMTHREAD waittype은 설정 하는 Spid가 기다리고 있습니다.

이 waittype 다양 한 시나리오에서 발생할 수 있습니다. 그러나이 waittype 가장 자주 기록 임시 쿼리 계획 빠르게 많은 다른 연결에서 SQL Server 인스턴스를 프로시저 캐시에 삽입 되 고. 명시적으로 쿼리를 다시 사용할 수 있도록 쿼리를 매개 변수화 또는 사용 하 여 저장 프로시저를 적절 한 위치와 같은 삽입 하거나 프로시저 캐시에서 제거 되어야 하는 데이터를 제한 하 여이 병목 상태를 해결할 수 있습니다.
시스템 종료0x20A이 waittype SPID를 종료 명령 발급 했습니다 되었습니다 나타냅니다 SPID는 활성 쿼리에 끝나기를 기다리고 있습니다.
WAITFOR0x20B이 waittype SPID WAITFOR 지연 Transact SQL 문으로 인해 휴면이 있음을 나타냅니다.
NETWORKIO0x800이 waittype SPID 클라이언트 응용 프로그램에 더 많은 결과 보낼 수 있습니다 전에 데이터를 반입 하는 클라이언트 응용 프로그램에 대 한 해당 SPID가 기다리고 있음을 나타냅니다.

참조

자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 다음 문서를 확인하십시오.

SQL Server 7.0의 sysprocesses waittype 및 lastwaittype 필드 244455 정의

에 대 한 자세한 내용은 해당
SQL Server 2000에서는 시스템 테이블을 master.dbo.sysprocesses 다음 Microsoft 웹 사이트를 방문.SQL Server 2000의 래치에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
속성

문서 ID: 822101 - 마지막 검토: 2017. 2. 7. - 수정: 1

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

피드백