ReplicationObject.ConnectionContext ReplicationObject.ConnectionContext ReplicationObject.ConnectionContext Property

Definition

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

public:
 property Microsoft::SqlServer::Management::Common::ServerConnection ^ ConnectionContext { Microsoft::SqlServer::Management::Common::ServerConnection ^ get(); void set(Microsoft::SqlServer::Management::Common::ServerConnection ^ value); };
public Microsoft.SqlServer.Management.Common.ServerConnection ConnectionContext { get; set; }
Public Property ConnectionContext As ServerConnection
Property Value
Microsoft.SqlServer.Management.Common.ServerConnection Microsoft.SqlServer.Management.Common.ServerConnection Microsoft.SqlServer.Management.Common.ServerConnection

A Microsoft.SqlServer.Management.Common.ServerConnection object.

Examples

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

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

	// Enable the database for merge publication.				
	publicationDb = new ReplicationDatabase(publicationDbName, conn);
	if (publicationDb.LoadProperties())
	{
		if (!publicationDb.EnabledMergePublishing)
		{
			publicationDb.EnabledMergePublishing = true;
		}
	}
	else
	{
		// 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.
		publication.Create();
		
		// Create a Snapshot Agent job for the publication.
		publication.CreateSnapshotAgent();
	}
	else
	{
		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);
}
finally
{
	conn.Disconnect();
}
' Set the Publisher, publication database, and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"

Dim publicationDb As ReplicationDatabase
Dim publication As MergePublication

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Enable the database for merge publication.				
    publicationDb = New ReplicationDatabase(publicationDbName, conn)
    If publicationDb.LoadProperties() Then
        If Not publicationDb.EnabledMergePublishing Then
            publicationDb.EnabledMergePublishing = True
        End If
    Else
        ' Do something here if the database does not exist. 
        Throw New ApplicationException(String.Format( _
         "The {0} database does not exist on {1}.", _
         publicationDb, publisherName))
    End If

    ' 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 = publication.Attributes Or _
        PublicationAttributes.AllowSubscriberInitiatedSnapshot
    publication.Attributes = publication.Attributes Or _
        PublicationAttributes.DynamicFilters

    ' Enable pull and push subscriptions
    publication.Attributes = publication.Attributes Or _
        PublicationAttributes.AllowPull
    publication.Attributes = publication.Attributes Or _
        PublicationAttributes.AllowPush

    If Not publication.IsExistingObject Then
        ' Create the merge publication.
        publication.Create()

        ' Create a Snapshot Agent job for the publication.
        publication.CreateSnapshotAgent()
    Else
        Throw New ApplicationException(String.Format( _
            "The {0} publication already exists.", publicationName))
    End If
Catch ex As Exception
    ' Implement custom application error handling here.
    Throw New ApplicationException(String.Format( _
        "The publication {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

Remarks

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

Applies to