TransSynchronizationAgent クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レプリケーション ディストリビューション エージェントの機能を提供します。
public ref class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft::SqlServer::Replication::ITransSynchronizationAgent
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")]
public class TransSynchronizationAgent : MarshalByRefObject, IDisposable, Microsoft.SqlServer.Replication.ITransSynchronizationAgent
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComSourceInterfaces(typeof(Microsoft.SqlServer.Replication.IComStatusEvent))>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
type TransSynchronizationAgent = class
inherit MarshalByRefObject
interface IDisposable
interface ITransSynchronizationAgent
Public Class TransSynchronizationAgent
Inherits MarshalByRefObject
Implements IDisposable, ITransSynchronizationAgent
- 継承
-
TransSynchronizationAgent
- 属性
- 実装
例
次の例では、プッシュ サブスクリプションをSynchronize同期するために、プロパティからSynchronizationAgentアクセスされるクラスのTransSynchronizationAgentインスタンスでメソッドが呼び出されます。
// Define the server, publication, and database names.
string subscriberName = subscriberInstance;
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
// 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 = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
' 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 クラスでは、プログラムでサブスクリプションをトランザクション パブリケーションやスナップショット パブリケーションに同期させるための機能がサポートされています。
コンストラクター
TransSynchronizationAgent() |
TransSynchronizationAgent クラスのインスタンスを作成します。 |
プロパティ
AltSnapshotFolder |
サブスクリプションの代替スナップショット フォルダーを取得します。値の設定も可能です。 |
ComErrorCollection |
レプリケーション エージェントによって生成されるエラーのコレクションを取得します。 |
Distributor |
サブスクリプションのディストリビューターとして機能する Microsoft SQL Serverのインスタンスの名前を取得または設定します。 |
DistributorAddress |
DistributorNetwork プロパティが指定されている場合にディストリビューターへの接続に使用されるネットワーク アドレスを取得します。値の設定も可能です。 |
DistributorEncryptedPassword |
SQL Server認証を使用してディストリビューターに接続するときに使用される暗号化されたパスワードを取得または設定します。 |
DistributorLogin |
SQL Server認証を使用してディストリビューターに接続するときに使用するログイン名を取得または設定します。 |
DistributorNetwork |
ディストリビューターへの接続時に使用されるクライアント Net-Libraryを取得または設定します。 |
DistributorPassword |
SQL Server認証を使用してディストリビューターに接続するときに使用するパスワードを取得または設定します。 |
DistributorSecurityMode |
ディストリビューターに接続するときに使用されるセキュリティ モードを取得します。値の設定も可能です。 |
DtsPackageFileName |
コマンド行セットをサブスクライバーに適用する前に変換するための Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの名前とパスを取得します。値の設定も可能です。 |
DtsPackagePassword |
プロパティで指定された Microsoft SQL Server 2000 Data Transformation Services (DTS) パッケージへのアクセスに使用する所有者パスワードをDtsPackageFileName取得または設定します。 |
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() |
TransSynchronizationAgent の操作を停止します。 |
Dispose() |
TransSynchronizationAgent クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。 |
Dispose(Boolean) |
TransSynchronizationAgent クラスによって使用されているすべてのリソースを解放します。 |
Finalize() |
を終了します TransSynchronizationAgent。 |
IsSnapshotRequired() |
ディストリビューターとサブスクライバーに接続して、エージェントの次回の同期の際に新しいスナップショットが適用されるかどうかを示します。 |
Synchronize() |
ディストリビューション エージェントを開始してサブスクリプションを同期します。 |
イベント
ComStatus |
ディストリビューション エージェントが同期の Com 状態情報を返すと発生します。 |
Status |
ディストリビューション エージェントが同期の状態情報を返すと発生します。 |
適用対象
スレッド セーフ
TransSynchronizationAgent クラスは、マルチスレッド アパートメントをサポートしていません。 シングルスレッド アパートメントを指定するには、アプリケーションの [STAThread]
メイン エントリ ポイントであるメソッドで属性を宣言します。 これは、Microsoft Visual Studio を使用して作成される Microsoft Windows ベースのアプリケーションの既定値です。