[MSSQL] Blocking 유발하는 세션(root blocker)을 찾아내고, 운영자 계정에 root blocker만 kill할 수 있는 프로시저 제공하기
·
DB/SQL Server (MSSQL)
원래 MSSQL 에서 Session Kill 할 수 있는 권한은 DBA만 가지고 있는 게 바람직하다.MSSQL에서의 Session Kill 권한은 기본적으로, 'ALTER ANY CONNECTION' 권한이 부여되어 있어야 하며, 이는 서버 인스턴스 범위의 권한이기에, 해당 권한을 가진 SQL Login은 모든 세션에 대해 Kill 할 수 있는 아주 강력하고 위험한 권한을 가지게 된다. 그러나, 모든 운영 환경에 있어 DBA가 365일 24시간 내내 5분대기조처럼 있을 수는 없고,상황에 따라서 Kill 을 수행할 수 있는 조건만 잘 제어한다면, 운영자에게 특정 상황의 경우에만 Kill 할 수 있는 프로시저를 제공하는 게, 긴급한 장애도 해결하고 DBA도 한결 편해질 수 있는 방법임을 요즘 체감한다. 오늘..