연습: 확장 저장 프로시저 디버깅

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

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

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

경고

확장 저장 프로시저는 더 이상 사용되지 않습니다.이전 버전과의 호환성을 위해 ASP.NET에서는 계속 지원되지만 이 지원은 이후 릴리스에서 제거될 것입니다.

확장 저장 프로시저는 파일 시스템 액세스, 레지스트리 읽기 등 Transact-SQL에서는 수행할 수 없는 작업을 지원하기 위해 도입되었습니다.이제 SQL CLR 프로시저를 작성하여 이러한 작업을 수행할 수 있으므로 확장 저장 프로시저를 작성할 필요가 없습니다.새 확장 저장 프로시저를 작성하지 말고 기존 확장 저장 프로시저는 동등하지만 보다 안전한 SQL CLR 저장 프로시저로 바꾸는 것이 좋습니다.

확장 저장 프로시저는 C++ 또는 SQL 이외의 다른 언어로 작성된 DLL입니다.따라서 확장 저장 프로시저를 디버깅하는 것은 해당 언어의 DLL을 디버깅하는 것과 매우 유사합니다.

경고

확장 저장 프로시저는 대체로 네이티브 C++로 작성되며 관리 코드에서 제공하는 보호 기능이 없습니다.확장 저장 프로시저에 버그가 있을 경우 SQL Server가 손상될 수 있으므로 주의해서 테스트해야 합니다.잠재적 데이터 손실과 기타 문제를 방지하려면 프로덕션 서버에서 확장 저장 프로시저를 디버깅하지 마십시오.자세한 내용은 ASP.NET 온라인 설명서를 참조하십시오.

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

확장 저장 프로시저를 디버깅하려면

  1. 확장 저장 프로시저 DLL의 디버그 빌드에서 시작합니다.디버깅할 확장 저장 프로시저를 호출하는 응용 프로그램도 필요합니다.이러한 응용 프로그램이 준비되어 있지 않으면 다음 작업 중 하나를 수행합니다.

    • 확장 저장 프로시저와 확장 저장 프로시저를 호출하는 코드가 포함된 데이터베이스에 대한 데이터 연결을 사용하여 Visual Studio 데이터베이스 프로젝트를 만듭니다.

    • 확장 저장 프로시저를 호출하는 SQL 스크립트 파일을 만듭니다.

      - 또는 -

    • SQL Server에 포함된 SQL Server Management Studio 또는 ODBC SDK에 포함된 ODBC Test와 같은 응용 프로그램을 사용합니다.

  2. SQL Server가 현재 서비스로 실행되고 있는 경우 서비스 제어판을 열고 SQL Server를 선택한 다음 중지를 클릭하여 SQL Server를 중지합니다.

  3. 디버그 버전의 DLL을 Sqlservr.exe가 있는 디렉터리 또는 검색 경로에 있는 임의 디렉터리로 복사합니다.

    - 또는 -

    다음과 같이 빌드 후 이벤트를 설정하여 C++ 프로젝트에 있는 DLL을 복사합니다.

    1. <프로젝트> 속성 페이지 대화 상자를 엽니다.

    2. <프로젝트> 속성 페이지 대화 상자에서 구성 속성 폴더를 엽니다.

    3. 구성 속성에서 빌드 이벤트 폴더를 엽니다.

    4. 빌드 후 이벤트를 선택합니다.

    5. 표 컨트롤의 명령줄 옆에 복사 명령을 다음 예와 같이 입력합니다.

      Copy c:\MyProjects\MyXProc\debug\MyXProc.dll C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn

  4. 확장 저장 프로시저를 등록합니다.

  5. 확장 저장 프로시저 DLL의 호출 실행 파일 및 작업 디렉터리로 SQL Server를 지정합니다.구성 속성디버깅 범주에서 액세스할 수 있는 <프로젝트> 프로젝트 속성 대화 상자의 설정을 다음과 같이 수정합니다.

    • SQL Server가 기본 위치에 설치된 경우 명령 상자에 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\SQLSERVR.EXE를 입력합니다.

    • 작업 디렉터리 항목을 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn으로 설정합니다.

    • 명령 인수 항목을 -c로 설정합니다.-c 옵션은 명령이 서비스로 시작되지 않고 명령줄에서 시작되므로 SQL Server가 더 빨리 시작됨을 SQL Server에 나타냅니다.SQL Server가 서비스로 시작되지 않고 Visual Studio 디버깅 환경에서 제어되는 콘솔 응용 프로그램으로 시작됩니다.이렇게 하면 중단점을 올바르게 트래핑하고 처리할 수 있습니다.

  6. 확장 저장 프로시저의 소스 코드에 중단점을 설정합니다.

  7. 실행 명령을 사용하여 디버깅 세션을 시작합니다.자세한 내용은 실행 제어를 참조하십시오.

    SQL Server를 시작하면 콘솔 창이 나타납니다.텍스트 스크롤이 중지되면 마지막 메시지가 다음과 같이 표시됩니다.

    시작 프로시저 'sp_sqlregister'이(가) 시작되었습니다.

    SQL Server가 시작되고 요청 처리를 시작합니다.

  8. 확장 저장 프로시저를 실행합니다.

    중단점이 있는 줄에 도달하면 디버거가 중단됩니다.

    확장 저장 프로시저를 작성하는 방법은 Microsoft 기술 자료 문서의 SQL Server 단원이나 MSDN Library에 있는 SQL Server 설명서의 확장 저장 프로시저 프로그래밍 단원을 참조하십시오.

참고 항목

개념

Transact-SQL 디버깅