Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ReplicationObject.ConnectionContext Property


Gets or sets the connection to an instance of Microsoft SQL Server.

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

public ServerConnection ConnectionContext { get; set; }

This property is required if the object instance was not created using a constructor with a connectionContext parameter.

// Set the Publisher, publication database, and publication names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks2012";

ReplicationDatabase publicationDb;
MergePublication publication;

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

	// Connect to the Publisher.

	// Enable the database for merge publication.				
	publicationDb = new ReplicationDatabase(publicationDbName, conn);
	if (publicationDb.LoadProperties())
		if (!publicationDb.EnabledMergePublishing)
			publicationDb.EnabledMergePublishing = true;
		// Do something here if the database does not exist. 
		throw new ApplicationException(String.Format(
			"The {0} database does not exist on {1}.",
			publicationDb, publisherName));

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

             // Enable precomputed partitions.
             publication.PartitionGroupsOption = PartitionGroupsOption.True;

	// Specify the Windows account under which the Snapshot Agent job runs.
	// This account will be used for the local connection to the 
	// Distributor and all agent connections that use Windows Authentication.
	publication.SnapshotGenerationAgentProcessSecurity.Login = winLogin;
	publication.SnapshotGenerationAgentProcessSecurity.Password = winPassword;

	// Explicitly set the security mode for the Publisher connection
	// Windows Authentication (the default).
	publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = true;

	// Enable Subscribers to request snapshot generation and filtering.
	publication.Attributes |= PublicationAttributes.AllowSubscriberInitiatedSnapshot;
             publication.Attributes |= PublicationAttributes.DynamicFilters;

             // Enable pull and push subscriptions.
             publication.Attributes |= PublicationAttributes.AllowPull;
             publication.Attributes |= PublicationAttributes.AllowPush;

	if (!publication.IsExistingObject)
		// Create the merge publication.

		// Create a Snapshot Agent job for the publication.
		throw new ApplicationException(String.Format(
			"The {0} publication already exists.", publicationName));

catch (Exception ex)
	// Implement custom application error handling here.
	throw new ApplicationException(String.Format(
		"The publication {0} could not be created.", publicationName), ex);
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft