2010-04-30 7 views
0

데이터베이스 (DB-A)의 테이블 (Call TableA)에 데이터를 저장하는 SQL Server를 상속했습니다. 동일한 서버 (DB-B)의 다른 데이터베이스에서 tableA가 동일한 데이터를 바로 가져올 수 있습니다.SQL Server 복제 질문

어떻게 구현 되나요? 나는 추적을 보려고 노력하고 있지만 지금까지 운이 없다. 어떤 아이디어가 있습니까?

이 단계에서는 복제가 확실하지 않습니다. 이것은 추측입니다

답변

1

복제가 가능하거나 데이터를 이동시키는 소스 테이블에서 트리거가 될 수 있습니다.

+0

프로파일 러가 데이터베이스 A에서 저장된 proc에 의해 쓰기를 포착하지 못했습니다. 그래서 프로파일 러가 유휴 상태 였고 테이블이 업데이트되는 것을 보았습니다. 원인을 찾았습니다. 도움을 주셔서 감사합니다 – schar

1

아마도 트랜잭션 복제입니까? 복제본에 가서 구독자 또는 게시자가 있는지 확인할 수 있어야합니다. 또는 연결된 서버가 있고 트리거가 데이터를 복사하고 있습니다.

+0

두 데이터베이스는 동일한 컴퓨터에 있습니다. 다른 데이터베이스에 쓰는 트리거가 보이지 않습니다. 어떤 방법으로 나는 particluar 테이블에 대한 쓰기를 모니터 할 수 있습니까? – schar

+0

프로필러 추적을 만들고 대상 데이터베이스에서 필터링합니다. 테이블에 결과를 출력하는 경우 결과에 대해 sql 쿼리를 실행하여 적어도 기록이 언제 발생하는지 확인할 수 있습니다. 복제의 경우 ... 어떤 버전의 SQL Server를 사용하고 있습니까? 2k5 이상에서는 서버 노드 아래에 Replication 폴더가 있습니다. 열어서 출판물이나 구독을 찾는 노드를 확장하십시오. – Jeremy

+0

데이터베이스 A의 저장 프로 시저가 데이터베이스 B에 쓰고 있음을 발견했습니다. 프로파일 러는 저장 프로 시저 호출에서 write 문을 발견하지 못했습니다. 프로파일 러에 – schar

1

동의어 또는 데이터베이스 간보기를 사용하면이 문제가 발생할 가능성이 큽니다. 다른 데이터베이스의 "테이블"이 실제로 테이블인지 확인하십시오. 이것이 테이블 인 경우 두 데이터베이스간에 트랜잭션 복제를 설정했습니다.

select type_desc from sys.objects where name = 'name_on_database_b' 
+0

그들은 트랜잭션 복제로 설정되어 있는지 어떻게 확인합니까? – schar

+0

프로파일 러가 데이터베이스 A에서 저장된 proc에 의해 쓰기를 포착하지 못했습니다. 그래서 프로파일 러가 유휴 상태 였고 테이블이 업데이트되는 것을 보았습니다. 원인을 찾았습니다. 도와 주셔서 감사합니다 – schar