TransArticle 类

定义

表示事务发布中的项目。

public ref class TransArticle sealed : Microsoft::SqlServer::Replication::Article
public sealed class TransArticle : Microsoft.SqlServer.Replication.Article
type TransArticle = class
    inherit Article
Public NotInheritable Class TransArticle
Inherits Article
继承

示例

// Define the Publisher, publication, and article names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
string articleName = "Product";
string schemaOwner = "Production";

TransArticle article;

// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

// Create a filtered transactional articles in the following steps:
// 1) Create the  article with a horizontal filter clause.
// 2) Add columns to or remove columns from the article.
try
{
    // Connect to the Publisher.
    conn.Connect();

    // Define a horizontally filtered, log-based table article.
    article = new TransArticle();
    article.ConnectionContext = conn;
    article.Name = articleName;
    article.DatabaseName = publicationDbName;
    article.SourceObjectName = articleName;
    article.SourceObjectOwner = schemaOwner;
    article.PublicationName = publicationName;
    article.Type = ArticleOptions.LogBased;
    article.FilterClause = "DiscontinuedDate IS NULL";

    // Ensure that we create the schema owner at the Subscriber.
    article.SchemaOption |= CreationScriptOptions.Schema;

    if (!article.IsExistingObject)
    {
        // Create the article.
        article.Create();
    }
    else
    {
        throw new ApplicationException(String.Format(
            "The article {0} already exists in publication {1}.",
            articleName, publicationName));
    }

    // Create an array of column names to remove from the article.
    String[] columns = new String[1];
    columns[0] = "DaysToManufacture";

    // Remove the column from the article.
    article.RemoveReplicatedColumns(columns);
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("The article could not be created.", ex);
}
finally
{
    conn.Disconnect();
}
' Define the Publisher, publication, and article names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim articleName As String = "Product"
Dim schemaOwner As String = "Production"

Dim article As TransArticle

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

' Create a filtered transactional articles in the following steps:
' 1) Create the  article with a horizontal filter clause.
' 2) Add columns to or remove columns from the article.
Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Define a horizontally filtered, log-based table article.
    article = New TransArticle()
    article.ConnectionContext = conn
    article.Name = articleName
    article.DatabaseName = publicationDbName
    article.SourceObjectName = articleName
    article.SourceObjectOwner = schemaOwner
    article.PublicationName = publicationName
    article.Type = ArticleOptions.LogBased
    article.FilterClause = "DiscontinuedDate IS NULL"

    ' Ensure that we create the schema owner at the Subscriber.
    article.SchemaOption = article.SchemaOption Or _
    CreationScriptOptions.Schema

    If Not article.IsExistingObject Then
        ' Create the article.
        article.Create()
    Else
        Throw New ApplicationException(String.Format( _
         "The article {0} already exists in publication {1}.", _
         articleName, publicationName))
    End If

    ' Create an array of column names to remove from the article.
    Dim columns() As String = New String(0) {}
    columns(0) = "DaysToManufacture"

    ' Remove the column from the article.
    article.RemoveReplicatedColumns(columns)
Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("The article could not be created.", ex)
Finally
    conn.Disconnect()
End Try

注解

线程安全性

