Transact-SQL 디버거 실행Run the Transact-SQL Debugger

Transact-SQLTransact-SQL 쿼리 편집기 창을 연 후에 데이터베이스 엔진Database Engine 디버거를 시작할 수 있습니다.You can start the Transact-SQLTransact-SQL debugger after you open a 데이터베이스 엔진Database Engine Query Editor window. 그러면 디버거를 중지할 때까지 Transact-SQLTransact-SQL 코드를 디버그 모드에서 실행할 수 있습니다.Then, you can run your Transact-SQLTransact-SQL code in debug mode until you stop the debugger. 옵션을 설정하여 디버거 실행 방식을 사용자 지정할 수 있습니다.You can set options to customize how the debugger runs.

디버거 시작 및 중지Starting and Stopping the Debugger

Transact-SQLTransact-SQL 디버거를 시작하기 위한 요구 사항은 다음과 같습니다.The requirements to start the Transact-SQLTransact-SQL debugger are as follows:

  • 데이터베이스 엔진Database Engine 쿼리 편집기가 다른 컴퓨터의 데이터베이스 엔진Database Engine 인스턴스에 연결된 경우 원격 디버깅을 사용하도록 디버거가 구성되어 있어야 합니다.If your 데이터베이스 엔진Database Engine Query Editor is connected to an instance of the 데이터베이스 엔진Database Engine on another computer, you must have configured the debugger for remote debugging. 자세한 내용은 TSQL 디버거를 실행하기 전에 방화벽 규칙 구성을 참조하세요.For more information, see Configure firewall rules before running the TSQL Debugger.

  • SQL Server Management StudioSQL Server Management Studio 를 sysadmin 고정 서버 역할의 멤버인 Windows 계정으로 실행해야 합니다. must be running under a Windows account that is a member of the sysadmin fixed server roll.

  • sysadmin 고정 서버 역할의 멤버인 Windows 인증 또는 데이터베이스 엔진Database Engine 인증 로그인을 사용하여 SQL ServerSQL Server 쿼리 편집기 창을 연결해야 합니다.The 데이터베이스 엔진Database Engine Query Editor window must be connected by using either a Windows Authentication or SQL ServerSQL Server Authentication login that is a member of the sysadmin fixed server role.

  • 데이터베이스 엔진Database Engine 쿼리 편집기 창을 데이터베이스 엔진Database Engine SP2(서비스 팩 2) 이상의 SQL Server 2005SQL Server 2005 인스턴스에 연결해야 합니다.The 데이터베이스 엔진Database Engine Query Editor window must be connected to an instance of the 데이터베이스 엔진Database Engine from SQL Server 2005SQL Server 2005 Service Pack 2 (SP2) or later. 쿼리 편집기 창이 단일 사용자 모드에 있는 인스턴스에 연결되어 있는 경우에는 디버거를 실행할 수 없습니다.You cannot run the debugger when the Query Editor window is connected to an instance that is in single-user mode.

    다음과 같은 이유로 인해 Transact-SQLTransact-SQL 코드는 프로덕션 서버가 아니라 테스트 서버에서 디버깅하는 것이 좋습니다.We recommend that Transact-SQLTransact-SQL code be debugged on a test server, not a production server, for the following reasons:

  • 디버깅은 높은 권한이 필요한 작업입니다.Debugging is a highly privileged operation. 따라서 sysadmin 고정 서버 역할의 멤버만 SQL ServerSQL Server에서 디버깅할 수 있습니다.Therefore, only members of the sysadmin fixed server role are allowed to debug in SQL ServerSQL Server.

  • 디버깅 세션은 사용자가 여러 Transact-SQLTransact-SQL 문 작업을 조사하는 동안 장기간 실행되는 경우가 많습니다.Debugging sessions often run for long periods of time while you investigate the operations of several Transact-SQLTransact-SQL statements. 업데이트 잠금과 같이 세션에 의해 획득되는 잠금은 세션이 끝나거나 트랜잭션이 커밋 또는 롤백될 때까지 장기간 보유될 수 있습니다.Locks, such as update locks, that are acquired by the session might be held for extended periods, until the session is ended or the transaction committed or rolled back.

    Transact-SQLTransact-SQL 디버거를 시작하면 쿼리 편집기 창이 디버그 모드로 설정됩니다.Starting the Transact-SQLTransact-SQL debugger puts the Query Editor window into debug mode. 쿼리 편집기 창이 디버그 모드로 설정되면 디버거가 코드의 첫 번째 줄에서 일시 중지됩니다.When the Query Editor window enters debug mode, the debugger pauses at the first line of code. 그러면 코드를 단계별로 진행하고, 특정 Transact-SQLTransact-SQL 문에서 실행을 일시 중지하고, 디버거 창을 사용하여 현재 실행 상태를 볼 수 있습니다.You can then step through the code, pause the execution on specific Transact-SQLTransact-SQL statements, and use the debugger windows to view the current execution state. 쿼리 도구 모음에서 디버그 단추를 클릭하거나 디버그 메뉴에서 디버깅 시작 을 클릭하여 디버거를 시작할 수 있습니다.You can start the debugger by either clicking the Debug button on the Query toolbar or by clicking Start Debugging on the Debug menu.

    쿼리 편집기 창은 쿼리 편집기 창의 마지막 문이 완료되거나 사용자가 디버그 모드를 중지할 때까지 디버그 모드로 유지됩니다.The Query Editor window stays in debug mode until either the last statement in the Query Editor window finishes or you stop debug mode. 다음 방법 중 하나를 사용하여 디버그 모드 및 문 실행을 중지할 수 있습니다.You can stop debug mode and statement execution by using any one of the following methods:

  • 디버그 메뉴에서 디버깅 중지를 클릭합니다.On the Debug menu, click Stop Debugging.

  • 디버그 도구 모음에서 디버깅 중지 단추를 클릭합니다.On the Debug toolbar, click the Stop Debugging button.

  • 쿼리 메뉴에서 쿼리 실행 취소를 클릭합니다.On the Query menu, click Cancel Executing Query.

  • 쿼리 도구 모음에서 쿼리 실행 취소 단추를 클릭합니다.On the Query toolbar, click the Cancel Executing Query button.

    Transact-SQLTransact-SQL 디버그 메뉴에서 모두 분리 를 클릭하여 디버그 모드를 중지하고 나머지 문이 실행 완료되도록 할 수도 있습니다.You can also stop debug mode and allow for the remaining Transact-SQLTransact-SQL statements to finish executing by clicking Detach All on the Debug menu.

