728x90
네트워크 주소 변환 방화벽을 포함하여 방화벽을 통해 통신하도록 DTC를 구성할 수 있습니다.
DTC는 RPC(원격 프로시저 호출) 동적 포트 할당을 사용합니다. 기본적으로 RPC 동적 포트 할당은 1024 이상의 포트 번호를 임의로 선택합니다. 레지스트리를 수정하여 들어오는 통신에 RPC가 동적으로 할당하는 포트를 제어할 수 있습니다. 그런 다음 들어오는 외부 통신을 해당 포트 및 포트 135(RPC 엔드포인트 매퍼 포트)로만 제한하도록 방화벽을 구성할 수 있습니다.
허용포트 : 135, 1024이상포트 모두 (DTC 동적포트로 설정시)
오류내용
DTC 포트가 막혀 있으면 아래와 같은 오류가 발생한다.
오류 : 개발DB서버에서 분산트랜잭션이 작동하지 않았다. 상황에 따라 다른 에러코드가 반환됐는데, 다음과 같았다.
OLE/DB 공급자 'SQLOLEDB'이(가) 분산 트랜잭션을 시작할 수 없으므로 작업을 수행할 수 없습니다.
참고사항
DTC(분산트랜잭션) 서비스는 한쪽만 방화벽 막혀있으면 두쪽 디비가 모두 통신 장애가 발생한다.
연결 테스트 쿼리
분산트랜잭션 서비스 확인
BEGIN DISTRIBUTED TRANSACTION;
CREATE TABLE #temp01 (colum_name varchar(100))
INSERT #temp01 SELECT top 1 name FROM 링크서버명.master.dbo.sysobjects WITH (NOLOCK)
SELECT * FROM #temp01
DROP TABLE #temp01
COMMIT TRANSACTION;
GO
링크드서버 서비스확인
SET XACT_ABORT ON
BEGIN TRAN
CREATE TABLE #temp01 (colum_name varchar(100))
INSERT #temp01 SELECT top 1 name FROM 링크서버명.master.dbo.sysobjects WITH (NOLOCK)
SELECT * FROM #temp01
DROP TABLE #temp01
COMMIT;
GO
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] IDENTITY_INSERT가 OFF로 설정되면 테이블 열에 명시적 값을 삽입할 수 없습니다 (0) | 2023.01.29 |
---|---|
[MSSQL] UNION ALL 오류 체크(알 수 없는 쿼리 사용) (0) | 2023.01.29 |
[MSSQL] 비상 로그 백업 및 복원(MDF 파일 장애 발생-복구 보류 중) (0) | 2023.01.29 |
[MSSQL] 호환성 레벨 수준 차이점(160, 150, 140, 130, 120, 110, 100, 90) (0) | 2023.01.28 |
[MSSQL] 2019 신규 함수 Approx_Count_distinct (0) | 2023.01.28 |
댓글