MS-SQL : 저장 프로시저 디버깅
http://msdn.microsoft.com/ko-kr/library/hh272701(v=vs.103).aspx
저장 프로시저 디버깅
Transact-SQL 디버거를 사용하면 SQL 저장 프로시저의 SQL 호출 스택, 지역 변수 및 매개 변수를 표시하여 저장 프로시저를 대화식으로 디버깅할 수 있습니다. 다른 프로그래밍 언어로 디버깅할 때와 마찬가지로 Transact-SQL 스크립트를 디버깅하는 동안 지역 변수 및 매개 변수를 보고 수정하고, 전역 변수를 볼 수 있을 뿐 아니라, 중단점을 제어 및 관리할 수도 있습니다.
이 예에서는 Transact-SQL 저장 프로시저를 만들고 이를 한 단계씩 실행하여 디버깅하는 방법을 보여 줍니다.
![]() |
---|
다음 절차에서는 이전의 연결된 데이터베이스 개발 및 프로젝트 기반 오프라인 데이터베이스 개발 섹션에 나오는 절차에서 만든 엔터티를 사용합니다.
|
저장 프로시저를 디버깅하려면
-
솔루션 탐색기에서 TradeDev 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 저장 프로시저를 선택합니다. 이 새 저장 프로시저의 이름을 AddProduct로 지정하고 추가를 클릭합니다.
-
저장 프로시저에 다음 코드를 붙여 넣습니다.
CREATE PROCEDURE [dbo].[AddProduct] @id int, @name nvarchar(128) AS INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name)
-
F5 키를 눌러 프로젝트를 빌드하고 배포합니다.
-
SQL Server 개체 탐색기의 로컬 노드에서 TradeDev 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.
-
쿼리 창에 다음 코드를 붙여 넣습니다.
EXEC [dbo].[AddProduct] 50, N'Contoso'; GO
-
왼쪽 창 여백을 클릭하여
EXEC
문에 중단점을 추가합니다. -
Transact-SQL 편집기 도구 모음의 녹색 화살표 단추에 있는 드롭다운 화살표를 누르고 디버거를 사용하여 실행을 선택하여 디버깅이 설정된 상태로 쿼리를 실행합니다.
-
또는 SQL Server 개체 탐색기에서 디버깅을 시작할 수 있습니다. 로컬 -> TradeDev 데이터베이스 -> 프로그래밍 기능 -> 저장 프로시저 아래에 있는 AddProduct 저장 프로시저를 마우스 오른쪽 단추로 클릭합니다. 프로시저 디버그...를 선택합니다. 개체에 매개 변수가 필요한 경우 각 매개 변수의 행이 포함된 테이블이 있는 프로시저 디버그 대화 상자가 나타납니다. 테이블의 각 행에는 매개 변수의 이름 열과 해당 매개 변수의 값 열이 있습니다. 각 매개 변수의 값을 입력하고 확인을 클릭합니다.
-
지역 창이 열려 있는지 확인합니다. 지역 창이 열려 있지 않으면 디버그 메뉴를 클릭하고 창을 선택한 다음 로컬을 선택합니다.
-
F11 키를 눌러 쿼리를 한 단계씩 실행합니다. 저장 프로시저의 매개 변수와 해당 값이 지역 창에 표시됩니다. 또는 마우스를
INSERT
절의@name
매개 변수 위에 놓아도 할당될 Contoso 값이 표시됩니다. -
텍스트 상자에서 Contoso를 클릭합니다. 디버깅하는 동안 Fabrikam을 입력하고 Enter 키를 눌러
name
변수 값을 변경합니다. 지역 창의 값을 변경할 수도 있습니다. 이제 매개 변수의 값이 변경되었음을 나타내는 빨간색으로 표시됩니다. -
F10 키를 눌러 나머지 코드를 한 단계씩 실행합니다.
-
Product 테이블의 데이터 뷰에 있는 새로운 내용을 보려면 SQL Server 개체 탐색기에서 TradeDev 데이터베이스 노드를 새로 고칩니다.
-
SQL Server 개체 탐색기의 로컬 노드에서 TradeDev 데이터베이스의 Product 테이블을 찾습니다.
-
Product 테이블을 마우스 오른쪽 단추로 클릭하고 데이터 보기를 선택합니다. 새 행이 테이블에 추가되었는지 확인합니다.