제한 시간이 만료되었습니다. 작업을 완료하기 전에 제한 시간이 경과되었거나 서버가 응답하지 않았습니다.
라는 오류 메세지로 시스템 오류가 난다는 이야기를 들었어요.
주로 b 조회 하는 곳에서 나는데요.
대부분의 쿼리에는
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
를 줬기에 대체 왜 이러는지 잘 모르겠네여.
원인파악해서
해당 쿼리를 튜닝하던지..
수정하려고 하거든요.
어떤 쿼리를 통해 해당테이블이 자주 잠귀는지.
위 메세지로 오류가 났을시점에.
sql 서버에 로그 기록이 남는다면.. 보는 방법은 있는지...
알고 싶습니다.
Comment 2
-
catchv
2013.05.20 10:37
ADO나 ADO.NET을 사용하신다면 Command 객체에 CommandTimeout을 조정해 보셔야 합니다.
기본 값이 아마 30초인가로 설정 되어 있을 것입니다.
그 이상의 시간이 걸리는 쿼리의 경우 Timeout을 리턴하므로 시간을 늘려서 설정해 주시면 됩니다.
-- catchv
잠김문제라기 보다는
실행 시간이 commandtimeout 이상이 돼어서 에러가 난거 같습니다.
commandtimeout을 0으로 설정하면 일단 에러는 안날거구요.
단, 느린쿼리가 문제를 일으킬수는 있겠네요.
프로필러로 duration이나 disk reads가 많은것을 잡아서 튜닝하시면 될거 같습니다.