MergeDynamicSnapshotJob クラス
パラメーター化された行フィルターでマージ パブリケーションに対するサブスクリプションのデータ スナップショットを生成するスナップショット エージェント ジョブに関する情報を含みます。
継承階層
System.Object
Microsoft.SqlServer.Replication.MergeDynamicSnapshotJob
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)
構文
'宣言
Public NotInheritable Class MergeDynamicSnapshotJob
'使用
Dim instance As MergeDynamicSnapshotJob
public sealed class MergeDynamicSnapshotJob
public ref class MergeDynamicSnapshotJob sealed
[<SealedAttribute>]
type MergeDynamicSnapshotJob = class end
public final class MergeDynamicSnapshotJob
MergeDynamicSnapshotJob 型は、以下のメンバーを公開しています。
コンストラクター
名前 | 説明 | |
---|---|---|
MergeDynamicSnapshotJob | MergeDynamicSnapshotJob クラスの新しいインスタンスを作成します。 |
先頭に戻る
プロパティ
名前 | 説明 | |
---|---|---|
DynamicFilterHostName | パラメーター化された行フィルターが HOST_NAME (Transact-SQL) 関数を使用して定義されている場合、データ スナップショットを生成するためにこの関数に渡される値を取得します。値の設定も可能です。 | |
DynamicFilterLogin | パラメーター化された行フィルターが SUSER_SNAME (Transact-SQL) 関数を使用して定義されている場合、データ スナップショットを生成するためにこの関数に渡される値を取得します。値の設定も可能です。 | |
DynamicSnapshotLocation | このスナップショット エージェント ジョブによって生成される、フィルター選択されたスナップショットの格納に使用されるオペレーティング システム フォルダーを取得します。値の設定も可能です。 | |
JobId | サブスクライバーのフィルター選択されたスナップショットを生成する Microsoft SQL Server エージェント ジョブ ID を、16 進形式で取得します。値の設定も可能です。 | |
Name | サブスクライバーのフィルター選択されたスナップショットを生成するスナップショット エージェント ジョブの名前を取得します。値の設定も可能です。 | |
UserData | MergeDynamicSnapshotJob のこのインスタンスにカスタム データをアタッチするためのオブジェクトを取得します。値の設定も可能です。 |
先頭に戻る
メソッド
名前 | 説明 | |
---|---|---|
Equals | (Object から継承されています。) | |
GetHashCode | (Object から継承されています。) | |
GetType | (Object から継承されています。) | |
ToString | (Object から継承されています。) |
先頭に戻る
説明
この名前空間、クラス、またはメンバーは、Microsoft .NET Framework 2.0 でのみサポートされています。
スレッド セーフ
この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバーは、マルチスレッド操作で安全に使用できます。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
使用例
// Define the server, database, and publication names
string publisherName = publisherInstance;
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks2012";
string distributorName = publisherInstance;
MergePublication publication;
MergePartition partition;
MergeDynamicSnapshotJob snapshotAgentJob;
ReplicationAgentSchedule schedule;
// Create a connection to the Publisher.
ServerConnection publisherConn = new ServerConnection(publisherName);
// Create a connection to the Distributor to start the Snapshot Agent.
ServerConnection distributorConn = new ServerConnection(distributorName);
try
{
// Connect to the Publisher.
publisherConn.Connect();
// Set the required properties for the publication.
publication = new MergePublication();
publication.ConnectionContext = publisherConn;
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
// If we can't get the properties for this merge publication,
// then throw an application exception.
if (publication.LoadProperties() || publication.SnapshotAvailable)
{
// Set a weekly schedule for the filtered data snapshot.
schedule = new ReplicationAgentSchedule();
schedule.FrequencyType = ScheduleFrequencyType.Weekly;
schedule.FrequencyRecurrenceFactor = 1;
schedule.FrequencyInterval = Convert.ToInt32(0x001);
// Set the value of Hostname that defines the data partition.
partition = new MergePartition();
partition.DynamicFilterHostName = hostname;
snapshotAgentJob = new MergeDynamicSnapshotJob();
snapshotAgentJob.DynamicFilterHostName = hostname;
// Create the partition for the publication with the defined schedule.
publication.AddMergePartition(partition);
publication.AddMergeDynamicSnapshotJob(snapshotAgentJob, schedule);
}
else
{
throw new ApplicationException(String.Format(
"Settings could not be retrieved for the publication, " +
" or the initial snapshot has not been generated. " +
"Ensure that the publication {0} exists on {1} and " +
"that the Snapshot Agent has run successfully.",
publicationName, publisherName));
}
}
catch (Exception ex)
{
// Do error handling here.
throw new ApplicationException(string.Format(
"The partition for '{0}' in the {1} publication could not be created.",
hostname, publicationName), ex);
}
finally
{
publisherConn.Disconnect();
if (distributorConn.IsOpen) distributorConn.Disconnect();
}
' Define the server, database, and publication names
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"
Dim distributorName As String = publisherInstance
Dim publication As MergePublication
Dim partition As MergePartition
Dim snapshotAgentJob As MergeDynamicSnapshotJob
Dim schedule As ReplicationAgentSchedule
' Create a connection to the Publisher.
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)
' Create a connection to the Distributor to start the Snapshot Agent.
Dim distributorConn As ServerConnection = New ServerConnection(distributorName)
Try
' Connect to the Publisher.
publisherConn.Connect()
' Set the required properties for the publication.
publication = New MergePublication()
publication.ConnectionContext = publisherConn
publication.Name = publicationName
publication.DatabaseName = publicationDbName
' If we can't get the properties for this merge publication,
' then throw an application exception.
If (publication.LoadProperties() Or publication.SnapshotAvailable) Then
' Set a weekly schedule for the filtered data snapshot.
schedule = New ReplicationAgentSchedule()
schedule.FrequencyType = ScheduleFrequencyType.Weekly
schedule.FrequencyRecurrenceFactor = 1
schedule.FrequencyInterval = Convert.ToInt32("0x001", 16)
' Set the value of Hostname that defines the data partition.
partition = New MergePartition()
partition.DynamicFilterHostName = hostname
snapshotAgentJob = New MergeDynamicSnapshotJob()
snapshotAgentJob.DynamicFilterHostName = hostname
' Create the partition for the publication with the defined schedule.
publication.AddMergePartition(partition)
publication.AddMergeDynamicSnapshotJob(snapshotAgentJob, schedule)
Else
Throw New ApplicationException(String.Format( _
"Settings could not be retrieved for the publication, " + _
" or the initial snapshot has not been generated. " + _
"Ensure that the publication {0} exists on {1} and " + _
"that the Snapshot Agent has run successfully.", _
publicationName, publisherName))
End If
Catch ex As Exception
' Do error handling here.
Throw New ApplicationException(String.Format( _
"The partition for '{0}' in the {1} publication could not be created.", _
hostname, publicationName), ex)
Finally
publisherConn.Disconnect()
If distributorConn.IsOpen Then
distributorConn.Disconnect()
End If
End Try
スレッド セーフ
この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
関連項目
参照
Microsoft.SqlServer.Replication 名前空間
その他の技術情報
パラメーター化されたフィルターを使用してマージ パブリケーションのスナップショットを作成する方法 (RMO プログラミング)
パラメーター化されたフィルターを使用してマージ パブリケーションのパーティションを管理する方法 (RMO プログラミング)