IIS 6.0 SQL 2000 교착 상태 오류

IIS 6.0 SQL 2000 교착 상태 오류

나는 최근에 새로운 일을 시작했고 그들은 별도의 데이터베이스 서버와 통신하는 웹서버를 가지고 있습니다. 최근 다음과 같은 ASP 페이지를 실행할 때 교착 상태 오류가 발생했습니다.

오류: MSSQL 2kTransaction(프로세스 ID 103)이 다른 프로세스와의 잠금 리소스에서 교착 상태에 빠졌고 교착 상태 피해자로 선택되었습니다. 트랜잭션을 다시 실행하십시오.

위 오류는 ASP 페이지가 MSSQL 2k 데이터베이스에 액세스하려고 할 때 발생합니다.

서버 문제인 것 같아 처리해 달라는 요청을 받았습니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

일반적으로 교착 상태는 데이터베이스 설계 문제이거나 애플리케이션이 데이터베이스 리소스에 액세스하는 방식의 불일치로 인해 발생합니다. 인프라 대신 인프라를 변경하여 문제에 대한 해결책을 찾는 경우가 많습니다. 교착 상태는 기능 테스트 중에는 발견되지 않는 경우가 많지만 성능 및 확장성 테스트를 수행할 때는 발견되는 경향이 있습니다.

더 자세한 정보가 SQL 로그에 기록되도록 하는 추적을 사용하여 개발 팀에 도움을 줄 수 있습니다.

예: DBCC TRACEON(3605,1205,-1) - 로그 메시지 캡처가 완료되면 해당 기능을 꺼야 합니다(DBCC TRACEOFF)!

다음으로 SQL 설치에 대한 일반적인 사항을 확인합니다.

  • 그것이 있는지 확인하십시오SP4
  • 적절한 하드웨어 설정이 있습니다. 즉, raid 1 드라이브의 로그 파일, raid 5 드라이브의 데이터 파일, raid 1 드라이브의 tempdb, raid 5 드라이브의 백업 등 실제 서버에서는 이것을 최소라고 부릅니다.
  • 유지 관리 계획이 설정되어 있습니다(백업, 인덱스 재구축, 무결성 검사, 통계 업데이트). 저는 SQL 2000에 이를 위한 유지 관리 계획 마법사가 있다고 생각합니다.

마지막으로, SQL 2008 R2로의 마이그레이션 계획을 시작하세요. SQL 2000은 현재 주류 지원이 종료되고 2013년에 추가 지원이 종료됩니다.

답변2

당신은 이해해야합니다교착상태가 발생합니다. 다음 제품 설명서의 지침을 따르십시오.교착 상태 감지 및 종료그리고교착 상태 문제 해결.

교착 상태를 해결하는 방법은 교착 상태 정보 없이는 미리 말할 수 없습니다. 일반적으로 해결책은 데이터 모델을 변경(예: 누락된 인덱스 추가) 및/또는 애플리케이션 디자인을 수정(액세스 패턴 및 쿼리 변경)하는 것입니다.

관련 정보