Microsoft Visual Basic) 此类型成员中的任何公共静态 Shared (对于多线程操作都是安全的。 但不保证所有实例成员都是线程安全的。

构造函数

TransArticle()

创建 TransArticle 类的新实例。

TransArticle(String, String, String, ServerConnection)

使用所需的属性和与 Microsoft SQL Server 实例的指定连接创建 类的新TransArticle实例。

属性

ArticleId

获取项目 ID 值。

(继承自 Article)
ArticleLogTablespace

获取或设置用于存储复制日志信息的 Oracle 表空间的名称。

CachePropertyChanges

获取或设置是缓存对复制属性所做的更改还是立即应用它们。

(继承自 ReplicationObject)
CommandFormat

获取或设置如何传播项目更改。

ConnectionContext

获取或设置与 Microsoft SQL Server 实例的连接。

(继承自 ReplicationObject)
CreateArticleAsHeterogeneous

获取或设置一个值,该值指示是否创建异类项目。

(继承自 Article)
CreationScript

获取或设置用于在订阅服务器上创建目标对象的 Transact-SQL 脚本文件的名称和完整路径。

(继承自 Article)
DatabaseName

获取或设置包含在项目中发布的数据和对象的数据库的名称。

(继承自 Article)
DatatypeMappingOptions

返回默认项目数据类型映射是否用于非 SQL Server 发布服务器。

DeleteCommand

获取或设置用于复制删除的命令。

Description

获取或设置项目的文本说明。

(继承自 Article)
DestinationObjectName

获取或设置作为订阅服务器上项目的源数据库对象的数据库对象。

(继承自 Article)
DestinationObjectOwner

获取或设置订阅服务器上项目的源数据库对象的架构所有者。

(继承自 Article)
FilterClause

获取或设置用于水平筛选项目的 WHERE 子句。

FilterProcName

获取或设置用于水平筛选表的存储过程(使用 FOR REPLICATION 创建)。

FilterProcOwner

获取或设置拥有用于水平对基于表的项目进行分区的存储过程的数据库用户。

IdentityRangeManagementOption

获取或设置项目的标识范围管理选项。

(继承自 Article)
IdentityRangeThreshold

获取或设置标识列值的新范围按其分配给发布服务器或订阅服务器的值。

(继承自 Article)
InsertCommand

获取或设置用于复制插入的命令。

IsExistingObject

获取服务器上是否存在该对象。

(继承自 ReplicationObject)
Name

获取或设置项目的名称。

(继承自 Article)
PreCreationMethod

获取或设置在订阅数据库中已存在已发布对象时要执行的操作。

(继承自 Article)
PublicationName

获取或设置项目所属于的发布的名称。

(继承自 Article)
PublisherIdentityRangeSize

获取或设置分配给发布服务器上的表列的标识值的范围。

(继承自 Article)
PublisherName

获取或设置发布项目的非 SQL Server 发布服务器的名称。

SchemaOption

获取或设置项目的架构创建选项。

(继承自 Article)
SnapshotObjectName

获取或设置提供项目的初始数据快照的数据库对象。

SnapshotObjectOwner

获取或设置提供项目的初始数据快照的数据库对象的所有者。

SourceObjectName

获取或设置要发布的数据库对象的名称。

(继承自 Article)
SourceObjectOwner

获取或设置要发布的数据库对象的所有者。

(继承自 Article)
SqlServerName

获取此对象连接到的 Microsoft SQL Server 实例的名称。

(继承自 ReplicationObject)
SubscriberIdentityRangeSize

获取或设置在必须分配其他标识范围前可以插入到订阅服务器上的表中的标识列的最大新行数。

(继承自 Article)
Type

获取或设置项目的类型。

(继承自 Article)
UpdateCommand

获取或设置用于复制更新的命令。

UserData

获取或设置允许用户将他们自己的数据附加到该对象的对象属性。

(继承自 ReplicationObject)
VerticalPartition

获取一个值,该值指示是否在表项目中发布所有列。

(继承自 Article)

方法

AddReplicatedColumns(Array)

在垂直分区的表项目中包括列。

CheckValidCreation()

检查有效项目创建。

(继承自 Article)
CheckValidDefinition(Boolean)

指示定义是否有效。

(继承自 Article)
CommitPropertyChanges()

将所有缓存的属性更改语句发送到 Microsoft SQL Server 实例。

(继承自 ReplicationObject)
Create()

基于 对象或 对象的当前属性TransArticle,在当前连接的 SQL Server 实例上MergeArticle创建一个新项目。

(继承自 Article)
Decouple()

将引用的复制对象与服务器相分离。

(继承自 ReplicationObject)
EnumHeterogeneousColumns()

返回非 SQL Server 发布服务器发布的表项目的列信息。

GetChangeCommand(StringBuilder, String, String)

从复制返回更改命令。

(继承自 ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

从复制返回创建命令。

(继承自 ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

从复制返回删除命令。

(继承自 ReplicationObject)
InternalRefresh(Boolean)

从复制启动内部刷新。

(继承自 ReplicationObject)
ListReplicatedColumns()

返回表项目中的已发布列。

Load()

从服务器加载现有对象的属性。

(继承自 ReplicationObject)
LoadProperties()

从服务器加载现有对象的属性。

(继承自 ReplicationObject)
Refresh()

重新加载该对象的属性。

(继承自 ReplicationObject)
Remove()

根据对象的当前属性或对象的当前属性TransArticle,删除当前连接的 SQL Server 实例上的MergeArticle现有项目。

(继承自 Article)
RemoveReplicatedColumns(Array)

从垂直分区的表项目中排除列。

Script(ScriptOptions)

生成一个 Transact-SQL 脚本,可以执行该脚本来创建或删除 TransArticle 服务器上的对象或 MergeArticle 对象。

(继承自 Article)
ScriptChangeColumnDestinationDataType(String, String, Int64, Int32, Int64, ScriptOptions)

返回用于更改非SQL Server发布服务器的列数据类型映射的 Transact-SQL 脚本。

SetColumnDestinationDataType(String, String, Int64, Int32, Int64)

为非 SQL Server 发布服务器设置列数据类型映射。

适用于

另请参阅