Subscription.DatabaseName Subscription.DatabaseName Subscription.DatabaseName Property

정의

게시 데이터베이스의 이름을 가져오거나 설정합니다. Gets or sets the name of the publication database.

public:
 property System::String ^ DatabaseName { System::String ^ get(); void set(System::String ^ value); };
public string DatabaseName { get; set; }
Public Property DatabaseName As String
속성 값

A String 값입니다. A String value.

예제

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";

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

// Create the objects that we need.
TransPublication publication;
TransSubscription subscription;

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

	// Ensure that the publication exists and that 
	// it supports push subscriptions.
	publication = new TransPublication();
	publication.Name = publicationName;
	publication.DatabaseName = publicationDbName;
	publication.ConnectionContext = conn;

	if (publication.IsExistingObject)
	{
		if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
		{
			publication.Attributes |= PublicationAttributes.AllowPush;
		}

		// Define the push subscription.
		subscription = new TransSubscription();
		subscription.ConnectionContext = conn;
		subscription.SubscriberName = subscriberName;
		subscription.PublicationName = publicationName;
		subscription.DatabaseName = publicationDbName;
		subscription.SubscriptionDBName = subscriptionDbName;

		// Specify the Windows login credentials for the Distribution Agent job.
		subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
		subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

                 // By default, subscriptions to transactional publications are synchronized 
                 // continuously, but in this case we only want to synchronize on demand.
                 subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;

		// Create the push subscription.
		subscription.Create();
	}
	else
	{
		// Do something here if the publication does not exist.
		throw new ApplicationException(String.Format(
			"The publication '{0}' does not exist on {1}.",
			publicationName, publisherName));
	}
}
catch (Exception ex)
{
	// Implement the appropriate error handling here.
	throw new ApplicationException(String.Format(
		"The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
	conn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

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

' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription

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

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New TransPublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Define the push subscription.
        subscription = New TransSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName

        ' Specify the Windows login credentials for the Distribution Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' By default, subscriptions to transactional publications are synchronized 
        ' continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand

        ' Create the push subscription.
        subscription.Create()
    Else
        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If

Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
        "The subscription to {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

설명

DatabaseName 필수 속성 이며 서버에서 구독을 만들기 전에 설정 해야 합니다.DatabaseName is a required property and must be set before the subscription is created on the server. 구독 등록 서버에 있으면는 DatabaseName 속성을 변경할 수 없습니다.Once the subscription registration exists on the server, the DatabaseName property cannot be changed.

에 대 한-SQL Server 이외 게시자를는 DatabaseName 속성 배포 데이터베이스의 이름으로 설정 됩니다.For a non-SQL Server Publisher, the DatabaseName property is set to the name of the distribution database.

DatabaseName 의 구성원만 속성을 검색할 수는 sysadmin 고정된 서버 역할의 멤버에 의해 게시자에는 db_owner 고정된 데이터베이스 역할 또는 게시 데이터베이스에서의 구독을 만든 사용자입니다.The DatabaseName property can only be retrieved by members of the sysadmin fixed server role at the Publisher, by members of the db_owner fixed database role on the publication database, or by the user that created the subscription.

DatabaseName 속성의 구성원으로 설정할 수 있습니다는 sysadmin 고정된 서버 역할의 멤버 또는 게시자에는 db_owner 게시 데이터베이스의 고정된 데이터베이스 역할입니다.The DatabaseName property can only be set by members of the sysadmin fixed server role at the Publisher or by members of the db_owner fixed database role on the publication database.

검색 된 DatabaseName 속성은 실행 sp_helpsubscription 또는 sp_helpmergesubscription합니다.Retrieving the DatabaseName property is equivalent to executing sp_helpsubscription or sp_helpmergesubscription.

설정의 DatabaseName 속성은 실행 sp_addsubscription 또는 sp_addmergesubscription합니다.Setting the DatabaseName property is equivalent to executing sp_addsubscription or sp_addmergesubscription.

적용 대상

추가 정보