ReplicationDatabase.MergePublications ReplicationDatabase.MergePublications ReplicationDatabase.MergePublications Property

정의

복제 데이터베이스에 정의된 병합 게시를 반환합니다. Returns the merge publications defined on the replication database.

public:
 property Microsoft::SqlServer::Replication::MergePublicationCollection ^ MergePublications { Microsoft::SqlServer::Replication::MergePublicationCollection ^ get(); };
public Microsoft.SqlServer.Replication.MergePublicationCollection MergePublications { get; }
Public ReadOnly Property MergePublications As MergePublicationCollection
속성 값

예제

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

MergePublication publication;
ReplicationDatabase publicationDb;

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

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

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

	// Delete the publication, if it exists and has no subscriptions.
	if (publication.LoadProperties() && !publication.HasSubscription)
	{
		publication.Remove();
	}
	else
	{
		// Do something here if the publication does not exist
		// or has subscriptions.
		throw new ApplicationException(String.Format(
			"The publication {0} could not be deleted. " +
			"Ensure that the publication exists and that all " +
			"subscriptions have been deleted.",
			publicationName, publisherName));
	}

	// If no other merge publications exists,
	// disable publishing on the database.
	publicationDb = new ReplicationDatabase(publicationDbName, conn);
	if (publicationDb.LoadProperties())
	{
		if (publicationDb.MergePublications.Count == 0 && publicationDb.EnabledMergePublishing)
		{
			publicationDb.EnabledMergePublishing = false;
		}
	}
	else
	{
		// Do something here if the database does not exist.
		throw new ApplicationException(String.Format(
			"The database {0} does not exist on {1}.",
			publicationDbName, publisherName));
	}
}
catch (Exception ex)
{
	// Implement application error handling here.
	throw new ApplicationException(String.Format(
		"The publication {0} could not be deleted.",
		publicationName), ex);
}
finally
{
	conn.Disconnect();
}
' Define the Publisher, publication database, 
' and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"

Dim publication As MergePublication
Dim publicationDb As ReplicationDatabase

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

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

    ' Set the required properties for the merge publication.
    publication = New MergePublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Delete the publication, if it exists and has no subscriptions.
    If (publication.LoadProperties() And Not publication.HasSubscription) Then
        publication.Remove()
    Else
        ' Do something here if the publication does not exist
        ' or has subscriptions.
        Throw New ApplicationException(String.Format( _
         "The publication {0} could not be deleted. " + _
         "Ensure that the publication exists and that all " + _
         "subscriptions have been deleted.", _
         publicationName, publisherName))
    End If

    ' If no other merge publications exists,
    ' disable publishing on the database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)
    If publicationDb.LoadProperties() Then
        If publicationDb.MergePublications.Count = 0 _
        And publicationDb.EnabledMergePublishing Then
            publicationDb.EnabledMergePublishing = False
        End If
    Else
        ' Do something here if the database does not exist.
        Throw New ApplicationException(String.Format( _
         "The database {0} does not exist on {1}.", _
         publicationDbName, publisherName))
    End If
Catch ex As Exception
    ' Implement application error handling here.
    Throw New ApplicationException(String.Format( _
     "The publication {0} could not be deleted.", _
     publicationName), ex)
Finally
    conn.Disconnect()
End Try

설명

MergePublication 개체에 MergePublicationCollection 문자열 인덱서 (이름) 또는 숫자 인덱서 (서 수)를 사용 하 여 액세스할 수 있습니다.MergePublication objects in a MergePublicationCollection can be accessed using a string indexer (name) or a numeric indexer (ordinal).

MergePublications 속성의 멤버에 대 한 모든 병합 게시를 반환 합니다.는 db_ownerreplmonitor 고정 데이터베이스 역할입니다.The MergePublications property returns all merge publications for members of the db_owner and replmonitor fixed database roles. 다른 모든 사용자에 대해서는 MergePublications 속성은 게시를 사용자가 게시 액세스 목록 (PAL)의 구성원만를 반환 합니다.For all other users, the MergePublications property returns only publications for which the user is a member of the publication access list (PAL).

적용 대상

추가 정보