게시 된 복제 된 DB의 DB 호환성 수준이 90에서 100으로 변경 될 때의 영향


11

현재 호환성 수준 90 (2005)에서 작동하는 게시 된 데이터베이스가 많은 SQL Server 2008 R2 서버가 있습니다.

구독 데이터베이스도 SQL Server 2008 R2이지만 대상 데이터베이스가 호환성 수준 100으로 설정되어 복제가 제대로 작동합니다.

게시 된 데이터베이스의 호환성 수준을 변경하면 어떤 방식 으로든 복제에 영향을 주거나 모든 구독을 다시 초기화하고 복제를 다시 시작해야합니까?

게시 된 데이터베이스 호환성 수준을 변경하면 복제 저장 프로 시저의 기능이 약간 변경 될 수 있지만 100 % 확실하지는 않습니다.

이 경우입니까?


흥미로운 질문이지만 이러한 데이터베이스의 호환성 수준을 변경해야하는 이유가 있습니까? 문제가 해결되지 않으면 아마 그냥 내버려 둘 것입니다.
Jon Seigel

변경하려는 주된 이유는 DB와 서버가 단일 노드 2005 상자에서 다중 노드 2008R2 클러스터로 업그레이드 되었기 때문입니다. 또한, 사용할 수있게하려는 다른 기능 (예 : MERGE 등)도 있습니다.
Bob

1
호환성 수준의 기능에 대한이 질문을 읽어보십시오. dba.stackexchange.com/questions/5166/…
Jon Seigel

문명의 끝. 함께 사는 고양이와 개. 대량 히스테리. 또한 정부가 폐쇄 될 수 있다고 언급해야합니다. 그러나 당신은 그 점을 분명히 알고있는 것 같습니다.
swasheck

답변:


4

다음 단계를 수행 할 수 있습니다.

  • 데이터베이스에 대해 로그 리더 에이전트가 실행 중인지 확인하십시오. 기본적으로 에이전트는 지속적으로 실행됩니다.
  • 게시 된 테이블에서 사용자 활동을 중지하십시오.
  • Log Reader 에이전트가 트랜잭션을 분배 데이터베이스에 복사 할 때까지 기다린 후 에이전트를 중지하십시오.
  • sp_replcmds를 실행하여 모든 트랜잭션이 처리되었는지 확인하십시오. 이 절차의 결과 세트는 비어 있어야합니다.
  • sp_replflush를 실행하여 sp_replcmds에서 연결을 닫습니다.
  • 데이터베이스의 호환성 수준을 변경하십시오 .
  • 로그 리더 에이전트를 시작하십시오.

설치가 매우 비슷하고 동일한 작업을 수행하려고하지만 배포 데이터베이스도 90 호환 모드입니다. 내가 이해 한 바에 따르면 배포자는 게시자로서 낮은 호환성 모드에서 작동 할 수 없습니다. 따라서 로그 리더가 꺼진 후 "(게시 된) 데이터베이스의 호환성 수준 변경"앞에 "배포자의 호환성 수준 변경"을 간단하게 삽입해야합니까?
큐 맨

@QueueMann "Change compatibility level of distributor" before "Change the compatibility level of the (published) database"이 맞습니다. 배포 데이터베이스는 Publisher와 호환성이 같거나 높아야합니다. 게시자는 배포자와 동일하거나 낮은 수준에있을 수 있습니다.
Kin Shah

2

우리는 안전을 위해 데이터베이스 복제를 중단하고 호환성 수준을 변경 한 다음 다시 초기화했습니다. 문제가 발생하지 않았습니다. 꽤 작은 발행물이었으며 구독 한 데이터베이스는 하나뿐이었습니다. 복제 시나리오가 복잡해질수록 어려울 수 있다고 생각합니다. (즉, 많은 DB에서 발행물을 얻는 구독 DB 등)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.