본문 바로가기

SQL Server

MS SQL 병목 탐지 시스템 인프라 담당자에게는 미안한 말이지만, 시스템 파라메터 열심히 튜닝하는 것보다, 쿼리 한줄, DB 옵션 하나 수정하는게 훨씬 성능이 잘 나온다는 이야기 들이 있다. 맞는 말이다. (나도 시스템 엔지니어지만, 맞는 건 맞는 거니까...) 그런데 솔직히 SQL 을 제대로 튜닝하는 DBA 를 만나기가 쉽지 않다. 튜닝은 고사하고 SQL 에 뭐거 문제인지 진단하는 방법론을 가지는 엔지니를 만나는 것도 꽤 어려운 일이다. 그렇다면, MS SQL 을 다루는 사람들은 왜 이렇게 튜닝을 힘들어 할까? 물론 오라클 만큼이나 시장이 성숙하지 않은 것은 사실이지만, 적지 않은 기간 동안 운영되어 온 SQL 은 왜 이렇게 튜닝 파워가 낮을까? 그 이유는 아마도 툴의 부재라고 보인다. (이건 아마도 가장 큰 책임은 MS .. 더보기
Deadlock 의 진단과 해결 RDBMS 에서 Deadlock 이라는 단어가 종종 등장한다. 대부분의 DB 안내서에 자주 등장하는 이야기 지만.. 의외로 해당 문제 때문에 trouble shooting 을 수행하여야 하는 경우는 드뭅니다. 대부분의 dealock 이 개발 단계에서 탐지되고, 수정되기 때문이죠. 그렇다면, 여기서 '대부분' 이라는 키워드를 사용하는 경우는 어떤 경우이며, '대부분' 에 포함되지 않는 예외 Case 는 어떤 것들이 있는지, 그리고 그에 대한 해결은 어떻게 접근하는지에 대하여 생각해 보기로 하겠습니다.. Deadlock 의 정의에 대해서는 따로 설명하지 않겠습니다. 정의는 적당한 문서가 많이 있습니다.. Deadlock 의 탐지 1. SQL 이벤트 2. 과도한 CPU 의 사용 3. 작업 모니터에 CXPack.. 더보기