次の方法で共有


DynamicFilterHostName プロパティ

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

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

構文

'宣言
Public Property DynamicFilterHostName As String
    Get
    Set
'使用
Dim instance As SnapshotGenerationAgent
Dim value As String

value = instance.DynamicFilterHostName

instance.DynamicFilterHostName = value
public string DynamicFilterHostName { get; set; }
public:
virtual property String^ DynamicFilterHostName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
abstract DynamicFilterHostName : string with get, set
override DynamicFilterHostName : string with get, set
final function get DynamicFilterHostName () : String
final function set DynamicFilterHostName (value : String)

プロパティ値

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

実装

ISnapshotGenerationAgent. . :: . .DynamicFilterHostName

説明

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 = "AdventureWorks2008R2";
            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 = "AdventureWorks2008R2"
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