![[MsSQL] 쿼리튜닝 - Join Hint와 Leading Table](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcrE8qj%2FbtsLzcPbrcA%2F2fyPpqWTcSnO8ZoNOYsLI1%2Fimg.png)
쿼리 튜닝쿼리를 튜닝하다보면 여러 상황을 만나게 되는데, 그 중에 MsSQL쿼리의 Join에 대한 힌트들에 대해서 간단하게 소개해보도록하겠다. 사실 Oracle 쿼리튜닝 책만 읽어서 MsSQL에 대해서 자세하게 모르고 있었는데, 최근 사내에서 운영중인 MsSQL의 쿼리에 문제들이 있어 튜닝을 해야했었다. 팀장님이 잠시 자리를 비운사이 문제의 쿼리를 확인하고 조치하려했으나, 확인까지만하고 어떻게 조치해야하나 고민을 하며 자신있게 해결하지 못하였다. 팀장님이 돌아오신 후 Inner Loop Join으로 바꿔서 튜닝을 하라 라고 말씀하셨는데, 정확히 힌트에 대해 알지 못하다보니 자신있게 한다고 말을 못 했던게 많은 아쉬움으로 남는다. 조금 다른이야기였지만, 아무튼 Join에 대한 힌트들에 대해서 소개해보도록 ..
![[MsSQL] Openquery delete - 다른 데이터베이스의 데이터 삭제하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR61Y2%2FbtsGXrpoFXc%2FmV8t4TDBXMA5K9RHdqCuw1%2Fimg.png)
OpenqueryOpenquery를 통해 이기종의 데이터베이스에 접근하여 데이터를 조회하거나 다른 DML을 사용 할 수 있다. 당연하게도 Linked Server로 연결되어 있는 다른 데이터베이스의 테이블에 대해 데이터를 삭제도 할 수 있는데, 오늘은 Openquery delete문을 사용하는 법에 대해서 알아보도록 하자. delete from항상 delete 문을 사용하기전에는 삭제되는 데이터를 확인해보는 습관을 가지는것을 추천한다.openquery의 select을 활용하여, 우리가 삭제할 데이터를 확인해본다. 데이터를 삭제하는 openquery delete문은 아래와 같다.delete from openquery([Linked Server], '[select Query]')특정 데이터만 삭제하고 싶은..
![[MsSQL] 모든 DB에 한번 쿼리 던지기 / DB 모를 때 (SP_MSFOREACHDB 활용하기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FenLCDr%2FbtsEnaqw7x0%2FM2HMDsbfif160VDd9XBi91%2Fimg.png)
자주 쓰는 쿼리 - SP_MSFOREACHDB 특정 테이블을 찾고 싶은데, 어떤 데이터베이스에 있는지 모를 때, 혹은 여러 데이터베이스들을 돌아가며 파일사이즈를 조사할 때 같이 모든 데이터베이스에 같은 쿼리를 조회하고 싶을 때가 있다. 이럴 때 쓸수있는 시스템 프로시저로 단순 조회작업 뿐만 아니라 프로시저에 활용하여 로그성 데이터, 반복적인 쿼리 조회등을 단순화 하여 업무 능률을 향상 할 수 있다. Query 사용방법은 매우 간단하다. EXEC MASTER.dbo.SP_MSFOREACHDB ' use ? begin [QUERY] end ' SP_MSFOREACHDB의 파라미터로 ' use ? begin [쿼리문] end ' 값을 넣어주면, use ? 부분에 모든 데이터베이스가 한번씩 들어가 쿼리문을 실행..
![[MsSQL] 자주 쓰는 쿼리 - Data File Size, Data File 경로 확인 (MDF, NDF)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYJI2L%2FbtsrYVeGqeC%2FzrSiAByyKFqSrFxeJlQrvk%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴입니다. 데이터베이스를 사용하다 보면 역시나 마주하게 될 문제, 바로 용량 이슈인데요. MsSQL의 MDF, NDF라는 데이터베이스 파일에 데이터를 저장합니다. MsSQL의 파일 구조에 대해서는 아래의 글을 참고해주세요! [MsSQL] Database File(Data File, Log File) / File Group Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘은 MsSQL의 데이터베이스 파일과 파일 그룹에 대해 알아보도록 하겠습니다. Database File File의 종류 데이터베이스 파일의 종류로는 크게 데이터 파일(Data da-new.tistory.com 각 데이터베이스의 MDF, NDF가 얼마 만큼의 용량을 사용하는지, 또 어느 경로에 파일이 ..
![[DBA][MsSQL] 자주 쓰는 쿼리 - Agent 조회 쿼리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxJauc%2FbtsmQQvC07A%2F0MAq1eUwh3pLI1Y1NhY6DK%2Fimg.png)
Intro 안녕하세요. 초보 DBA 다뉴 입니다. 오늘은 DBA 라면 자주 쓰게 될 MsSQL의 작업 Agent를 확인해보는 쿼리에 대해서 알아보도록 하겠습니다. 알아두기 Agent 란? Job, Schedule이라고도 불리며, MsSQL에 Agent를 통해 일정 등록을 해두어 스케쥴링을 할 수 있습니다. 쿼리 실행, 백업, 프로시저 실행, SSIS, 파워쉘 스크립트 등 많은 작업을 할 수 있습니다. 간단한 쿼리 설명 수많은 Agent를 관리하게 되는데, 어떤 Agent 스케줄이 어떤 일정으로 돌고 있는지 확인하기 위한 쿼리입니다. 에이전트 사용정보를 저장하는 시스템 테이블들을 활용하여 작성된 쿼리입니다. 각 테이블들의 내용이 궁금하시다면 아래 링크의 공식 문서를 참고해주세요! SQL Server 에이전..