언어

DistributionDatabase.MaxDistributionRetention 속성

정의

트랜잭션이 배포 데이터베이스에서 삭제되기 전 최대 보존 기간(시간 단위)을 설정합니다.

public:
 property int MaxDistributionRetention { int get(); void set(int value); };
public int MaxDistributionRetention { get; set; }
member this.MaxDistributionRetention : int with get, set
Public Property MaxDistributionRetention As Integer

속성 값

가치.Int32

예제

// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2012";

DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;

// Create a connection to the server using Windows Authentication.
ServerConnection conn = new ServerConnection(publisherName);

try
{
    // Connect to the server acting as the Distributor 
    // and local Publisher.
    conn.Connect();

    // Define the distribution database at the Distributor,
    // but do not create it now.
    distributionDb = new DistributionDatabase(distributionDbName, conn);
    distributionDb.MaxDistributionRetention = 96;
    distributionDb.HistoryRetention = 120;

    // Set the Distributor properties and install the Distributor.
    // This also creates the specified distribution database.
    distributor = new ReplicationServer(conn);
    distributor.InstallDistributor((string)null, distributionDb);

    // Set the Publisher properties and install the Publisher.
    publisher = new DistributionPublisher(publisherName, conn);
    publisher.DistributionDatabase = distributionDb.Name;
    publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
    publisher.PublisherSecurity.WindowsAuthentication = true;
    publisher.Create();

    // Enable AdventureWorks2012 as a publication database.
    publicationDb = new ReplicationDatabase(publicationDbName, conn);

    publicationDb.EnabledTransPublishing = true;
    publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
    conn.Disconnect();
}
' Set the server and database names
Dim distributionDbName As String = "distribution"
Dim publisherName As String = publisherInstance
Dim publicationDbName As String = "AdventureWorks2012"

Dim distributionDb As DistributionDatabase
Dim distributor As ReplicationServer
Dim publisher As DistributionPublisher
Dim publicationDb As ReplicationDatabase

' Create a connection to the server using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Try
    ' Connect to the server acting as the Distributor 
    ' and local Publisher.
    conn.Connect()

    ' Define the distribution database at the Distributor,
    ' but do not create it now.
    distributionDb = New DistributionDatabase(distributionDbName, conn)
    distributionDb.MaxDistributionRetention = 96
    distributionDb.HistoryRetention = 120

    ' Set the Distributor properties and install the Distributor.
    ' This also creates the specified distribution database.
    distributor = New ReplicationServer(conn)
    distributor.InstallDistributor((CType(Nothing, String)), distributionDb)

    ' Set the Publisher properties and install the Publisher.
    publisher = New DistributionPublisher(publisherName, conn)
    publisher.DistributionDatabase = distributionDb.Name
    publisher.WorkingDirectory = "\\" + publisherName + "\repldata"
    publisher.PublisherSecurity.WindowsAuthentication = True
    publisher.Create()

    ' Enable AdventureWorks2012 as a publication database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)

    publicationDb.EnabledTransPublishing = True
    publicationDb.EnabledMergePublishing = True

Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("An error occured when installing distribution and publishing.", ex)

Finally
    conn.Disconnect()

End Try

설명

이 속성은 MaxDistributionRetention 트랜잭션이 삭제되기 전까지의 최대 보존 기간을 지정합니다. 최대 배포 유지 기간보다 오래된 복제 명령어를 아직 받지 않은 구독은 비활성 상태로 표시됩니다.

이 속성은 MaxDistributionRetention 배포 데이터베이스 내 또는 고정된 데이터베이스 역할의 db_ownerreplmonitor 구성원, 배포 데이터베이스를 사용하는 출판물의 출판 접근 목록(PAL) 사용자, 또는 배포 데이터베이스 내 MSdistributiondbs 시스템 테이블에 대해 SELECT 권한을 가진 사용자만 조회할 수 있습니다.

이 속성은 MaxDistributionRetention 배포자의 고정 서버 역할 구성원 sysadmin 만이 설정할 수 있습니다.

재산을 회수하는 것은 MaxDistributionRetentionsp_helpdistributiondb를 실행하는 것과 같습니다.

속성을 설정하는 것은 MaxDistributionRetentionsp_adddistributiondb 또는 sp_changedistributiondb 실행하는 것과 같습니다.

적용 대상

추가 정보