디버거 제어Controlling the Debugger

다음 메뉴 명령, 도구 모음 및 바로 가기를 사용하여 Transact-SQLTransact-SQL 디버거 작동 방식을 제어할 수 있습니다.You can control how the Transact-SQLTransact-SQL debugger operates by using the following menu commands, toolbars, and shortcuts:

  • 디버그 메뉴 및 디버그 도구 모음.The Debug menu and the Debug toolbar. 디버그 메뉴와 디버그 도구 모음 모두 열려 있는 쿼리 편집기 창에 포커스를 둘 때까지 비활성화되며Both the Debug menu and Debug toolbar are inactive until the focus is placed in an open Query Editor window. 현재 프로젝트를 닫을 때까지 활성화된 상태로 유지됩니다.They remain active until the current project is closed.

  • 디버거 바로 가기 키The debugger keyboard shortcuts.

  • 쿼리 편집기 바로 가기 메뉴.The Query Editor shortcut menu. 쿼리 편집기 창에서 쿼리 줄을 마우스 오른쪽 단추로 클릭하면 바로 가기 메뉴가 표시됩니다.The shortcut menu is displayed when you right-click a line in a Query Editor window. 쿼리 편집기 창이 디버그 모드에 있으면 선택한 줄 또는 문자열에 적용되는 디버거 명령이 바로 가기 메뉴에 표시됩니다.When the Query Editor window is in debug mode, the shortcut menu displays debugger commands that apply to the selected line or string.

  • 조사식 또는 중단점 창과 같이 디버거에 의해 열리는 창에 있는 메뉴 항목 및 상황에 맞는 명령Menu items and context commands in the windows that are opened by the debugger, such as the Watch or Breakpoints windows.

    다음 표에서는 디버거 메뉴 명령, 도구 모음 단추 및 바로 가기 키를 보여 줍니다.The following table shows the debugger menu commands, toolbar buttons, and keyboard shortcuts.

