DistributionDatabase 類別

定義

代表分銷商的分銷資料庫。

public ref class DistributionDatabase sealed : Microsoft::SqlServer::Replication::ReplicationObject
public sealed class DistributionDatabase : Microsoft.SqlServer.Replication.ReplicationObject
type DistributionDatabase = class
    inherit ReplicationObject
Public NotInheritable Class DistributionDatabase
Inherits ReplicationObject
繼承
DistributionDatabase

範例

// 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

備註

線程安全性

任何此類的公開靜態(SharedMicrosoft Visual Basic)成員對多執行緒操作都是安全的。 任何實例成員都不保證具有執行緒安全性。

建構函式

名稱 Description
DistributionDatabase()

建立 DistributionDatabase 類別的新實例。

DistributionDatabase(String, ServerConnection)

建立一個新的類別實例 DistributionDatabase ,使用指定的資料庫名稱並連接到 Distributor。

屬性

名稱 Description
CachePropertyChanges

取得或設定是快取複製屬性的變更,還是立即套用。

(繼承來源 ReplicationObject)
ConnectionContext

取得或設定連接到 Microsoft SQL Server 實例。

(繼承來源 ReplicationObject)
DataFile

取得或設定分發資料庫資料檔案的名稱。

DataFileSize

取得或設定分配資料庫的主要資料庫檔案大小。

DataFolder

取得或設定包含分發資料庫資料檔案目錄的路徑。

DistributionCleanupTaskName

取得負責清理發行版複製資料表的 SQL Server Agent 工作名稱。

DistributorSecurity

取得連接分發商以建立分發資料庫所需的安全上下文。

HistoryCleanupTaskName

取得負責清理複寫歷史資料表的 SQL Server Agent 工作名稱。

HistoryRetention

取得或設定複製代理歷史資料需保留的時間長度(以小時計)。

IsExistingObject

它會判斷該物件是否存在於伺服器上。

(繼承來源 ReplicationObject)
LogFile

取得或設定儲存資料庫交易日誌記錄的檔案名稱。

LogFileSize

取得或設定儲存資料庫交易日誌記錄的檔案大小。

LogFolder

取得或設定路徑到存放資料庫交易日誌檔案的目錄。

MaxDistributionRetention

取得或設定交易從分發資料庫刪除前的最大保留期限(以小時計)。

MinDistributionRetention

取得或設定最短保留期(以小時計),在交易從分發資料庫刪除前。

Name

取得或設定分發資料庫的名稱。

QueueReaderAgentExists

取得或設定是否已為此分發資料庫建立佇列讀取代理工作。

QueueReaderAgentName

取得或設定為此分發資料庫所建立的佇列讀取代理工作名稱。

QueueReaderAgentProcessSecurity

取得執行佇列讀取代理任務的代理程序安全上下文。

SqlServerName

取得該物件所連接的 Microsoft SQL Server 實例名稱。

(繼承來源 ReplicationObject)
UserData

取得或設定一個物件屬性,讓使用者能將自己的資料附加到物件上。

(繼承來源 ReplicationObject)

方法

名稱 Description
CheckValidCreation()

檢查有效的複製建立。

(繼承來源 ReplicationObject)
CheckValidDefinition(Boolean)

表示該定義是否有效。

(繼承來源 ReplicationObject)
CleanUpAnonymousSubscription(Int32, PublicationType)

移除發行商匿名訂閱的元資料。

CommitPropertyChanges()

將所有快取的屬性變更語句傳送到 Microsoft SQL Server 實例。

(繼承來源 ReplicationObject)
Create()

建立分銷資料庫。

CreateQueueReaderAgent()

在分發資料庫建立佇列讀取代理工作。

Decouple()

將參考的複製物件與伺服器解耦。

(繼承來源 ReplicationObject)
GetChangeCommand(StringBuilder, String, String)

回傳複製中的變更指令。

(繼承來源 ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

回傳複製中的 create 指令。

(繼承來源 ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

從複製中回傳 drop 指令。

(繼承來源 ReplicationObject)
InternalRefresh(Boolean)

會從複製中啟動內部刷新。

(繼承來源 ReplicationObject)
Load()

從伺服器載入現有物件的屬性。

(繼承來源 ReplicationObject)
LoadProperties()

從伺服器載入現有物件的屬性。

(繼承來源 ReplicationObject)
Refresh()

重新載入物件的屬性。

(繼承來源 ReplicationObject)
RegisterBusinessLogicHandler(BusinessLogicHandler)

在分發器註冊一個商業邏輯處理器組件。

Remove()

刪除分銷資料庫。

Script(ScriptOptions)

產生一個 Transact-SQL 腳本,可用於建立或刪除該物件所代表的分發資料庫。

UnregisterBusinessLogicHandler(BusinessLogicHandler)

移除商業邏輯處理器從發行商的註冊中。

適用於

另請參閱