다음을 통해 공유


Transact-SQL 디버거 실행

데이터베이스 엔진 쿼리 편집기 창을 연 후 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)