연습: Transact-SQL 저장 프로시저 디버깅

이 항목은 다음 제품에 적용됩니다.

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

yet1b7by.DoesApplybmp(ko-kr,VS.100).gif yet1b7by.DoesApplybmp(ko-kr,VS.100).gif yet1b7by.DoesApplybmp(ko-kr,VS.100).gif yet1b7by.DoesNotApplybmp(ko-kr,VS.100).gif

이 예제에서는 Transact-SQL 저장 프로시저를 만들고, 데이터베이스를 직접 디버깅하여, 즉 서버 탐색기를 사용하여 저장 프로시저를 한 단계씩 실행하여 Transact-SQL 저장 프로시저를 디버깅하는 방법을 보여 줍니다.또한 중단점 설정, 데이터 항목 보기 등의 다른 디버깅 기능도 보여 줍니다.

참고

실제 설정이나 버전에 따라서 화면에 나타나는 대화 상자와 메뉴 명령이 도움말의 설명과 다를 수 있습니다.설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다.자세한 내용은 Visual Studio Settings을 참조하십시오.

Transact-SQL 저장 프로시저를 디버깅하려면

  1. 새 SQL Server 프로젝트에서 AdventureWorks2008 샘플 데이터베이스에 연결합니다.자세한 내용은 방법: 서버 탐색기를 사용하여 데이터베이스에 연결을 참조하십시오.

  2. 아래의 첫 번째 예제 섹션에 있는 코드를 사용하여 새 저장 프로시저를 만들고 이름을 HelloWorld로 지정합니다.자세한 내용은 방법: SQL Server 데이터베이스 프로젝트 또는 서버 프로젝트를 사용하여 디버깅을 참조하십시오.

  3. HelloWorld에 중단점을 설정하고 저장 프로시저의 코드를 한 단계씩 실행합니다.자세한 내용은 방법: 서버 탐색기를 사용하여 개체의 코드를 한 단계씩 실행을 참조하십시오.저장 프로시저의 첫 번째 실행 코드 줄인 SET @mynvarchar = @@VERSION 줄에 노란색 화살표로 표시된 지시 포인터가 나타납니다.

  4. 다른 디버깅 기능을 사용해 봅니다.

    1. 지역 창을 표시합니다.이 창을 표시하려면 디버그 메뉴에서 을 클릭한 다음 지역을 클릭합니다.지역 창에는 매개 변수 및 지역 변수가 해당 값과 함께 표시됩니다.저장 프로시저가 실행될 때 지역 창에서 변수 값을 편집할 수 있습니다.자세한 내용은 How to: Use Debugger Variable Windows을 참조하십시오.

      참고   서버가 변수 값의 변경 내용을 디버그 창에 반영하지 않을 수도 있습니다.자세한 내용은 SQL 디버깅 제한을 참조하십시오.

    2. F10 키를 눌러 저장 프로시저를 한 줄 실행합니다.지역 창에서 @mynvarchar 변수의 값이 변경되고 해당 값은 빨간색으로 표시되어 값이 변경되었음을 나타냅니다.

    3. 조사식 창을 표시합니다.이 창을 표시하려면 디버그 메뉴에서 을 클릭한 다음 조사식을 선택합니다.자세한 내용은 How to: Use Debugger Variable Windows을 참조하십시오.

    4. 텍스트 편집기에서 @mynvarchar 변수를 두 번 클릭하여 선택합니다.@mynvarchar 변수를 끌어 조사식 창의 임의의 위치에 놓습니다.해당 변수가 조사 변수 목록에 추가됩니다.

      참고   조사식 창에서 변수 값을 편집할 수도 있습니다.

    5. 텍스트 편집기에서 Return (0) 줄을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 중단점 삽입을 클릭합니다.

    6. 디버그 메뉴에서 계속을 클릭합니다.

  5. 다시 계속을 선택하여 저장 프로시저 디버깅을 마칩니다.

    참고 AdventureWorks2008 데이터베이스와 연결된 저장 프로시저 노드 아래에 표시되는 모든 저장 프로시저의 코드를 해당 데이터베이스에서 한 단계씩 실행할 수 있습니다.

다음은 저장 프로시저를 만들기 위한 코드입니다.

CREATE PROCEDURE HelloWorld
AS
    DECLARE @mynvarchar NVARCHAR(50),
            @myfloat FLOAT
    SET @mynvarchar  = @@VERSION
    SET @mynvarchar  = 'Hello, world!'
    SET @myfloat     = 1.6180
    PRINT @mynvarchar
    RETURN (0)

참고 항목

개념

Transact-SQL 디버깅

관련 자료

Server Explorer/Database Explorer