방법: Transact-SQL 디버깅 사용

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

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

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

Visual Studio를 사용하여 Transact-SQL을 디버깅하려면 SQL Server 2005 이상 버전의 SQL Server 데이터베이스 서버가 필요하며 적절한 권한을 설정해야 합니다.해당 SQL Server 인스턴스가 다른 컴퓨터에서 실행되고 있는 경우 두 컴퓨터에 모두 Windows 방화벽도 구성해야 합니다.

참고   SQL Server 2000 이전 버전을 사용하여 Transact-SQL을 디버깅하는 기능은 지원되지 않습니다.

Visual Studio를 사용하여 SQL CLR 코드(관리 코드를 사용하는 데이터베이스 개체)를 디버깅할 수도 있습니다.원격 데이터베이스 서버의 SQL CLR을 디버깅하려면 SQL Server 인스턴스를 실행하는 컴퓨터에 원격 디버깅 모니터를 설치해야 합니다.자세한 내용은 방법: 원격 디버깅 설정관리 코드를 사용하는 데이터베이스 개체 디버깅(SQL CLR 디버깅)을 참조하십시오.

SQL Server Management Studio에서 Transact-SQL을 디버깅하는 방법은 Transact-SQL 디버거 사용을 참조하십시오.

SQL Server 인스턴스에서 SQL Server 권한을 준비하려면

  1. SQL Server sysadmin 고정 서버 역할에 응용 프로그램 계정을 추가합니다.응용 프로그램 계정은 Visual Studio가 실행되는 Windows 계정입니다.이 작업을 수행하려면 sysadmin의 멤버인 로그인을 사용하여 다음 Transact-SQL 문을 실행합니다. 여기서 Domain\Name은 Windows 계정 로그인인 sp_addsrvrolemember 'Domain\Name', 'sysadmin'을 나타냅니다.

  2. SQL Server sysadmin 고정 서버 역할에 연결 계정을 추가합니다.연결 계정은 Transact-SQL 코드에서 SQL Server 인스턴스 연결에 사용하는 Windows 로그인 또는 SQL Server 로그인입니다.이 작업을 수행하려면 sysadmin의 멤버인 로그인을 사용하여 다음 Transact-SQL 문을 실행합니다. 여기서 Domain\Name은 해당 계정인 sp_addsrvrolemember 'Domain\Name', 'sysadmin'을 나타냅니다.

참고

다음 이유로 인해 Transact-SQL 코드는 프로덕션 서버가 아니라 테스트 서버에서 디버깅하는 것이 좋습니다. 디버깅은 높은 권한이 필요한 작업입니다.따라서 sysadmin 고정 서버 역할의 멤버만 SQL Server에서 디버깅할 수 있습니다.디버깅 세션은 사용자가 여러 Transact-SQL 문 작업을 조사하는 동안 장기간 실행되는 경우가 많습니다.업데이트 잠금과 같이 세션에 의해 획득되는 잠금은 세션이 끝나거나 트랜잭션이 커밋 또는 롤백될 때까지 장기간 보유될 수 있습니다.

원격 디버깅에 대해 Windows 방화벽을 준비하려면(SQL Server가 다른 컴퓨터에서 실행되고 있는 경우)

  1. Visual Studio가 실행되는 컴퓨터에서 Windows 방화벽 예외 목록에 다음을 추가해야 합니다.

    1. Visual Studio 프로그램, Devenv.exe

    2. TCP 포트 135

  2. SQL Server 인스턴스가 실행되는 컴퓨터에서 Windows 방화벽 예외 목록에 다음을 추가해야 합니다.

    1. SQL Server 프로그램, sqlservr.exe.기본적으로 sqlservr.exe는 C:\Program Files\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn에 설치됩니다. 여기서 InstanceName은 기본 인스턴스의 경우 MSSQLSERVER이고 명명된 임의 인스턴스의 경우 해당 인스턴스 이름입니다.

    2. TCP 포트 135

    3. 도메인 정책에 따라 IPSec을 통해 네트워크 통신을 수행해야 하는 경우 UDP 4500 및 UDP 500 포트도 열어야 합니다.

참고 항목

참조

Transact-SQL 디버깅 설정 오류 및 문제 해결

개념

Transact-SQL 디버깅

관련 자료

Transact-SQL 디버깅 설정

디버그 설정 및 준비

SQL 2000 Desktop Engine에서 SQL 디버깅 사용

방법: 원격 디버깅 설정

관리 코드를 사용하는 데이터베이스 개체 디버깅(SQL CLR 디버깅)