영상버전 : https://youtu.be/4ssE81DwGr4 얼마전에 며칠을 고생해서 원인 쿼리를 찾은 이야기 입니다. 보통 쿼리는 Lock에 걸려서 대기 상태에 있다면 쉽게 찾는데요.. Lock에 걸리지 않은 상태로 대기를 타는 경우가 있습니다. Sql server 에서 일단 쉽게 찾는 방법은 Sp_who2 를 실행하는 것이죠. 그냥 SSMS에서 서버에 접속해서 새 쿼리창을 열고 Sp_who2 라고 입력하고 실행해버리면 현재 물려있는 모든 세션의 정보가 나타납니다. 여기서 Blkby 라는 필드에서 숫자가 보이면 그 숫자의 SPID가 원인으로 숫자가 쓰여진 곳의 SPID가 멈춰 있다는 이야기 입니다. 이렇게 원인 세션을 찾고 그 세션이 어떤 쿼리를 던지고 있는지를 찾아서 Kill을 할지, 다른 어떤 액션을 취할지를 택하면 됩니다. Kill을 하고 싶으면 Kill 999 처럼 SPID를 kill 뒤에 적어주면 되구요.. Blkby에 적힌 숫자를 입력하면 원인 쿼리가 강제 종료 되는데요, 이게 INSERT나 UPDATE의 경우가 많아서 데이터 유실이 될 가능성이 높기 때문에 저 같은 경우는 원인 쿼리의 문제를 해결할 방법만 알려주고 자연히 사라질 때 까지 기다리기는 합니다. 그래도 급히 대응이 필요하거나 아무리 기다려도 사라지지 않는 경우에는 Kill밖에 없겠죠. 지난 번에는 개발팀에서 Begin tran을 던지고 쿼리를 던진 뒤에 Commit이나 rollback을 하지 않아서 Blkby가 보여서 문의했더니 자신들의 실수임을 확인해서 쉽게 끝났지만, 이번에는 Blkby가 뜨지 않은채로 많은 세션들이 SUSPEND가 되어버렸죠. 보통 커넥션 풀을 사용한다 하더라도 SUSPEND가...
영상버전 : https://youtu.be/SbRjvBXut_g 주변에서 일본인이 이해가 안간다고 이야기 하는 한국인 들을 자주 봅니다. 그 중 하나가 메시지를 읽씹한다는 이야기를 많이 하거든요.. 때문에 답답해 하는 한국인과 재촉당하는 일본인 사이에 트러블이 많죠. 전부라고는 말할 수 없지만, 일본에서는 상대방이 읽었다고 답변 안하는걸 뭐라하지 않습니다... 이렇게 상대방의 반응을 상상하면서 너무 빨리 답장을 보내면 부담스러워 하지 않을까 하면서 답변을 조심스러워 하는 경향이 있는 사람들이 생각보다 많다. 라는 것이죠. 그런데 이런 모습을 보면서 배려 라는 단어의 인식의 차이가 있지 않나 싶습니다. 한국 사람들에게는 메시지를 보냈으면 보고 대답을 해주는게 보내는 사람에 대한 배려가 아닐까.. 그런 생각을 가지게 되면 답변을 재촉당하는게 피곤해서 오히려 정말 중요한 사람 외에는 차단하고 싶어지지 않을까 … 라는 저의 생각이 드네요. 예전에 한국에서 잠깐 일했을 떄 입니다.. 친구는 아니지만 일로 알게 되었고, 자주 술자리에 초대를 해주면서 저랑 친해지려는 느낌이 강한 분이 개인적으로 카톡 친구를 등록 해서 메시지를 주고 받은 적이 있습니다. 그런데 어느날 충격적인 문자가 왔더라구요.. 읽씹이냐? 라는… 굉장히 화가 난 듯한 메시지가 그 뒤에 이어졌습니다. 그 뒤로 공포스러워서 휴대폰 번호를 바꾸고 카톡을 지워 버렸죠. 카톡은 자기의 연락처에 전화번호만 적으면 멋대로 등록을 해버리니까 원하지 않는 메시지가 와버리네요. 그 때 처음으로 느꼈죠. 한국 사람들은 메시지를 봤다면 뭐라도 답변을 해주지 않으면 불안해 하는 경...