语言

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)成员对多线程操作都是安全的。 不能保证任何实例成员是线程安全的。

构造函数

名称 说明
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)

方法

名称 说明
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)

移除分发器中业务逻辑处理器的注册。

适用于

另请参阅