Partager via


SnapshotGenerationAgent.DynamicFilterHostName Property

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

Espace de noms: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Replication (in microsoft.sqlserver.replication.dll)

Syntaxe

'Déclaration
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)

Valeur de propriété

A String value used for filtering.

Notes

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.

Exemple

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

Sécurité des threads

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.

Plateformes

Plateformes de développement

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Plateformes cibles

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Voir aussi

Référence

SnapshotGenerationAgent Class
SnapshotGenerationAgent Members
Microsoft.SqlServer.Replication Namespace

Autres ressources

How to: Create a Snapshot for a Merge Publication with Parameterized Filters (RMO Programming)
Filtres de lignes paramétrés