SQL Server2012 향상된 디버깅 기능

   

-      Version : SQL Server 2012

   

SSMS의 디버깅 기능은 SQLServer 2008부터 추가 되었다. SQL Server 2012에서는 좀더 개발환경에맞추어서 디버깅 기능이 향상 되었다.

   

SQL Server 2008 디버깅: http://sqlmvp.kr/140176612565

   

SQL Server 2012에서도 디버깅 하는 방법은 SQL Server 2008과 동일하다. [디버그] – [디버깅 시작] 또는 [Alt+ F5], 빠른 실행 도구 모음에서 [디버그]를실행하면 된다.

    

   

디버깅 실습을 위해서 간단한 코드를 생성 한다.

declare @a int = 1

   

while (@a < 10)

begin

    print @a

    set @a = @a + 1

end

   

코드를 실행해 보면 변수의 값이 10보다 작을 때까지 +1씩 카운터하며 루프로 동작하는 것을 확인 할 수 있다.

   

   

중단점을 설정하는 방법은 [F9] 또는 해당 위치에서 마우스로 클릭, 또는 마우스 우클릭하여 [중단점 삭제 / 설정]을 할 수 있다..

   

[SQL Server 2008]

   

   

[SQL Server 2012]

SQL Server 2012의 경우에는 이전 버전보다 많은 기능이있음을 메뉴만 살펴보아도 알 수 있다.

   

   

중단점의 옵션 중에 [조건]이라는항목이 있다. 조건의 경우에는해당 조건이 충족 되었을 때 실행이 중단점에서 멈추는 기능이다.

   

   

우리는 상황에 따라 반복을 수 십, 수 백번 해야 하는데 이때 특정값이 도달했을 때 멈추는 기능이 필요 할 것이다. 아래 예시 화면은@a의 값이 5가 되었을 때 중단한다.

   

   

적중 횟수는 현재 중단점이 설정된 부분이 몇 번 호출 되었는가에 따라서 그 카운트가 충족 되었을 때 실행을 멈춘다.

   

중단점 적중 횟수는 다음과 같이 설정 할 수 있다. 변수 상관없이해당 위치가 5번 호출되었을 때 중단한다.

   

중단점에 조건 또는 적중 횟수 등 작업을 부여하게 되면 중단점의 모양이 빨간 원에서 가운데 흰색 십자가 모양의무늬로 변경되는 것을 확인 할 수 있다. 이때 마우스를 중단점 위치에 롤오버해보면 툴팁으로 중단점이설정된 내역이 간락하게 나타난다.

 

 

코드가 실행 될 때 SQL Server 2012에서는 빠른 팝업으로정보를 볼 수 있다. 또한 세션이 실행 되는 동안 조건 값 등을 바로 변경 할 수 있다.

   

   

아래 화면은 현재 조건 값 4를 빠른 팝업에서 9로 변경하였을 때 결과 화면이다. 내가 직접 수정한 조건이 바로적용되어 결과가 나타난 것을 확인 할 수 있다.

   

   

SQL Server 2008에 비해서 여러 기능이 추가 되었지만 프로그래머입장에서 보면 아직 디버그 기능이 부족한 건 사실이다. 하지만 앞의 내용만 잘 활용하더라도 개발 효율을향상 되리라 생각한다. 


강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp




No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2196
1666 Event Session을 이용한 Memory Health check jevida(강성욱) 2016.01.11 6967
1665 Event Session을 이용한 CPU Health check jevida(강성욱) 2016.01.11 8471
1664 DMV를 이용한 I/O Health check jevida(강성욱) 2016.01.11 7363
1663 CONCAT 함수 (문자열 연결하기)와 주의 사항 jevida(강성욱) 2016.01.11 28104
1662 SQL Server 2012 Columnstore Index jevida(강성욱) 2016.01.11 7579
1661 SQL Server 2012 File Stream / Table 관련 DMV jevida(강성욱) 2016.01.11 4888
1660 SQL Server2012 DMV – 메모리 덤프, 서비스, 구성 확인 jevida(강성욱) 2016.01.11 4821
» SQL Server2012 향상된 디버깅 기능 jevida(강성욱) 2016.01.11 4412
1658 SQL Server2012 매개 변수 구성 jevida(강성욱) 2016.01.11 3516
1657 SQL Server2012 도움말 설치 jevida(강성욱) 2016.01.11 3484
1656 SQL Server2012 Checkpoint 제어 jevida(강성욱) 2016.01.11 5359
1655 SSIS 패지키의 메타데이터 유효성 검사 중지하기 jevida(강성욱) 2016.01.11 2987
1654 SSIS 로그 보관기간 설정 (CleanUp 기간 설정) jevida(강성욱) 2016.01.11 4347
1653 SSIS 패키지 보호 레벨 jevida(강성욱) 2016.01.11 3913
1652 DATABASE의 TABLE 및 COLUMN COMMENT 출력 joe 2015.09.10 7799
1651 백업 히스토리 모니터링 jevida(강성욱) 2015.03.31 11652
1650 백업 전략과 Differential Database Backup jevida(강성욱) 2015.03.31 11245
1649 SQL ServerPoint in time recovery jevida(강성욱) 2015.03.31 9072
1648 Striping SQL Server Database Backup jevida(강성욱) 2015.03.31 8708
1647 SQL 서버 감사가 있는 데이터베이스 복원 후 설정 jevida(강성욱) 2015.03.31 11930





XE Login