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)成员对多线程操作都是安全的。 不能保证任何实例成员是线程安全的。
构造函数
| 名称 | 说明 |
|---|---|
| DistributionDatabase() |
创建类的新实例 DistributionDatabase 。 |
| DistributionDatabase(String, ServerConnection) |
创建一个新的类实例 DistributionDatabase ,使用指定的数据库名称并连接到分发器。 |
属性
| 名称 | 说明 |
|---|---|
| CachePropertyChanges |
获取或设置是缓存复制属性的更改,还是立即应用。 (继承自 ReplicationObject) |
| ConnectionContext |
获取或设置连接到 Microsoft SQL Server 实例。 (继承自 ReplicationObject) |
| DataFile |
获取或设置分发数据库的数据文件名称。 |
| DataFileSize |
获取或设置分发数据库主数据库文件的大小。 |
| DataFolder |
获取或设置包含分发数据库数据文件目录的路径。 |
| DistributionCleanupTaskName |
获取负责清理发行版复制表的 SQL Server 代理 作业名称。 |
| DistributorSecurity |
获取连接分发器以创建分发数据库的安全上下文。 |
| HistoryCleanupTaskName |
获取负责清理复制历史表的 SQL Server 代理 作业名称。 |
| HistoryRetention |
获取或设定复制代理历史数据应保留的时间长度(小时计)。 |
| IsExistingObject |
判断该对象是否存在于服务器上。 (继承自 ReplicationObject) |
| LogFile |
获取或设置存储数据库事务日志记录的文件名称。 |
| LogFileSize |
获取或设置存储数据库事务日志记录的文件大小。 |
| LogFolder |
获取或设置存储数据库事务日志文件所在目录的路径。 |
| MaxDistributionRetention |
获取或设定交易从分发数据库删除前的最大保留期(小时计)。 |
| MinDistributionRetention |
获取或设定交易从分发数据库删除前的最小保留期(小时计)。 |
| Name |
获取或设置分发数据库的名称。 |
| QueueReaderAgentExists |
获取或设置是否为该分发数据库创建了队列阅读代理任务。 |
| QueueReaderAgentName |
获取或设置为该分发数据库创建的队列读取代理作业名称。 |
| QueueReaderAgentProcessSecurity |
获取运行队列阅读代理任务的代理进程安全上下文。 |
| SqlServerName |
获取该对象所连接的 Microsoft SQL Server 实例名称。 (继承自 ReplicationObject) |
| UserData |
获取或设置一个对象属性,允许用户将自己的数据附加到该对象上。 (继承自 ReplicationObject) |