Share via


TransArticle.RemoveReplicatedColumns 메서드

Excludes columns from a vertically partitioned table article.

네임스페이스:  Microsoft.SqlServer.Replication
어셈블리:  Microsoft.SqlServer.Rmo(Microsoft.SqlServer.Rmo.dll)

구문

‘선언
Public Sub RemoveReplicatedColumns ( _
    columns As Array _
)
‘사용 방법
Dim instance As TransArticle 
Dim columns As Array

instance.RemoveReplicatedColumns(columns)
public void RemoveReplicatedColumns(
    Array columns
)
public:
void RemoveReplicatedColumns(
    Array^ columns
)
member RemoveReplicatedColumns : 
        columns:Array -> unit
public function RemoveReplicatedColumns(
    columns : Array
)

매개 변수

  • columns
    유형: System.Array
    An array of String values that represent the columns to be excluded from the article.

주의

Passing a nullnull 참조(Visual Basic에서는 Nothing) value for columns removes all columns.

The RemoveReplicatedColumns method can only be called by members of the sysadmin fixed server role at the Publisher or by members of the db_owner fixed database role on the publication database.

Calling AddReplicatedColumns is equivalent to executing sp_articlecolumn and sp_articleview.

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

참고 항목

참조

TransArticle 클래스

Microsoft.SqlServer.Replication 네임스페이스