DistributionDatabase 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表分銷商的分銷資料庫。
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
- 繼承
範例
// 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) |