TransSubscription クラス
トランザクション パブリケーションまたはスナップショット パブリケーションへのプッシュ サブスクリプションを表します。
継承階層
System. . :: . .Object
Microsoft.SqlServer.Replication. . :: . .ReplicationObject
Microsoft.SqlServer.Replication. . :: . .Subscription
Microsoft.SqlServer.Replication..::..TransSubscription
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)
構文
'宣言
Public NotInheritable Class TransSubscription _
Inherits Subscription
'使用
Dim instance As TransSubscription
public sealed class TransSubscription : Subscription
public ref class TransSubscription sealed : public Subscription
[<SealedAttribute>]
type TransSubscription =
class
inherit Subscription
end
public final class TransSubscription extends Subscription
TransSubscription 型は、以下のメンバーを公開しています。
コンストラクター
名前 | 説明 | |
---|---|---|
TransSubscription() () () () | TransSubscription クラスの新しいインスタンスを作成します。 | |
TransSubscription(String, String, String, String, ServerConnection) | 指定したパブリケーション、データベース、サブスクライバ、サブスクライバ データベース、および、Microsoft SQL Server のインスタンスへの指定した接続を使用して、TransSubscription クラスの新しいインスタンスを作成します。 |
先頭に戻る
プロパティ
名前 | 説明 | |
---|---|---|
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 | ディストリビューション エージェントがサブスクライバで発生したトランザクションをサブスクライバに戻すかどうかを取得します。値の設定も可能です。 | |
Name | 既存のサブスクリプションに割り当てられている名前を取得します。 (Subscription から継承されています。) | |
PublicationName | サブスクリプションがサブスクライブするパブリケーションの名前を取得します。値の設定も可能です。 (Subscription から継承されています。) | |
PublisherName | サブスクリプションが SQL Server 以外のパブリッシャに属する場合に、パブリッシャの名前を取得します。値の設定も可能です。 | |
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 | SQL Server 以外のサブスクライバのデータ ソースに接続するのに使用される OLE DB プロバイダ固有の接続文字列です。 | |
SubscriberSecurity | サブスクライバへの接続に使用されるセキュリティ コンテキストを取得します。 (Subscription から継承されています。) | |
SubscriberType | サブスクライバでのデータ変更の更新動作を取得します。値の設定も可能です。 | |
SubscriptionDBName | レプリケートされたデータを受信するサブスクライバのデータベースの名前を取得します。値の設定も可能です。 (Subscription から継承されています。) | |
SubscriptionLSN | ||
SubscriptionType | プッシュ サブスクリプションまたはプル サブスクリプションに対して、サブスクリプションを登録するかどうかを取得します。 (Subscription から継承されています。) | |
SynchronizationAgent | サブスクリプションの同期に使用できる TransSynchronizationAgent クラスのインスタンスを取得します。 | |
SynchronizationAgentName | サブスクリプションの同期のために作成されるエージェント ジョブの名前を取得します。値の設定も可能です。 (Subscription から継承されています。) | |
SynchronizationAgentProcessSecurity | 同期エージェント ジョブがサブスクリプションの同期を実行する Microsoft Windows アカウントを指定するために使用されるセキュリティ コンテキストを取得します。 (Subscription から継承されています。) | |
SyncType | サブスクリプションを初期化する方法を取得します。値の設定も可能です。 (Subscription から継承されています。) | |
UserData | ユーザーが独自のデータをオブジェクトにアタッチすることを許可するオブジェクト プロパティを取得します。値の設定も可能です。 (ReplicationObject から継承されています。) |
先頭に戻る
メソッド
名前 | 説明 | |
---|---|---|
CheckValidCreation | インフラストラクチャです。 (ReplicationObject から継承されています。) | |
CheckValidDefinition | インフラストラクチャです。 (Subscription から継承されています。) | |
CommitPropertyChanges | キャッシュされているすべてのプロパティ変更ステートメントを、Microsoft SQL Server のインスタンスに送信します。 (ReplicationObject から継承されています。) | |
Create | パブリッシャ側でサブスクリプション登録を作成します。 (Subscription から継承されています。) | |
Decouple | 参照先のレプリケーション オブジェクトをサーバーから切断します。 (ReplicationObject から継承されています。) | |
Equals | (Object から継承されています。) | |
Finalize | (Object から継承されています。) | |
GetChangeCommand | インフラストラクチャです。 (ReplicationObject から継承されています。) | |
GetCreateCommand | インフラストラクチャです。 (ReplicationObject から継承されています。) | |
GetDropCommand | インフラストラクチャです。 (ReplicationObject から継承されています。) | |
GetHashCode | (Object から継承されています。) | |
GetType | (Object から継承されています。) | |
InternalRefresh | インフラストラクチャです。 (ReplicationObject から継承されています。) | |
Load | サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。) | |
LoadProperties | サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。) | |
MemberwiseClone | (Object から継承されています。) | |
Refresh | オブジェクトのプロパティを再度読み込みます。 (ReplicationObject から継承されています。) | |
Reinitialize() () () () | 次回ディストリビューション エージェントがサブスクリプションの同期を実行する際に、サブスクリプションを再初期化するためにサブスクリプションをマークします。 | |
Reinitialize(Boolean) | ||
Remove | パブリッシャでサブスクリプション登録を削除し、プッシュ サブスクリプション用のサブスクライバでレプリケーション オブジェクトを削除します。 (Subscription から継承されています。) | |
Script | サブスクリプションの作成や削除に使用できる Transact-SQL スクリプトを返します。 (Subscription から継承されています。) | |
StopSynchronizationJob | 現在サブスクリプションの同期を実行しているディストリビューション エージェント ジョブの停止を試みます。 | |
SynchronizeWithJob | エージェント ジョブを開始してサブスクリプションを同期します。 | |
ToString | (Object から継承されています。) |
先頭に戻る
説明
パブリッシャにリモート ディストリビュータを構成するとき、パラメータに指定した値は、SynchronizationAgentProcessSecurity も含めてすべてプレーン テキストとしてディストリビュータに送信されます。Create メソッドを呼び出す前に、パブリッシャとリモート ディストリビュータ間の接続を暗号化する必要があります。詳細については、「SQL Server への接続の暗号化」を参照してください。
サブスクリプションが SQL Server 以外のパブリッシャに属している場合、ConnectionContext プロパティはパブリッシャではなくディストリビュータに設定され、DatabaseName プロパティはパブリケーション データベースではなくディストリビューション データベースに設定され、PublisherName プロパティは SQL Server 以外のパブリッシャの名前に設定されます。
この名前空間、クラス、またはメンバは、.NET Framework 2.0 でのみサポートされています。
スレッド セーフ
この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
使用例
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2008R2Replica";
string publicationDbName = "AdventureWorks2008R2";
//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 = "AdventureWorks2008R2Replica"
Dim publicationDbName As String = "AdventureWorks2008R2"
'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
スレッド セーフ
この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。