Export (0) Print
Expand All

Article.Name Property

 

Applies To: SQL Server 2016 Preview

Gets or sets the name of the article.

Namespace:   Microsoft.SqlServer.Replication
Assembly:  Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)

public string Name { get; set; }

Property Value

Type: System.String

The name of the article.

Exception Condition
ApplicationException

When you set this property for an existing article.

ArgumentException

When you set this property to a value that is null, contains null characters, or is longer than 128-Unicode characters.

The Name property must be set before calling Create to create the article on the server. Once the article exists on the server, this property cannot be set.

The Name property can be retrieved by members of the sysadmin fixed server role at the Publisher and at the Subscriber (for republishing Subscribers). It can also be retrieved by members of the db_owner fixed database role on the publication database and by users who are members of the PAL. For a MergeArticle object, this property can also be retrieved by members of the replmonitor fixed database role on the Distributor.

The Name property can be set by members of the sysadmin fixed server role at the Publisher. It can also be set by members of the db_owner fixed database role on the publication database.

Retrieving Name is equivalent to executing sp_helparticle (Transact-SQL) for transactional or snapshot replication or executing sp_helpmergearticle (Transact-SQL) for merge replication.

Setting Name is equivalent to executing sp_addarticle (Transact-SQL) for transactional or snapshot replication or executing sp_addmergearticle (Transact-SQL) for merge replication.

The Name property is a read/write property.

Legacy Code Example

			// 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();
			}
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft