Procédure : définir et modifier un filtre de lignes statiques (SQL Server Management Studio)
Définissez, modifiez et supprimez les filtres de lignes statiques dans la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou dans la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>. Pour plus d'informations sur l'utilisation de cet Assistant et sur l'accès à cette boîte de dialogue, consultez Procédure : créer une publication et définir des articles (SQL Server Management Studio) et Procédure : Affichage et modification des propriétés de l'article et de la publication (SQL Server Management Studio). Si la publication est activée pour la réplication transactionnelle d'égal à égal, les tables ne peuvent pas être filtrées.
[!REMARQUE]
Si vous ajoutez, modifiez ou supprimez un filtre de lignes statiques dans la boîte de dialogue Propriétés de la publication - <Publication> après avoir initialisé les abonnements à la publication, vous devez générer une nouvelle capture instantanée et réinitialiser tous les abonnements après avoir effectué la modification. Pour plus d'informations sur les conditions régissant les modifications des propriétés, consultez Modification des propriétés des publications et des articles.
Pour définir un filtre de lignes statiques
Dans la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou dans la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, l'action effectuée dépend du type de publication :
Pour une publication transactionnelle ou de capture instantanée, cliquez sur Ajouter.
Pour une publication de fusion, cliquez sur Ajouter puis sur Ajouter un filtre.
Dans la boîte de dialogue Ajouter un filtre, sélectionnez une table à filtrer dans la zone de liste déroulante.
Créez une instruction de filtrage dans la zone de texte Instruction de filtrage. Vous pouvez la taper directement dans la zone de texte mais vous pouvez également faire glisser et déplacer des colonnes de la zone de liste Colonnes.
[!REMARQUE]
La clause WHERE doit utiliser des noms à deux composantes, les noms à trois ou quatre composantes ne sont pas pris en charge. Si la publication provient d'un serveur de publication Oracle, la clause WHERE doit respecter la syntaxe Oracle.
La zone de texte Instruction de filtrage comprend le texte par défaut, qui se présente comme suit :
SELECT <published_columns> FROM [schema].[tablename] WHERE
Le texte par défaut ne peut pas être modifié ; tapez la clause de filtrage après le mot clé WHERE avec la syntaxe SQL standard. La clause de filtrage complète ressemble à ceci :
SELECT <published_columns> FROM [HumanResources].[Employee] WHERE [LoginID] = 'adventure-works\ranjit0'
Un filtre de lignes statiques peut inclure une fonction définie par l'utilisateur. La clause de filtrage complète pour un filtre de lignes statiques avec une fonction définie par l'utilisateur ressemble à ceci :
SELECT <published_columns> FROM [Sales].[SalesOrderHeader] WHERE MyFunction([Freight]) > 100
Cliquez sur OK.
Si vous êtes dans la boîte de dialogue Propriétés de la publication - <Publication>, cliquez sur OK pour enregistrer et fermer la boîte de dialogue.
Pour modifier un filtre de lignes statiques
Dans la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou dans la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez un filtre dans le volet Tables filtrées puis cliquez sur Modifier.
Dans la boîte de dialogue Modifier le filtre, modifiez le filtre.
Cliquez sur OK.
Pour supprimer un filtre de lignes statiques
- Dans la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou dans la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez un filtre dans le volet Tables filtrées puis cliquez sur Supprimer.