Export (0) Print
Expand All

ReplicationObject.CachePropertyChanges Property

 

Applies To: SQL Server 2016 Preview

Gets or sets whether to cache changes made to the replication properties or to apply them immediately.

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

public bool CachePropertyChanges { get; set; }

Property Value

Type: System.Boolean

A Boolean value. If true, the property changes are cached. If false, the property changes are applied immediately.

When the value of CachePropertyChanges is false, property changes are immediately set according to the SqlExecutionModes property of the ServerConnection object. When the value is set to true, property changes will be cached until CommitPropertyChanges is called. When CommitPropertyChanges is called, all property changes after CachePropertyChanges are set according to the SqlExecutionModes property.

Caching only applies to properties stored in Microsoft SQL Server.

The default value of CachePropertyChanges is false.

Legacy Code Example

			// Define the server, database, and publication names
			string publisherName = publisherInstance;
			string publicationName = "AdvWorksProductTran";
			string publicationDbName = "AdventureWorks2012";

			TransPublication publication;

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

			try
			{
				// Connect to the Publisher.
				conn.Connect();

				// Set the required properties for the publication.
				publication = new TransPublication();
				publication.ConnectionContext = conn;
				publication.Name = publicationName;
				publication.DatabaseName = publicationDbName;

				// Explicitly enable caching of property changes on this object.
				publication.CachePropertyChanges = true;

				// If we can't get the properties for this publication, 
				// throw an application exception.
				if (publication.LoadProperties())
				{
					// Enable support for push subscriptions and disable support 
					// for pull subscriptions.
					if ((publication.Attributes & PublicationAttributes.AllowPull) != 0)
					{
						publication.Attributes ^= PublicationAttributes.AllowPull;
					}
					if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
					{
						publication.Attributes |= PublicationAttributes.AllowPush;
					}

					// Send changes to the server.
					publication.CommitPropertyChanges();
				}
				else
				{
					throw new ApplicationException(String.Format(
						"Settings could not be retrieved for the publication. " +
						"Ensure that the publication {0} exists on {1}.",
						publicationName, publisherName));
				}
			}
			catch (Exception ex)
			{
				// Do error handling here.
				throw new ApplicationException(
					"The publication property could not be changed.", ex);
			}
			finally
			{
				conn.Disconnect();
			}
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft