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 배포 데이터베이스의 또는 replmonitor 고정 데이터베이스 역할의 db_owner 멤버, 배포 데이터베이스를 사용하는 게시의 PAL(게시 액세스 목록)에 있는 사용자 또는 배포 데이터베이스의 MSdistributiondbs 시스템 테이블에 대한 SELECT 권한이 있는 사용자만 검색할 수 있습니다.

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

속성을 검색하는 MaxDistributionRetention 것은 sp_helpdistributiondb 실행하는 것과 같습니다.

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

적용 대상

추가 정보