특정 오류 코드가 특정 것을 언급한다고 가정합니다.
select * from master.dbo.sysmessages where description like '%timeout%'
이 당신을 줄 것이다 : 제한 시간 제공
값이 유효하지 않습니다. 시간 제한은 0에서 2147483647 사이의 유효한 정수 여야합니다. 1033
클래스 '% ls', id % p, 유형 % d, 작업 0x % p : % d, 대기 시간 % d 초, 플래그 0x % I64x, 소유 태스크 0x % p. 계속 기다려라. 1033
원격 서버 인스턴스 '%. * ls'에 대한 통신이 시간 초과되기 전에 완료하지 못했습니다. ALTER DATABASE 명령이 완료되지 않았을 수 있습니다. 명령을 다시 시도하십시오. 1033
데이터베이스 미러링 시간 초과 값 % d이 최대 값 32767을 초과합니다. 1033 메타 데이터 캐시 항목 % d : 데이터베이스 ID (% d)의 % d에 잠금 시간 제한으로 인해 일관성이 검사되지 않습니다. 1033
표시된 트랜잭션 "%. * ls"이 (가) 실패했습니다. 표시된 트랜잭션을 커밋하여 로그에 표시를 시도하는 동안 시간 초과가 발생했습니다. 이 문제는 Microsoft DTC (Microsoft Distributed Transaction Coordinator) 트랜잭션과의 충돌로 인해 발생할 수 있습니다. 1033
SQL Server 대상의 대량 삽입 작업 시간이 초과되었습니다. 데이터 흐름의 SQL Server 대상에서 Timeout 속성 값을 늘리십시오. 1033
... 모든 언어에서 많은 오류가 있습니다.
따라서 '1033은 시간 초과를 의미합니다'라고 가정 할 수 있습니다. 불행하게도 그건 사실이 아니에요 :
select description from master.dbo.sysmessages where msglangid=1033
경고 : 치명적인 오류 % d를 %의 S_DATE에서 발생했습니다. 오류 및 시간을 기록하고 시스템 관리자에게 문의하십시오.
Waitfor에서 쿼리가 허용되지 않습니다.
'%. * ls'근처의 구문이 잘못되었습니다.
'%. * ls'(으)로 시작하는 % S_MSG이 (가) 너무 깁니다. 최대 길이는 % d입니다. 문에 UNION, INTERSECT 또는 EXCEPT 연산자가 포함 된 경우 ORDER BY 항목이 선택 목록에 나타나야합니다.
ORDER BY 위치 번호 % ld이 (가) 선택 목록에있는 항목 수 범위를 벗어났습니다.
많은 많은 타임 아웃 관련 오류가 없습니다. 그래서 실제로 당신의 질문에 대답
IsSqlTimeout = ((ex as SqlException).Message.ToUpper().Contains("TIMEOUT");
- 당신의 사용자가 실제로 이해 할 수있는 나에 대해 얘기해야했다에 따라 달라집니다 :
그래서 나는 고집하고 있습니다.
일정 기간 동안 모든 오류를 기록하고 어떤 오류를 가장 많이 볼 수 있는지 그룹화하고 각각을 하나씩 처리하도록 제안합니다.