Publication.Type Publication.Type Publication.Type Property

정의

게시 유형을 가져오거나 설정합니다. Gets or sets the type of publication.

public:
 property Microsoft::SqlServer::Replication::PublicationType Type { Microsoft::SqlServer::Replication::PublicationType get(); void set(Microsoft::SqlServer::Replication::PublicationType value); };
public Microsoft.SqlServer.Replication.PublicationType Type { get; set; }
Public Property Type As PublicationType
속성 값

게시 유형을 지정하는 PublicationType 열거 값입니다. A PublicationType enumeration value that specifies the type of publication.

예제

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

ReplicationDatabase publicationDb;
TransPublication publication;

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


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

	// Enable the AdventureWorks2012 database for transactional publishing.
	publicationDb = new ReplicationDatabase(publicationDbName, conn);

	// If the database exists and is not already enabled, 
	// enable it for transactional publishing.
	if (publicationDb.LoadProperties())
	{
		if (!publicationDb.EnabledTransPublishing)
		{
			publicationDb.EnabledTransPublishing = true;
		}

		// If the Log Reader Agent does not exist, create it.
		if (!publicationDb.LogReaderAgentExists)
		{
			// Specify the Windows account under which the agent job runs.
			// This account will be used for the local connection to the 
			// Distributor and all agent connections that use Windows Authentication.
			publicationDb.LogReaderAgentProcessSecurity.Login = winLogin;
			publicationDb.LogReaderAgentProcessSecurity.Password = winPassword;

			// Explicitly set authentication mode for the Publisher connection
			// to the default value of Windows Authentication.
			publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = true;

			// Create the Log Reader Agent job.
			publicationDb.CreateLogReaderAgent();
		}
	}
	else
	{
		throw new ApplicationException(String.Format(
			"The {0} database does not exist at {1}.",
			publicationDb, publisherName));
	}

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

	// Specify a transactional publication (the default).
	publication.Type = PublicationType.Transactional;

	// Activate the publication so that we can add subscriptions.
	publication.Status = State.Active;

             // Enable push and pull subscriptions and independent Distribition Agents.
             publication.Attributes |= PublicationAttributes.AllowPull;
             publication.Attributes |= PublicationAttributes.AllowPush;
             publication.Attributes |= PublicationAttributes.IndependentAgent;

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

	if (!publication.IsExistingObject)
	{
		// Create the transactional 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 publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publisherName As String = publisherInstance

Dim publicationDb As ReplicationDatabase
Dim publication As TransPublication

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

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

    ' Enable the AdventureWorks2012 database for transactional publishing.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)

    ' If the database exists and is not already enabled, 
    ' enable it for transactional publishing.
    If publicationDb.LoadProperties() Then
        If Not publicationDb.EnabledTransPublishing Then
            publicationDb.EnabledTransPublishing = True
        End If

        ' If the Log Reader Agent does not exist, create it.
        If Not publicationDb.LogReaderAgentExists Then
            ' Specify the Windows account under which the agent job runs.
            ' This account will be used for the local connection to the 
            ' Distributor and all agent connections that use Windows Authentication.
            publicationDb.LogReaderAgentProcessSecurity.Login = winLogin
            publicationDb.LogReaderAgentProcessSecurity.Password = winPassword

            ' Explicitly set authentication mode for the Publisher connection
            ' to the default value of Windows Authentication.
            publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = True

            ' Create the Log Reader Agent job.
            publicationDb.CreateLogReaderAgent()
        End If
    Else
        Throw New ApplicationException(String.Format( _
         "The {0} database does not exist at {1}.", _
         publicationDb, publisherName))
    End If

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

    ' Specify a transactional publication (the default).
    publication.Type = PublicationType.Transactional

    'Enable push and pull subscriptions and independent Distribition Agents.
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.AllowPull
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.AllowPush
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.IndependentAgent

    ' Activate the publication so that we can add subscriptions.
    publication.Status = State.Active

    ' 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

    If Not publication.IsExistingObject Then
        ' Create the transactional 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

설명

Type 만 속성에 대 한 TransPublication 기본 값은 개체 Transactional합니다.The Type property should only be set for TransPublication objects, where the default value is Transactional.

적용 대상

추가 정보