다음을 통해 공유


구독 만료 및 비활성화

적용 대상: SQL Server Azure SQL Managed Instance

지정된 보존 기간내에 동기화되지 않는 구독을 비활성화하거나 만료할 수 있습니다. 동작은 복제 유형 및 초과한 보존 기간에 따라 달라집니다.

보존 기간을 설정하려면 구독의 만료 기간 설정, 트랜잭션 게시에 대한 배포 보존 기간 설정(SQL Server Management Studio)게시 및 배포 구성을 참조하세요.

트랜잭션 복제

트랜잭션 복제는 최대 배포 보존 기간(sp_adddistributiondb(Transact-SQL)@max_distretention 매개 변수) 및 게시 보존 기간(sp_addpublication(Transact-SQL)@retention 매개 변수)을 사용합니다.

  • 구독이 최대 배포 보존 기간(기본값: 72시간) 내에 동기화되지 않고 배포 데이터베이스에 배달되지 않은 변경 내용이 있는 경우 구독은 배포자에서 실행되는 만료된 구독 정리 작업에 의해 비활성화된 것으로 표시됩니다. 구독을 다시 초기화해야 합니다.

  • 구독이 게시 보존 기간(기본값: 336시간) 내에 동기화되지 않는 경우 해당 구독은 만료되어 게시자에서 실행되는 만료된 구독 정리 작업에 의해 삭제됩니다. (KB4014798에서 수정되기 전에 이 작업의 이름은 배포 정리였습니다.) 구독을 다시 만들고 동기화해야 합니다.

    밀어넣기 구독이 만료되면 완전히 제거되지만 끌어오기 구독은 그렇지 않습니다. 끌어오기 구독은 구독자에서 정리해야 합니다. 자세한 내용은 끌어오기 구독 삭제를 참조하세요.

병합 복제

병합 복제는 게시 보존 기간(sp_addmergepublication(Transact-SQL)의 @retention@retention_period_unit 매개 변수)을 사용합니다. 구독이 만료되면 구독에 대한 메타데이터가 제거되므로 구독을 다시 초기화해야 합니다. 다시 초기화되지 않은 구독은 게시자에서 실행되는 만료된 구독 정리 작업에 의해 삭제됩니다. 기본적으로 이 작업은 매일 실행됩니다. 게시 보존 기간의 두 배 동안 동기화되지 않은 모든 밀어넣기 구독을 제거합니다. 예시:

  • 게시의 보존 기간이 14일인 경우 구독이 14일 이내에 동기화되지 않은 경우 만료될 수 있습니다.

    게시자가 SQL Server 2005(9.x) 이상 버전을 실행하고 있고 구독에 대한 에이전트가 SQL Server 2005(9.x) 이상 버전인 경우 해당 구독의 파티션에 데이터가 변경된 경우에만 구독이 만료됩니다. 예를 들어 구독자가 독일에 거주하는 고객에 대해서만 고객 데이터를 받는다고 가정합니다. 보존 기간을 14일로 설정하면 지난 14일 동안 독일 고객 데이터가 변경된 경우에만 구독이 14일에 만료됩니다.

  • 마지막 동기화 후 14일에서 27일까지 구독을 다시 초기화할 수 있습니다.

  • 마지막 동기화 후 28일이 지나면 만료된 구독 정리 작업으로 구독이 삭제됩니다. 밀어넣기 구독이 만료되면 완전히 제거되지만 끌어오기 구독은 그렇지 않습니다. 끌어오기 구독은 구독자에서 정리해야 합니다. 자세한 내용은 끌어오기 구독 삭제를 참조하세요.

병합 게시에 대한 게시 보존 기간 설정 시 고려 사항

병합 게시의 보존 기간을 설정할 때는 다음 사항을 고려해야 합니다.

  • 병합 게시의 보존 기간은 서로 다른 표준 시간대의 구독자를 수용할 수 있도록 24시간 유예 기간이 있습니다. 예를 들어 1일의 보존 기간을 설정하는 경우 실제 보존 기간은 48시간입니다.

  • 병합 복제 메타데이터 정리는 게시 보존 기간에 따라 달라집니다.

    • 보존 기간에 도달하기 전까지는 복제 작업을 통해 게시 및 구독 데이터베이스의 메타데이터를 정리할 수 없습니다. 보존 기간을 너무 길게 설정하면 복제 성능이 저하될 수 있으므로 주의해야 합니다. 모든 구독자가 해당 기간 내에 정기적으로 동기화될 것이라고 안정적으로 예측할 수 있는 경우 더 낮은 설정을 사용하는 것이 좋습니다.

    • @retention에 값 0을 지정하여 구독이 만료되지 않도록 지정할 수 있지만 이 경우 메타데이터를 정리할 수 없으므로 이 값은 사용하지 않도록 합니다.

  • 재게시자의 보존 기간은 원래 게시자에 설정된 보존 기간과 같거나 작은 값으로 설정해야 합니다. 또한 모든 게시자와 해당 대체 동기화 파트너에 대해 동일한 게시 보존 값을 사용해야 합니다. 다른 보존 값을 사용하면 데이터가 일치하지 않을 수 있습니다. 게시 보존 값을 변경해야 하는 경우 데이터가 수렴하지 않도록 구독자를 다시 초기화합니다.

  • 정리 후 게시 보존 기간이 증가하고 구독이 게시자와 병합하려고 하면(메타데이터가 이미 삭제됨) 보존 값이 증가하여 구독이 만료되지 않습니다. 그러나 게시자에는 구독자에 대한 변경 내용을 다운로드하기에 충분한 메타데이터가 없으므로 수렴되지 않습니다.

참고 항목

구독 다시 초기화
복제 에이전트 관리
게시 구독