MSSQL에서 연결된서버를 이용하면 데이터이용이 매우 용이하다만...
설정을 해놓지 않으면 프로시저는 제대로 실행이 되지 않는다.
여러 해결방법이있지만 결론은 전부 다 해놔야 안심이다.
본인도 세시간 삽질끝에 모든 설정 다 맞춰놓고 마지막에서 해결이 되었다....
이딴 에러들이 나온다...
트랜잭션 관리자가 원격/네트워크 트랜잭션에 대한 지원을 할 수 없습니다
분산 트랜잭션을 시작할 수 없으므로 요청한 작업을 수행할 수 없습니다
기본단계
1. 시작을 누르고 제어판을 가리킨 다음 프로그램 추가/제거를 누릅니다.
2. Windows 구성 요소 추가/제거를 누릅니다.
3. 응용 프로그램 서버를 선택한 다음 자세히를 누릅니다.
4. 네트워크 DTC 액세스 사용을 선택한 다음 확인을 누릅니다.
5. 다음을 누릅니다.
6. 마침을 누릅니다.
7. Distributed Transaction Coordinator 서비스를 중지한 다음 다시 시작합니다.
8. 이 분산 트랜잭션에 참여하는 리소스 관리자 서비스(예: Microsoft SQL Server 또는 Microsoft Message Queue Server)를 모두 중지한 다음 다시 시작
다음
구성요소 서비스 >내컴퓨터 > 속성 > MSDTC > 보안구성 에서
네트워크 DTC체크, 원격클라이언트허용, 원격관리 허용
인바운드,아웃바운드 허용
인증필요없음
XA트랜젝션 사용
모두 첵쳌
담
1. MSDTC 는 NETBios 로 호출하기 때문에 라우터를 넘어갈 수 없다.
즉 탐색기 > 내 네트워크환경 > 전체네트워크 내에 있는 것만 가능...
확인은 ping [컴퓨터이름] : ping 잘 가면 OK
2. 방화벽 확인
서버와 클리언트간 135, 137 포트가 열려 있는지 확인한다.
3. 최종 dtcping 프로그램으로 확인
그리고!
C:\WINDOWS\system32\drivers\etc\hosts 파일 편집!!
112.XXX.000.777 test-3
이런식으로 연결하려는 상대방 호스트를 입력해준다~ 쌍방모두!
즉 연결된 서버 둘다 서로의 호스트를 입력해줄것!
추가추가..
연결된서버 설정을 보면 속성에서 서버옵션을 보면
RPC, RPC내보내기, 원격데이터 정렬사용 모두 TRUE로 해준다! 양쪽 모두!
추가추가
트랜젝션문을
BEGIN DISTRIBUTED TRANSACTION
SET XACT_ABORT ON
--실행쿼리
SET XACT_ABORT OFF
COMMIT TRAN
이런식으로 구성해준다.
에러구문으로 구글링을 해보면 수많은 사례가 나오는데 결국은 대부분 이정도이다.
아우,...삽질...ㅠ_ㅜ
'MSSQL' 카테고리의 다른 글
text 타입 컬럼을 replace 하는 방법 (0) | 2012.03.07 |
---|---|
백업 세트에 기존 데이터베이스가 아닌 데이터베이스의 백업이 있습니다. 오류 (1) | 2012.01.16 |
기본DB정보 출력 (0) | 2011.09.08 |
프로스저 명세서 출력(퍼옴) (0) | 2011.08.31 |
[스크랩] MSsql 테이블정의서 추출(2000,2005공용) (0) | 2011.08.30 |