TransSynchronizationAgent クラス
レプリケーション ディストリビューション エージェントの機能を提供します。
継承階層
System. . :: . .Object
System. . :: . .MarshalByRefObject
Microsoft.SqlServer.Replication..::..TransSynchronizationAgent
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Replication (Microsoft.SqlServer.Replication.dll)
構文
'宣言
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<ComVisibleAttribute(True)> _
<GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")> _
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public Class TransSynchronizationAgent _
Inherits MarshalByRefObject _
Implements IDisposable, ITransSynchronizationAgent
'使用
Dim instance As TransSynchronizationAgent
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
[GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")]
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class TransSynchronizationAgent : MarshalByRefObject,
IDisposable, ITransSynchronizationAgent
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
[ComVisibleAttribute(true)]
[GuidAttribute(L"adeda98a-bdfc-4029-b6fb-991d6b468395")]
[PermissionSetAttribute(SecurityAction::Demand, Name = L"FullTrust")]
public ref class TransSynchronizationAgent : public MarshalByRefObject,
IDisposable, ITransSynchronizationAgent
[<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)>]
[<ComVisibleAttribute(true)>]
[<GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
[<PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")>]
type TransSynchronizationAgent =
class
inherit MarshalByRefObject
interface IDisposable
interface ITransSynchronizationAgent
end
public class TransSynchronizationAgent extends MarshalByRefObject implements IDisposable, ITransSynchronizationAgent
TransSynchronizationAgent 型は、以下のメンバーを公開しています。
プロパティ
名前 | 説明 | |
---|---|---|
AltSnapshotFolder | サブスクリプションの代替スナップショット フォルダを取得します。値の設定も可能です。 | |
ComErrorCollection | レプリケーション エージェントで発生したエラーのコレクションを取得します。 | |
Distributor | サブスクリプションのディストリビュータとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。 | |
DistributorAddress | DistributorNetwork プロパティが指定されている場合にディストリビュータへの接続に使用されるネットワーク アドレスを取得します。値の設定も可能です。 | |
DistributorEncryptedPassword | インフラストラクチャです。 | |
DistributorLogin | SQL Server 認証を使用してディストリビュータに接続するときに使用されるログイン名を取得します。値の設定も可能です。 | |
DistributorNetwork | ディストリビュータに接続するときに使用されるクライアントの Net-Library を取得します。値の設定も可能です。 | |
DistributorPassword | SQL Server 認証を使用してディストリビュータに接続するときに使用されるパスワードを設定します。 | |
DistributorSecurityMode | ディストリビュータに接続するときに使用されるセキュリティ モードを取得します。値の設定も可能です。 | |
DtsPackageFileName | コマンド行セットをサブスクライバに適用する前に変換するための Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの名前とパスを取得します。値の設定も可能です。 | |
DtsPackagePassword | DtsPackageFileName プロパティで指定された Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージへのアクセスに使用される所有者パスワードを取得します。値の設定も可能です。 | |
FileTransferType | 初期スナップショット ファイルをサブスクライバに転送する方法を取得します。値の設定も可能です。 | |
HostName | インフラストラクチャです。 | |
LastUpdatedTime | レプリケーション エージェントが最後にサブスクリプションの同期をとったときのタイムスタンプを取得します。 | |
LoginTimeout | 接続が確立されるまで待機する最大秒数を取得します。値の設定も可能です。 | |
MaxDeliveredTransactions | 1 回のエージェント実行でサブスクライバに適用されるトランザクションの最大数を取得します。値の設定も可能です。 | |
Output | エージェントの出力ファイルの名前とパスを取得します。値の設定も可能です。 | |
OutputVerboseLevel | ディストリビューション エージェントによってエージェントの出力ファイルに記録される情報の量を取得します。値の設定も可能です。 | |
ProfileName | エージェントが使用するプロファイルの名前を取得します。値の設定も可能です。 | |
Publication | パブリケーションの名前を取得します。値の設定も可能です。 | |
Publisher | サブスクリプションのパブリッシャとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。 | |
PublisherDatabase | パブリケーション データベースの名前を取得します。値の設定も可能です。 | |
QueryTimeout | 内部クエリがタイムアウトになるまでの秒数を取得します。値の設定も可能です。 | |
SecureDistributorEncryptedPassword | インフラストラクチャです。 | |
SecureSubscriberEncryptedPassword | インフラストラクチャです。 | |
SkipErrors | このエージェントによってスキップされるエラー番号のコロン区切りの一覧を取得します。値の設定も可能です。 | |
Subscriber | サブスクライバとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。 | |
SubscriberDatabase | サブスクリプション データベースの名前を取得します。値の設定も可能です。 | |
SubscriberDatabasePath | インフラストラクチャです。 | |
SubscriberDataSourceType | サブスクライバとして使用されるデータ ソースの種類を取得します。値の設定も可能です。 | |
SubscriberEncryptedPassword | インフラストラクチャです。 | |
SubscriberLogin | SQL Server 認証を使用してサブスクライバに接続するときに使用されるログイン名を取得します。値の設定も可能です。 | |
SubscriberPassword | SQL Server 認証を使用してサブスクライバに接続するときに使用されるパスワードを設定します。 | |
SubscriberSecurityMode | パブリッシャに接続するときに使用されるセキュリティ モードを取得します。値の設定も可能です。 | |
SubscriptionType | サブスクリプションがプッシュ サブスクリプションかプル サブスクリプションかを取得します。値の設定も可能です。 | |
UndeliveredCommands | インフラストラクチャです。 | |
UndeliveredTransactions | インフラストラクチャです。 | |
UseInProcLoader | サブスクライバでスナップショット ファイルを適用するときに BULK INSERT コマンドを使用するかどうかを取得します。値の設定も可能です。 | |
WorkingDirectory | ファイル転送プロトコル (FTP) を使用する場合にスナップショット ファイルにアクセスできる作業ディレクトリを取得します。値の設定も可能です。 |
先頭に戻る
メソッド
名前 | 説明 | |
---|---|---|
Abort | インフラストラクチャです。 | |
CreateObjRef | (MarshalByRefObject から継承されています。) | |
Dispose() () () () | インフラストラクチャです。 | |
Dispose(Boolean) | ||
Equals | (Object から継承されています。) | |
Finalize | インフラストラクチャです。 (Object. . :: . .Finalize() () () () をオーバーライドします。) | |
GetHashCode | (Object から継承されています。) | |
GetLifetimeService | (MarshalByRefObject から継承されています。) | |
GetType | (Object から継承されています。) | |
InitializeLifetimeService | (MarshalByRefObject から継承されています。) | |
IsSnapshotRequired | ディストリビュータとサブスクライバに接続して、エージェントの次回の同期の際に新しいスナップショットが適用されるかどうかを示します。 | |
MemberwiseClone() () () () | (Object から継承されています。) | |
MemberwiseClone(Boolean) | (MarshalByRefObject から継承されています。) | |
Synchronize | ディストリビューション エージェントを開始してサブスクリプションを同期します。 | |
ToString | (Object から継承されています。) |
先頭に戻る
説明
TransSynchronizationAgent クラスでは、プログラムでサブスクリプションをトランザクション パブリケーションやスナップショット パブリケーションに同期させるための機能がサポートされています。
使用例
次の例では、プッシュ サブスクリプションの同期をとるために、SynchronizationAgent プロパティからアクセスされる TransSynchronizationAgent クラスのインスタンスで Synchronize メソッドを呼び出しています。
// Define the server, publication, and database names.
string subscriberName = subscriberInstance;
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string subscriptionDbName = "AdventureWorks2008R2Replica";
string publicationDbName = "AdventureWorks2008R2";
// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
TransSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Define the push subscription.
subscription = new TransSubscription();
subscription.ConnectionContext = conn;
subscription.DatabaseName = publicationDbName;
subscription.PublicationName = publicationName;
subscription.SubscriptionDBName = subscriptionDbName;
subscription.SubscriberName = subscriberName;
// If the push subscription exists, start the synchronization.
if (subscription.LoadProperties())
{
// Check that we have enough metadata to start the agent.
if (subscription.SubscriberSecurity != null)
{
// Synchronously start the Distribution Agent for the subscription.
subscription.SynchronizationAgent.Synchronize();
}
else
{
throw new ApplicationException("There is insufficent metadata to " +
"synchronize the subscription. Recreate the subscription with " +
"the agent job or supply the required agent properties at run time.");
}
}
else
{
// Do something here if the push subscription does not exist.
throw new ApplicationException(String.Format(
"The subscription to '{0}' does not exist on {1}",
publicationName, subscriberName));
}
}
catch (Exception ex)
{
// Implement appropriate error handling here.
throw new ApplicationException("The subscription could not be synchronized.", ex);
}
finally
{
conn.Disconnect();
}
' Define the server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim subscriptionDbName As String = "AdventureWorks2008R2Replica"
Dim publicationDbName As String = "AdventureWorks2008R2"
' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
Dim subscription As TransSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Define the push subscription.
subscription = New TransSubscription()
subscription.ConnectionContext = conn
subscription.DatabaseName = publicationDbName
subscription.PublicationName = publicationName
subscription.SubscriptionDBName = subscriptionDbName
subscription.SubscriberName = subscriberName
' If the push subscription exists, start the synchronization.
If subscription.LoadProperties() Then
' Check that we have enough metadata to start the agent.
If Not subscription.SubscriberSecurity Is Nothing Then
' Synchronously start the Distribution Agent for the subscription.
subscription.SynchronizationAgent.Synchronize()
Else
Throw New ApplicationException("There is insufficent metadata to " + _
"synchronize the subscription. Recreate the subscription with " + _
"the agent job or supply the required agent properties at run time.")
End If
Else
' Do something here if the push subscription does not exist.
Throw New ApplicationException(String.Format( _
"The subscription to '{0}' does not exist on {1}", _
publicationName, subscriberName))
End If
Catch ex As Exception
' Implement appropriate error handling here.
Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
conn.Disconnect()
End Try
スレッド セーフ
TransSynchronizationAgent クラスは、マルチスレッド アパートメントをサポートしていません。アプリケーションのメイン エントリ ポイントであるメソッドで [STAThread] 属性を宣言することにより、シングル スレッド アパートメントを指定できます。これは、Microsoft Visual Studio を使用して作成された Microsoft Windows ベースのアプリケーションの既定値です。