데이터베이스 엔진 쿼리 편집기 창을 연 후 Transact-SQL 디버거를 시작할 수 있습니다. 그런 다음 디버거를 중지할 때까지 디버그 모드에서 Transact-SQL 코드를 실행할 수 있습니다. 디버거를 실행하는 방법을 사용자 지정하는 옵션을 설정할 수 있습니다.
디버거 시작 및 중지
Transact-SQL 디버거를 시작하기 위한 요구 사항은 다음과 같습니다.
데이터베이스 엔진 쿼리 편집기가 다른 컴퓨터의 데이터베이스 엔진 인스턴스에 연결된 경우 원격 디버깅을 위해 디버거를 구성해야 합니다. 자세한 내용은 Transact-SQL 디버거 구성을 참조하세요.
SQL Server Management Studio는 sysadmin 고정 서버 롤의 멤버인 Windows 계정으로 실행되어야 합니다.
Sysadmin 고정 서버 역할의 멤버인 Windows 인증 또는 SQL Server 인증 로그인을 사용하여 데이터베이스 엔진 쿼리 편집기 창을 연결해야 합니다.
데이터베이스 엔진 쿼리 편집기 창은 SQL Server 2005 SP2(서비스 팩 2) 이상에서 데이터베이스 엔진 인스턴스에 연결되어야 합니다. 쿼리 편집기 창이 단일 사용자 모드의 인스턴스에 연결된 경우에는 디버거를 실행할 수 없습니다.
다음과 같은 이유로 프로덕션 서버가 아닌 테스트 서버에서 Transact-SQL 코드를 디버그하는 것이 좋습니다.
디버깅은 권한이 높은 작업입니다. 따라서 sysadmin 고정 서버 역할의 멤버만 SQL Server에서 디버그할 수 있습니다.
디버깅 세션은 여러 Transact-SQL 문의 작업을 조사하는 동안 오랜 시간 동안 실행되는 경우가 많습니다. 세션에 의해 획득되는 업데이트 잠금과 같은 잠금은 세션이 종료되거나 트랜잭션이 커밋되거나 롤백될 때까지 장기간 유지될 수 있습니다.
Transact-SQL 디버거를 시작하면 쿼리 편집기 창이 디버그 모드로 전환됩니다. 쿼리 편집기 창이 디버그 모드로 전환되면 디버거가 코드의 첫 번째 줄에서 일시 중지됩니다. 그런 다음 코드를 단계별로 실행하고, 특정 Transact-SQL 문에서 실행을 일시 중지하고, 디버거 창을 사용하여 현재 실행 상태를 볼 수 있습니다. 쿼리 도구 모음에서 디버그 단추를 클릭하거나 디버그 메뉴에서 디버깅 시작을 클릭하여 디버거를 시작할 수 있습니다.
쿼리 편집기 창의 마지막 문이 완료되거나 디버그 모드를 중지할 때까지 쿼리 편집기 창은 디버그 모드로 유지됩니다. 다음 방법 중 하나를 사용하여 디버그 모드 및 문 실행을 중지할 수 있습니다.
디버그 메뉴에서 디버깅 중지를 클릭합니다.
디버그 도구 모음에서 디버깅 중지 단추를 클릭합니다.
쿼리 메뉴에서 쿼리실행 취소를 클릭합니다.
쿼리 도구 모음에서 쿼리 실행 취소 단추를 클릭합니다.
디버그 모드를 중지하고 디버그 메뉴에서 모두 분리를 클릭하여 나머지 Transact-SQL 문이 실행을 완료하도록 허용할 수도 있습니다.
디버거 제어
다음 메뉴 명령, 도구 모음 및 바로 가기를 사용하여 Transact-SQL 디버거의 작동 방식을 제어할 수 있습니다.
디버그 메뉴 및 디버그 도구 모음입니다. 열려 있는 쿼리 편집기 창에 포커스가 놓일 때까지 디버그 메뉴와 디버그 도구 모음은 모두 비활성 상태입니다. 현재 프로젝트를 닫을 때까지 활성 상태로 유지됩니다.
디버거 바로 가기 키입니다.
쿼리 편집기 바로 가기 메뉴입니다. 쿼리 편집기 창에서 줄을 마우스 오른쪽 단추로 클릭하면 바로 가기 메뉴가 표시됩니다. 쿼리 편집기 창이 디버그 모드인 경우 바로 가기 메뉴에는 선택한 줄 또는 문자열에 적용되는 디버거 명령이 표시됩니다.
디버거가 여는 창, 예를 들어 조사식 창이나 중단점 창의 메뉴 항목 및 콘텍스트 명령입니다.
다음 표에서는 디버거 메뉴 명령, 도구 모음 단추 및 바로 가기 키를 보여 줍니다.
| 디버그 메뉴 명령 | 편집기 바로 가기 명령 | 도구 모음 단추 | 키보드 단축키 | 조치 |
|---|---|---|---|---|
| Windows/중단점 | 사용할 수 없음 | 중단점 | Ctrl+Alt+B | 중단점을 보고 관리할 수 있는 중단점 창을 표시합니다. |
| Windows/Watch/Watch1 | 사용할 수 없음 | 중단점/감시식/감시식1 | Ctrl+Alt+W, 1 | Watch1 창을 표시합니다. |
| Windows/Watch/Watch2 | 사용할 수 없음 | 중단점/조사식/조사식2 | Ctrl+Alt+W, 2 | Watch2 창을 표시합니다. |
| Windows/Watch/Watch3 | 사용할 수 없음 | 중단점/감시/감시3 | Ctrl+Alt+W, 3 | 조사식3 창을 표시합니다. |
| Windows/Watch/Watch4 | 사용할 수 없음 | 중단점/조사식/조사식4 | Ctrl+Alt+W, 4 | Watch4 창을 표시합니다. |
| Windows/로컬 | 사용할 수 없음 | 중단점/지역 | CTRL+ALT+V, L | 로컬 창을 표시 합니다 . |
| Windows/호출 스택 | 사용할 수 없음 | 중단점/호출 스택 | Ctrl+Alt+C | 호출 스택 창을 표시합니다. |
| Windows/스레드 | 사용할 수 없음 | 중단점/스레드 | Ctrl+Alt+H | 스레드 창을 표시하십시오. |
| 계속 | 사용할 수 없음 | 계속 | Alt+F5 | 다음 중단점으로 실행합니다. 디버그 모드에 있는 쿼리 편집기 창에 초점을 맞출 때까지 계속은 활성화되지 않습니다. |
| 디버깅 시작 | 사용할 수 없음 | 디버깅 시작 | Alt+F5 | 쿼리 편집기 창을 디버그 모드로 전환하고 첫 번째 중단점으로 실행합니다. 디버그 모드에 있는 쿼리 편집기 창에 포커스가 있는 경우 디버깅 시작 이 계속으로 대체됩니다. |
| 모두 중지 | 사용할 수 없음 | 모두 중지 | Ctrl+Alt+Break | 이 기능은 Transact-SQL 디버거에서 사용되지 않습니다. |
| 디버깅 중지 | 사용할 수 없음 | 디버깅 중지 | Shift+F5 | 쿼리 편집기 창을 디버그 모드에서 벗어나 일반 모드로 반환합니다. |
| 모두 분리 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 디버그 모드를 중지하지만 쿼리 편집기 창에서 나머지 문을 실행합니다. |
| 들어가기 | 사용할 수 없음 | 들어가기 | F11 | 다음 문을 실행하고 다음 문이 저장 프로시저, 트리거 또는 함수를 실행하는 경우 디버그 모드에서 새 쿼리 편집기 창을 엽니다. |
| 스텝 오버 | 사용할 수 없음 | 스텝 오버 | F10 | 함수, 저장 프로시저 또는 트리거가 디버그되지 않는다는 점을 제외하고 한 단계씩 실행과 동일합니다. |
| 나가기 | 사용할 수 없음 | 나가기 | Shift+F11 | 중단점을 일시 중지하지 않고 트리거, 함수 또는 저장 프로시저에서 나머지 코드를 실행합니다. 컨트롤이 모듈을 호출한 코드로 반환되면 일반 디버그 모드가 다시 시작됩니다. |
| 사용할 수 없음 | 다음으로 실행 커서 | 사용할 수 없음 | Ctrl+F10 | 중단점에서 중지하지 않고 마지막 중지 위치에서 현재 커서 위치로 모든 코드를 실행합니다. |
| 퀵와치 | 빠른 조사식 | 사용할 수 없음 | Ctrl+Alt+Q | 퀵와치 창을 표시합니다. |
| 중단점 설정/해제 | 중단점/중단점 삽입 | 사용할 수 없음 | F9 | 현재 또는 선택한 Transact-SQL 문에 중단점을 배치합니다. |
| 사용할 수 없음 | 중단점/중단점 삭제 | 사용할 수 없음 | 사용할 수 없음 | 선택한 줄에서 중단점을 삭제합니다. |
| 사용할 수 없음 | 중단점/중단점 사용 안 함 | 사용할 수 없음 | 사용할 수 없음 | 선택한 줄에서 중단점을 사용하지 않도록 설정합니다. 중단점은 코드 줄에 남아 있지만 다시 활성화될 때까지 실행을 중지하지 않습니다. |
| 사용할 수 없음 | 중단점/중단점 활성화 | 사용할 수 없음 | 사용할 수 없음 | 선택한 줄에서 중단점을 사용하도록 설정합니다. |
| 모든 중단점 삭제 | 사용할 수 없음 | 사용할 수 없음 | Ctrl+Shift+F9 | 모든 중단점을 삭제합니다. |
| 모든 중단점 비활성화 | 사용할 수 없음 | 사용할 수 없음 | 사용할 수 없음 | 모든 중단점을 사용하지 않도록 설정합니다. |
| 사용할 수 없음 | 감시 추가 | 사용할 수 없음 | 사용할 수 없음 | 선택한 식을 조사식 창에 추가합니다. |
또한 참조하십시오
Transact-SQL 디버거
Transact-SQL 코드 단계별 실행
Transact-SQL 디버거 정보
데이터베이스 엔진 쿼리 편집기(SQL Server Management Studio)