SnapshotGenerationAgent.DynamicFilterHostName Property

Gets or sets the value supplied to the HOST_NAME function used in a parameterized row filter.

Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Replication (in microsoft.sqlserver.replication.dll)

Syntax

'Declaration
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)

Property Value

A String value used for filtering.

Remarks

The value specified for DynamicFilterHostName is used when generating the partitioned snapshot for a subscription defined based-on a parameterized row filter that uses the HOST_NAME function. For example, if the subset filter clause LoginID = HOST_NAME() is specified for an article, and you set the DynamicFilterHostName property to "adventure-works\garrett1" before calling the Merge Agent, only rows having "adventure-works\garrett1" in the login_id column will be replicated.

The DynamicFilterHostName property is only supported for merge publications.

You should not specify a value for DynamicFilterHostName when specifying a value for DynamicFilterLogin.

Example

// 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

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

SnapshotGenerationAgent Class
SnapshotGenerationAgent Members
Microsoft.SqlServer.Replication Namespace

Other Resources

How to: Create a Snapshot for a Merge Publication with Parameterized Filters (RMO Programming)
Parameterized Row Filters