디버그 메뉴 명령Debug menu command 편집기 바로 가기 명령Editor shortcut command 도구 모음 단추Toolbar button 바로 가기 키Keyboard shortcut 작업Action
창/중단점Windows/Breakpoints 사용할 수 없음Not available 중단점Breakpoints Ctrl+Alt+BCTRL+ALT+B 중단점을 보고 관리할 수 있는 중단점 창을 표시합니다.Display the Breakpoints window in which you can view and manage breakpoints.
창/조사식/조사식1Windows/Watch/Watch1 사용할 수 없음Not available 중단점/조사식/조사식1Breakpoints/Watch/Watch1 CTRL+ALT+W, 1CTRL+ALT+W, 1 조사식1 창을 표시합니다.Display the Watch1 window.
창/조사식/조사식2Windows/Watch/Watch2 사용할 수 없음Not available 중단점/조사식/조사식2Breakpoints/Watch/Watch2 CTRL+ALT+W, 2CTRL+ALT+W, 2 조사식2 창을 표시합니다.Display the Watch2 window.
창/조사식/조사식3Windows/Watch/Watch3 사용할 수 없음Not available 중단점/조사식/조사식3Breakpoints/Watch/Watch3 CTRL+ALT+W, 3CTRL+ALT+W, 3 조사식3 창을 표시합니다.Display the Watch3 window.
창/조사식/조사식4Windows/Watch/Watch4 사용할 수 없음Not available 중단점/조사식/조사식4Breakpoints/Watch/Watch4 Ctrl+Alt+W, 4CTRL+ALT+W, 4 조사식4 창을 표시합니다.Display the Watch4 window.
창/지역Windows/Locals 사용할 수 없음Not available 중단점/지역Breakpoints/Locals Ctrl+Alt+V, LCTRL+ALT+V, L 지역 창을 표시합니다.Display the Locals window.
창/호출 스택Windows/Call Stack 사용할 수 없음Not available 중단점/호출 스택Breakpoints/Call Stack Ctrl+Alt+CCTRL+ALT+C 호출 스택 창을 표시합니다.Display the Call Stack window.
창/스레드Windows/Threads 사용할 수 없음Not available 중단점/스레드Breakpoints/Threads Ctrl+Alt+HCTRL+ALT+H 스레드 창을 표시합니다.Display the Threads window.
계속Continue 사용할 수 없음Not available 계속Continue Alt+F5ALT+F5 다음 중단점까지 실행합니다.Run to the next breakpoint. 계속 은 디버그 모드에 있는 쿼리 편집기 창에 포커스를 둘 때까지 활성화되지 않습니다.Continue is not active until you are focused on a Query Editor window that is in debug mode.
디버그Start Debugging 사용할 수 없음Not available 디버그Start Debugging Alt+F5ALT+F5 쿼리 편집기 창을 디버그 모드로 설정하고 첫 번째 중단점까지 실행합니다.Put a Query Editor window into debug mode and run to the first breakpoint. 디버그 모드에 있는 쿼리 편집기 창에 포커스가 있는 경우 디버깅 시작계속으로 대체됩니다.If you are focused on a Query Editor window that is in debug mode, Start Debugging is replaced by Continue.
모두 중단Break All 사용할 수 없음Not available 모두 중단Break All Ctrl+Alt+BreakCTRL+ALT+BREAK 이 기능은 Transact-SQLTransact-SQL 디버거에 사용되지 않습니다.This feature not used by the Transact-SQLTransact-SQL debugger.
디버깅 중지Stop Debugging 사용할 수 없음Not available 디버깅 중지Stop Debugging Shift+F5SHIFT+F5 쿼리 편집기 창에서 디버그 모드를 중지하고 일반 모드로 되돌립니다.Take a Query Editor window out of debug mode and return it to regular mode.
메뉴에서Detach All 사용할 수 없음Not available 사용할 수 없음Not available 사용할 수 없음Not available 쿼리 편집기 창에서 디버그 모드를 중지하지만 나머지 문은 실행합니다.Stops debug mode, but executes the remaining statements in the Query Editor window.
한 단계씩 코드 실행Step Into 사용할 수 없음Not available 한 단계씩 코드 실행Step Into F11F11 다음 문을 실행하고 다음 문이 저장 프로시저, 트리거 또는 함수를 실행하는 경우 디버그 모드에서 새 쿼리 편집기 창을 엽니다.Run the next statement, and also open a new Query Editor window in debug mode if the next statement runs a stored procedure, trigger, or function.
프로시저 단위 실행Step Over 사용할 수 없음Not available 프로시저 단위 실행Step Over F10F10 함수, 저장 프로시저 또는 트리거가 디버깅되지 않는다는 점을 제외하고 한 단계씩 코드 실행과 같습니다.Same as Step Into, except that no functions, stored procedures, or triggers are debugged.
프로시저 나가기Step Out 사용할 수 없음Not available 프로시저 나가기Step Out Shift+F11SHIFT+F11 중단점에서 일시 중지하지 않고 트리거, 함수 또는 저장 프로시저의 나머지 코드를 실행합니다.Execute the remaining code in a trigger, function, or stored procedure without pausing for any breakpoints. 일반 디버그 모드는 모듈을 호출한 코드로 컨트롤이 반환되면 재개됩니다.Regular debug mode resumes when control is returned to the code that called the module.
사용할 수 없음Not available 커서까지 실행Run To Cursor 사용할 수 없음Not available Ctrl+F10CTRL+F10 중단점에서 중지하지 않고 마지막 중지 위치에서 현재 커서 위치까지 모든 코드를 실행합니다.Execute all code from the last stop location to the current cursor location without stopping at any breakpoints.
간략한 조사식QuickWatch 간략한 조사식QuickWatch 사용할 수 없음Not available Ctrl+Alt+QCTRL+ALT+Q 간략한 조사식 창을 표시합니다.Display the QuickWatch window.
중단점 설정/해제Toggle Breakpoint 중단점/중단점 삽입Breakpoint/Insert Breakpoint 사용할 수 없음Not available F9F9 현재 또는 선택한 Transact-SQLTransact-SQL 문에 중단점을 배치합니다.Position a breakpoint on the current or selected Transact-SQLTransact-SQL statement.
사용할 수 없음Not available 중단점/중단점 삭제Breakpoint/Delete Breakpoint 사용할 수 없음Not available 사용할 수 없음Not available 선택한 줄에서 중단점을 삭제합니다.Delete the breakpoint from the selected line.
사용할 수 없음Not available 중단점/중단점 해제Breakpoint/Disable Breakpoint 사용할 수 없음Not available 사용할 수 없음Not available 선택한 줄에서 중단점을 해제합니다.Disable the breakpoint on the selected line. 중단점이 코드 줄에 유지되지만 중단점을 다시 설정할 때까지 실행이 중지되지 않습니다.The breakpoint remains on the line of code, but will not stop execution until it is reenabled.
사용할 수 없음Not available 중단점/중단점 설정Breakpoint/Enable Breakpoint 사용할 수 없음Not available 사용할 수 없음Not available 선택한 줄에서 중단점을 설정합니다.Enable the breakpoint on the selected line.
모든 중단점 삭제Delete All Breakpoints 사용할 수 없음Not available 사용할 수 없음Not available Ctrl+Shift+F9CTRL+SHIFT+F9 모든 중단점을 삭제합니다.Delete all breakpoints.
모든 중단점 해제Disable All Breakpoints 사용할 수 없음Not available 사용할 수 없음Not available 사용할 수 없음Not available 모든 중단점을 해제합니다.Disable all breakpoints.
사용할 수 없음Not available 조사식 추가Add Watch 사용할 수 없음Not available 사용할 수 없음Not available 조사식 창에 선택한 식을 추가합니다.Add the selected expression to the Watch window.

참고 항목See Also

Transact-SQL 디버거 Transact-SQL Debugger
Transact-SQL 코드 단계별 실행 Step Through Transact-SQL Code
Transact-SQL 디버거 정보 Transact-SQL Debugger Information
데이터베이스 엔진 쿼리 편집기(SQL Server Management Studio) Database Engine Query Editor (SQL Server Management Studio)
활성 쿼리 통계 Live Query Statistics