次の方法で共有


SnapshotGenerationAgent.DynamicFilterHostName Property

パラメータ化された行フィルタで使用される HOST_NAME 関数に渡される値を取得します。値の設定も可能です。

名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Replication (microsoft.sqlserver.replication.dll 内)

構文

'宣言
Public Property DynamicFilterHostName As String
public string DynamicFilterHostName { get; set; }
public:
virtual property String^ DynamicFilterHostName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
/** @property */
public final String get_DynamicFilterHostName ()

/** @property */
public final void set_DynamicFilterHostName (String value)
public final function get DynamicFilterHostName () : String

public final function set DynamicFilterHostName (value : String)

プロパティ値

フィルタの適用に使用される String 値です。

解説

DynamicFilterHostName に指定された値は、HOST_NAME 関数を使用するパラメータ化された行フィルタに基づいて定義されるサブスクリプションに対して、パーティション スナップショットを生成する際に使用されます。たとえば、サブセット フィルタ句 LoginID = HOST_NAME() が指定されているアーティクルで、マージ エージェントを呼び出す前に DynamicFilterHostName プロパティを "adventure-works\garrett1" に設定すると、login_id 列が "adventure-works\garrett1" の行のみがレプリケートされます。

DynamicFilterHostName プロパティは、マージ パブリケーションでのみサポートされます。

DynamicFilterLogin の値を指定する場合は、DynamicFilterHostName の値は指定しないでください。

使用例

// Set the Publisher, publication database, and publication names.
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks";
string publisherName = publisherInstance;
string distributorName = publisherInstance;

SnapshotGenerationAgent agent;

try
{
    // Set the required properties for Snapshot Agent.
    agent = new SnapshotGenerationAgent();
    agent.Distributor = distributorName;
    agent.DistributorSecurityMode = SecurityMode.Integrated;
    agent.Publisher = publisherName;
    agent.PublisherSecurityMode = SecurityMode.Integrated;
    agent.Publication = publicationName;
    agent.PublisherDatabase = publicationDbName;
    agent.ReplicationType = ReplicationType.Merge;

    // Specify the partition information to generate a 
    // filtered snapshot based on Hostname.
    agent.DynamicFilterHostName = hostname;

    // Start the agent synchronously.
    agent.GenerateSnapshot();
}
catch (Exception ex)
{
    // Implement custom application error handling here.
    throw new ApplicationException(String.Format(
        "A snapshot could not be generated for the {0} publication."
        , publicationName), ex);
}
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks"
Dim publisherName As String = publisherInstance
Dim distributorName As String = publisherInstance

Dim agent As SnapshotGenerationAgent

Try
    ' Set the required properties for Snapshot Agent.
    agent = New SnapshotGenerationAgent()
    agent.Distributor = distributorName
    agent.DistributorSecurityMode = SecurityMode.Integrated
    agent.Publisher = publisherName
    agent.PublisherSecurityMode = SecurityMode.Integrated
    agent.Publication = publicationName
    agent.PublisherDatabase = publicationDbName
    agent.ReplicationType = ReplicationType.Merge

    ' Specify the partition information to generate a 
    ' filtered snapshot based on Hostname.
    agent.DynamicFilterHostName = hostname

    ' Start the agent synchronously.
    agent.GenerateSnapshot()
Catch ex As Exception
    ' Implement custom application error handling here.
    Throw New ApplicationException(String.Format( _
     "A snapshot could not be generated for the {0} publication." _
     , publicationName), ex)
End Try

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

SnapshotGenerationAgent Class
SnapshotGenerationAgent Members
Microsoft.SqlServer.Replication Namespace

その他の技術情報

パラメータ化されたフィルタを使用してマージ パブリケーションのスナップショットを作成する方法 (RMO プログラミング)
パラメータ化された行フィルタ