TransSubscription 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
트랜잭션 또는 스냅샷 출판물에 대한 푸시 구독을 나타냅니다.
public ref class TransSubscription sealed : Microsoft::SqlServer::Replication::Subscription
public sealed class TransSubscription : Microsoft.SqlServer.Replication.Subscription
type TransSubscription = class
inherit Subscription
Public NotInheritable Class TransSubscription
Inherits Subscription
- 상속
예제
// 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(publisherName);
// 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(publisherName)
' 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
설명
원격 디스트리뷰터와 Publisher을 구성할 때, 모든 매개변수SynchronizationAgentProcessSecurity에 대한 값(포함하여 )은 평문으로 디스트리뷰터에 전송됩니다. Create 메서드를 호출하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 sp_reinitsubscription (Transact-SQL)를 참조하세요.
구독이 비SQL Server Publisher에 속할 경우, 속성은 ConnectionContext Publisher 대신 배포자로 설정되고, 속성은 DatabaseName 출판 데이터베이스 대신 배포 데이터베이스로, 속성은 PublisherName 비SQL Server Publisher 이름으로 설정됩니다.
스레드 안전성
이 유형의 공용 정적(SharedMicrosoft Visual Basic) 멤버는 멀티스레드 연산에 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하게 보호되지 않습니다.
생성자
| Name | Description |
|---|---|
| TransSubscription() |
TransSubscription 클래스의 새 인스턴스를 만듭니다. |
| TransSubscription(String, String, String, String, ServerConnection) |
지정된 출판물, 데이터베이스, 구독자 데이터베이스, 그리고 Microsoft SQL Server 인스턴스와의 지정된 연결을 가진 클래스의 TransSubscription 새로운 인스턴스를 생성합니다. |
속성
| Name | Description |
|---|---|
| AgentJobId |
구독 동기화에 사용된 에이전트 작업의 ID를 얻습니다. (다음에서 상속됨 Subscription) |
| AgentOffload |
동기화 에이전트가 에이전트 작업이 생성된 컴퓨터가 아닌 다른 컴퓨터에서 실행되는지 또는 설정합니다. 이 속성은 Microsoft SQL Server 2005 이후 버전을 실행하는 배포판에서는 더 이상 지원되지 않습니다. (다음에서 상속됨 Subscription) |
| AgentOffloadServer |
원격 에이전트 활성화 시 에이전트가 실행되는 원격 컴퓨터의 이름을 받거나 설정합니다. (다음에서 상속됨 Subscription) |
| AgentSchedule |
구독 동기화에 사용되는 에이전트 작업 일정을 받습니다. (다음에서 상속됨 Subscription) |
| BackupInformation |
백업에서 구독 초기화에 필요한 정보를 받거나 설정합니다. |
| CachePropertyChanges |
복제 속성에 가해진 변경 사항을 캐시할지 즉시 적용할지 또는 설정합니다. (다음에서 상속됨 ReplicationObject) |
| ConnectionContext |
Microsoft SQL Server 인스턴스에 연결을 받거나 설정합니다. (다음에서 상속됨 ReplicationObject) |
| CreateSyncAgentByDefault |
구독 동기화에 사용되는 에이전트 작업이 기본적으로 생성되는지 설정합니다. (다음에서 상속됨 Subscription) |
| DatabaseName |
출판 데이터베이스의 이름을 얻거나 설정합니다. (다음에서 상속됨 Subscription) |
| DtsPackageLocation |
Microsoft SQL Server 2000 데이터 변환 서비스(DTS) 패키지의 위치를 얻거나 설정합니다. |
| DtsPackageName |
가입자에게 적용되는 Microsoft SQL Server 2000 데이터 변환 서비스(DTS) 패키지의 이름을 받거나 설정합니다. |
| DtsPackagePassword |
Microsoft SQL Server 2000 데이터 변환 서비스(DTS) 패키지를 실행하는 데 사용되는 비밀번호를 설정합니다. |
| EnabledForSynchronizationManager |
구독이 동기화 관리자를 사용해 동기화될 수 있는지 Microsoft Windows 지정합니다. (다음에서 상속됨 Subscription) |
| FullSubscription |
구독이 가득 찼는지 나타내는 값을 받습니다. |
| IsExistingObject |
서버에 객체가 존재하는지 여부를 확인합니다. (다음에서 상속됨 ReplicationObject) |
| LoopBackDetection |
배포 에이전트가 가입자에서 시작된 거래를 다시 가입자에게 전송하는지 여부에 대해 설정합니다. |
| MemoryOptimized |
트랜잭션 또는 스냅샷 출판물에 대한 푸시 구독을 나타냅니다. |
| Name |
기존 구독에 이름이 할당됩니다. (다음에서 상속됨 Subscription) |
| PublicationName |
구독자가 구독하는 출판물의 이름을 받거나 설정합니다. (다음에서 상속됨 Subscription) |
| PublisherName |
구독이 비SQL Server Publisher에 속할 때 Publisher 이름을 받거나 설정합니다. |
| SecureDtsPackagePassword |
Microsoft SQL Server 2000 데이터 변환 서비스(DTS) 패키지를 실행하는 데 사용되는 비밀번호(객체로 SecureString 서)를 설정합니다. |
| SqlServerName |
이 객체가 연결된 Microsoft SQL Server 인스턴스의 이름을 얻습니다. (다음에서 상속됨 ReplicationObject) |
| Status |
구독 상태를 확인합니다. (다음에서 상속됨 Subscription) |
| SubscriberCatalog |
비SQL Server 구독자를 위해 OLE DB 제공자에 연결할 때 사용하는 카탈로그를 받거나 설정합니다. |
| SubscriberDatasource |
비SQL Server 구독자에 대해 OLE DB 제공자가 이해하는 데이터 소스의 이름입니다. |
| SubscriberDatasourceType |
비SQL Server 구독자인 데이터 소스의 유형을 식별합니다. |
| SubscriberLocation |
비SQL Server 구독자를 위한 OLE DB 제공자가 이해하는 데이터베이스 위치. |
| SubscriberName |
구독자인 Microsoft SQL Server 인스턴스의 이름을 받거나 설정합니다. (다음에서 상속됨 Subscription) |
| SubscriberProvider |
비SQL Server 구독자를 위한 OLE DB 제공자가 등록되는 고유 프로그래밍 식별자(PROGID) |
| SubscriberProviderString |
OLE DB 제공자 전용 연결 문자열은 SQL Server가 아닌 구독자를 위해 데이터 소스에 연결하는 데 사용됩니다. |
| SubscriberSecurity |
가입자와 연결하는 데 사용되는 보안 컨텍스트를 얻습니다. (다음에서 상속됨 Subscription) |
| SubscriberType |
구독자에서 데이터 변경 시 업데이트 동작을 받거나 설정합니다. |
| SubscriptionDBName |
복제된 데이터를 수신하는 구독자에게 데이터베이스 이름을 부여하거나 설정합니다. (다음에서 상속됨 Subscription) |
| SubscriptionLSN |
구독의 로그 시퀀스 번호를 받거나 설정합니다. |
| SubscriptionType |
구독 등록이 푸시 구독인지 풀 구독인지 확인합니다. (다음에서 상속됨 Subscription) |
| SynchronizationAgent |
구독을 동기화하는 데 사용할 수 있는 클래스 인스턴스 TransSynchronizationAgent 를 얻습니다. |
| SynchronizationAgentName |
구독을 동기화하기 위해 생성된 에이전트 작업의 이름을 받거나 설정합니다. (다음에서 상속됨 Subscription) |
| SynchronizationAgentProcessSecurity |
동기화 에이전트 작업이 실행되는 Microsoft Windows 계정을 지정하는 보안 컨텍스트를 얻어 구독을 동기화합니다. (다음에서 상속됨 Subscription) |
| SyncType |
구독이 초기화되는 방식을 받거나 설정합니다. (다음에서 상속됨 Subscription) |
| UserData |
사용자가 자신의 데이터를 객체에 부착할 수 있도록 객체 속성을 얻거나 설정합니다. (다음에서 상속됨 ReplicationObject) |
메서드
| Name | Description |
|---|---|
| CheckValidCreation() |
유효한 복제 생성을 확인합니다. (다음에서 상속됨 ReplicationObject) |
| CheckValidDefinition(Boolean) |
구독 정의가 유효한지 여부를 나타냅니다. (다음에서 상속됨 Subscription) |
| CommitPropertyChanges() |
모든 캐시된 속성 변경 문장을 Microsoft SQL Server 인스턴스로 전송합니다. (다음에서 상속됨 ReplicationObject) |
| Create() |
Publisher에서 구독 등록을 생성합니다. (다음에서 상속됨 Subscription) |
| Decouple() |
참조된 복제 객체를 서버와 분리합니다. (다음에서 상속됨 ReplicationObject) |
| DoUpdateMemoryOptimizedProperty(String) |
트랜잭션 또는 스냅샷 출판물에 대한 푸시 구독을 나타냅니다. |
| GetChangeCommand(StringBuilder, String, String) |
복제에서 change 명령을 반환합니다. (다음에서 상속됨 ReplicationObject) |
| GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
복제에서 create 명령을 반환합니다. (다음에서 상속됨 ReplicationObject) |
| GetDropCommand(StringBuilder, Boolean) |
복제에서 drop 명령을 반환합니다. (다음에서 상속됨 ReplicationObject) |
| InternalRefresh(Boolean) |
복제에서 내부 갱신을 시작합니다. (다음에서 상속됨 ReplicationObject) |
| Load() |
서버에서 기존 객체의 속성을 불러옵니다. (다음에서 상속됨 ReplicationObject) |
| LoadProperties() |
서버에서 기존 객체의 속성을 불러옵니다. (다음에서 상속됨 ReplicationObject) |
| Refresh() |
객체의 속성을 다시 불러옵니다. (다음에서 상속됨 ReplicationObject) |
| Reinitialize() |
구독을 동기화하기 위해 배포 에이전트가 실행될 때 구독을 재초기화할 표시를 합니다. |
| Reinitialize(Boolean) |
구독을 재초기화합니다. |
| Remove() |
Publisher에서 구독 등록을 삭제하고, Subscriber에서 복제 객체를 제거하여 푸시 구독을 지원합니다. (다음에서 상속됨 Subscription) |
| Script(ScriptOptions) |
구독을 생성하거나 삭제하는 데 사용할 수 있는 Transact-SQL 스크립트를 반환합니다. (다음에서 상속됨 Subscription) |
| StopSynchronizationJob() |
현재 구독을 동기화 중인 실행 중인 배포 에이전트 작업을 중단하려고 시도합니다. |
| SynchronizeWithJob() |
구독을 동기화하기 위해 에이전트 작업을 시작합니다. |