데이터베이스 엔진 쿼리 편집기가 아닌 다른 컴퓨터에서 실행되는 데이터베이스 엔진의 인스턴스에 연결된 경우 Transact-SQL 디버깅을 사용하도록 Windows 방화벽 규칙을 구성해야 합니다.
Transact-SQL 디버거 구성
Transact-SQL 디버거에는 서버 쪽 구성 요소와 클라이언트 쪽 구성 요소가 모두 포함됩니다. 서버 쪽 디버거 구성 요소는 SQL Server 2005 SP2(서비스 팩 2) 이상에서 데이터베이스 엔진의 각 인스턴스와 함께 설치됩니다. 클라이언트 쪽 디버거 구성 요소는 다음과 같습니다.
SQL Server 2008 이상에서 클라이언트 쪽 도구를 설치하는 경우
Microsoft Visual Studio 2010 이상을 설치하는 경우
웹 다운로드에서 SSDT(SQL Server Data Tools)를 설치하는 경우
SQL Server Management Studio 또는 SQL Server Data Tools가 SQL Server 데이터베이스 엔진 인스턴스와 동일한 컴퓨터에서 실행되는 경우 Transact-SQL 디버거를 실행하기 위한 구성 요구 사항은 없습니다. 그러나 데이터베이스 엔진의 원격 인스턴스에 연결된 경우 Transact-SQL 디버거를 실행하려면 두 컴퓨터 모두에서 Windows 방화벽의 프로그램 및 포트 규칙을 사용하도록 설정해야 합니다. 이러한 규칙은 SQL Server 설치 프로그램에서 만들 수 있습니다. 원격 디버깅 세션을 열려고 시도하는 동안 오류가 발생하는 경우 컴퓨터에 다음 방화벽 규칙이 정의되어 있는지 확인합니다.
고급 보안 애플리케이션에서 Windows 방화벽을 사용하여 방화벽 규칙을 관리합니다. Windows 7 및 Windows Server 2008 R2에서 제어판을 열고 Windows 방화벽을 열고 고급 설정을 선택합니다. Windows Server 2008 R2에서는 Service Manager를 열고, 왼쪽 창에서 구성 을 확장하고, 고급 보안이 포함된 Windows 방화벽을 확장할 수도 있습니다.
주의
Windows 방화벽에서 규칙을 사용하도록 설정하면 방화벽이 차단하도록 설계된 보안 위협에 컴퓨터를 노출할 수 있습니다. 원격 디버깅에 대한 규칙을 사용하도록 설정하면 이 항목에 나열된 포트 및 프로그램의 차단이 해제됩니다.
서버의 방화벽 규칙
데이터베이스 엔진 인스턴스를 실행하는 컴퓨터에서 고급 보안이 포함된 Windows 방화벽 을 사용하여 다음 정보를 지정합니다.
sqlservr.exe대한 인바운드 프로그램 규칙을 추가합니다. 원격 디버깅 세션을 지원해야 하는 각 인스턴스에 대한 규칙이 있어야 합니다.
고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 프로그램을 선택하고 다음을 클릭합니다.
프로그램 대화 상자에서 이 프로그램 경로를 선택하고 이 인스턴스에 대한 sqlservr.exe 전체 경로를 입력합니다. 기본적으로 sqlservr.exe C:\Program Files\Microsoft SQL Server\MSSQL12 설치됩니다. InstanceName\MSSQL\Binn. 여기서 InstanceName 은 기본 인스턴스의 MSSQLSERVER이고 명명된 인스턴스의 인스턴스 이름입니다.
작업 대화 상자에서 연결 허용을 선택하고 다음을 클릭합니다.
프로필 대화 상자에서 인스턴스로 디버깅 세션을 열려는 경우 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 클릭합니다.
이름 대화 상자에서 이 규칙의 이름과 설명을 입력하고 마침을 클릭합니다.
인바운드 규칙 목록에서 만든 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 속성을 선택합니다.
프로토콜 및 포트 탭을 선택합니다.
프로토콜 유형: 상자에서 TCP를 선택하고 로컬 포트에서 RPC 동적 포트를 선택합니다. 상자, 적용을 클릭한 다음 확인을 클릭합니다.
svchost.exe 대한 인바운드 프로그램 규칙을 추가하여 원격 디버거 세션에서 DCOM 통신을 사용하도록 설정합니다.
고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 프로그램을 선택하고 다음을 클릭합니다.
프로그램 대화 상자에서 이 프로그램 경로를 선택하고 svchost.exe전체 경로를 입력합니다. 기본적으로 svchost.exe %systemroot%\System32\svchost.exe설치됩니다.
작업 대화 상자에서 연결 허용을 선택하고 다음을 클릭합니다.
프로필 대화 상자에서 인스턴스로 디버깅 세션을 열려는 경우 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 클릭합니다.
이름 대화 상자에서 이 규칙의 이름과 설명을 입력하고 마침을 클릭합니다.
인바운드 규칙 목록에서 만든 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 속성을 선택합니다.
프로토콜 및 포트 탭을 선택합니다.
프로토콜 유형: 상자에서 TCP를 선택하고 로컬 포트에서 RPC 엔드포인트 매퍼를 선택합니다. 상자, 적용을 클릭한 다음 확인을 클릭합니다.
도메인 정책에서 IPsec을 통해 네트워크 통신을 수행해야 하는 경우 UDP 포트 4500 및 UDP 포트 500을 여는 인바운드 규칙도 추가해야 합니다.
클라이언트의 방화벽 규칙
데이터베이스 엔진 쿼리 편집기를 실행하는 컴퓨터에서 SQL Server 설정 또는 SQL Server 데이터 도구 설정이 원격 디버깅을 허용하도록 Windows 방화벽을 구성했을 수 있습니다.
원격 디버깅 세션을 열려고 시도하는 동안 오류가 발생하는 경우 고급 보안이 포함된 Windows 방화벽 을 사용하여 방화벽 규칙을 구성하여 프로그램 및 포트 예외를 수동으로 구성할 수 있습니다.
svchost에 대한 프로그램 항목을 추가합니다.
고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 프로그램을 선택하고 다음을 클릭합니다.
프로그램 대화 상자에서 이 프로그램 경로를 선택하고 svchost.exe전체 경로를 입력합니다. 기본적으로 svchost.exe %systemroot%\System32\svchost.exe설치됩니다.
작업 대화 상자에서 연결 허용을 선택하고 다음을 클릭합니다.
프로필 대화 상자에서 인스턴스로 디버깅 세션을 열려는 경우 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 클릭합니다.
이름 대화 상자에서 이 규칙의 이름과 설명을 입력하고 마침을 클릭합니다.
인바운드 규칙 목록에서 만든 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 속성을 선택합니다.
프로토콜 및 포트 탭을 선택합니다.
프로토콜 유형: 상자에서 TCP를 선택하고 로컬 포트에서 RPC 엔드포인트 매퍼를 선택합니다. 상자, 적용을 클릭한 다음 확인을 클릭합니다.
데이터베이스 엔진 쿼리 편집기를 호스트하는 애플리케이션에 대한 프로그램 항목을 추가합니다. 동일한 컴퓨터의 SQL Server Management Studio 및 SQL Server Data Tools에서 원격 디버깅 세션을 열어야 하는 경우 다음 두 가지 모두에 대한 프로그램 규칙을 추가해야 합니다.
고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 프로그램을 선택하고 다음을 클릭합니다.
프로그램 대화 상자에서 이 프로그램 경로를 선택하고 다음 세 값 중 하나를 입력합니다.
SQL Server Management Studio의 경우 ssms.exe전체 경로를 입력합니다. 기본적으로 ssms.exe C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\Management Studio에 설치됩니다.
SQL Server Data Tools의 경우 devenv.exe전체 경로를 입력합니다.
기본적으로 Visual Studio 2010에 대한 devenv.exe C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE에 있습니다.
기본적으로 Visual Studio 2012에 대한 devenv.exe C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE에 있습니다.
SQL Server Management Studio를 시작하는 데 사용하는 바로 가기에서 ssms.exe 경로를 찾을 수 있습니다. SQL Server Data Tools를 시작하는 데 사용하는 바로 가기에서 devenv.exe 경로를 찾을 수 있습니다. 바로 가기를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 실행 파일 및 경로가 대상 상자에 나열됩니다.
작업 대화 상자에서 연결 허용을 선택하고 다음을 클릭합니다.
프로필 대화 상자에서 인스턴스로 디버깅 세션을 열려는 경우 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 클릭합니다.
이름 대화 상자에서 이 규칙의 이름과 설명을 입력하고 마침을 클릭합니다.
인바운드 규칙 목록에서 만든 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 속성을 선택합니다.
프로토콜 및 포트 탭을 선택합니다.
프로토콜 유형: 상자에서 TCP를 선택하고 로컬 포트에서 RPC 동적 포트를 선택합니다. 상자, 적용을 클릭한 다음 확인을 클릭합니다.
디버거를 시작하기 위한 요구 사항
Transact-SQL 디버거를 시작하려는 모든 시도도 다음 요구 사항을 충족해야 합니다.
SQL Server Management Studio 또는 SQL Server Data Tools는 sysadmin 고정 서버 롤의 멤버인 Windows 계정으로 실행되어야 합니다.
Sysadmin 고정 서버 역할의 멤버인 Windows 인증 또는 SQL Server 인증 로그인을 사용하여 데이터베이스 엔진 쿼리 편집기 창을 연결해야 합니다.
데이터베이스 엔진 쿼리 편집기 창은 SQL Server 2005 SP2(서비스 팩 2) 이상에서 데이터베이스 엔진 인스턴스에 연결되어야 합니다. 쿼리 편집기 창이 단일 사용자 모드의 인스턴스에 연결된 경우에는 디버거를 실행할 수 없습니다.
서버는 RPC를 통해 클라이언트와 다시 통신해야 합니다. SQL Server 서비스가 실행 중인 계정에는 클라이언트에 대한 인증 권한이 있어야 합니다.
또한 참조하십시오
Transact-SQL 디버거
Transact-SQL 디버거 실행
Transact-SQL 코드 단계별 실행
Transact-SQL 디버거 정보
데이터베이스 엔진 쿼리 편집기(SQL Server Management Studio)