Create Método
Creates a new article on the currently connected instance of SQL Server based on the current properties of the TransArticle object or the MergeArticle object.
Espacio de nombres: Microsoft.SqlServer.Replication
Ensamblado: Microsoft.SqlServer.Rmo (en Microsoft.SqlServer.Rmo.dll)
The Create method can be called by members of the sysadmin fixed server role at the Publisher. It can also be called by members of the db_owner fixed database role on the publication database.
Calling Create is equivalent to executing sp_addarticle (Transact-SQL) for transactional or snapshot replication or executing sp_addmergearticle (Transact-SQL) for merge replication.
This namespace, class, or member is supported only in the .NET Framework 2.0.
// Define the Publisher, publication, and article names. string publisherName = publisherInstance; string publicationName = "AdvWorksProductTran"; string publicationDbName = "AdventureWorks"; 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 = "AdventureWorks" 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
