SQL Server Management Studio – utilisation de plusieurs filters dans la list des tables?

Dans Management Studio, vous pouvez faire un clic droit sur le groupe de tables pour créer un filter pour la list de tables. Est-ce que quelqu'un a trouvé un moyen d'inclure plusieurs tables dans le filter? Par exemple, j'aimerais que toutes les tables contenant " br_* " et " tbl_* " apparaissent.

Quelqu'un sait-il comment faire ça?

Vous pourriez être en mesure de rouler votre propre addon à SMSS qui vous permettrait de faire ce que vous cherchez:

L'art noir de l'écriture d'un complément SQL Server Management Studio 2005

Étendre la fonctionnalité dans SQL Server 2005 Management Studio avec les compléments

Le premier est spécifiquement pour la search et l'affichage de tous les objects de schéma avec un nom donné afin que vous puissiez être en mesure de développer cela pour ce que vous searchz.

Non , tu ne peux pas faire ça. Quand nous avons eu Management Studio pour la première fois, j'ai essayé toutes les combinaisons possibles: _ , % , * , " , ' , && , & , and , or , | , || , etc …

J'ai utilisé Toad pour SQL Server (version freeware) qui a de très jolies options de filtrage.

Comme d'autres l'ont dit, vous ne pouvez pas le faire dans SQL Server Management Studio (jusqu'à 2014 inclus).

La requête suivante vous donnera une list de tables filtrée, si c'est tout ce dont vous avez besoin:

 SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS TABLE_SCHEMA_AND_NAME, TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA IN ('X', 'Y', 'Z') -- schemas go here ORDER BY TABLE_SCHEMA, TABLE_NAME; 

J'utilise SQL Server Management Studio v17.1 et il a un bug d'injection SQL dans sa construction de filter, de sorte que vous pouvez réellement échapper à la valeur par défaut

 tbl.name like '%xxx%' 

et écrivez votre propre requête (avec quelques limitations). Par exemple, pour filterr les tables qui se terminent par "_arch", "_hist", "_purge", j'ai utilisé la valeur de filter suivante

 _arch') and RIGHT(tbl.name, 5) != N'purge' and RIGHT(tbl.name, 4) != N'hist' and not(tbl.name like N'bbb 

Vous pouvez utiliser SQL Server Profiler pour voir la requête construite et l'ajuster si nécessaire.

Je ne sais pas si ce même bug est disponible dans les versions précédentes de SQL Management Studio ou quand il sera corrigé, mais pour le moment je suis content du résultat.

Au début, il semble qu'il pourrait utiliser une requête CONTAINS (par exemple "br_*" OR "tbl_*" ), mais cela ne semble pas le cas. Il semble ne supporter qu'une valeur qui est ensuite passée dans une clause LIKE (par exemple 'app' devient '%app%' ).

bien sûr, pas si joli mais pour un access rapide aux informations du schéma, vous pouvez toujours juste Script Table comme … Créer Pour … Nouvelle window Éditeur de requête, puis utilisez le button "Commentaire de sélection" sur la barre d'outils de l'éditeur pour commenter l'set chose dehors. Personnellement, je pense que c'est plus rapide à voir et plus facile à copyr.

C'est vieux je sais, mais il est bon de savoir que cela peut marcher si vous entrez simplement le text "filter". Sautez * ou % ou tout autre caractère de search standard, entrez simplement br_ ou tbl_ ou ce que vous voulez filterr.

Votre chance, j'ai juste conquis cet exploit, bien que mon succès soit petit car vous pouvez filterr par schéma ce qui vous permettrait de voir plus d'une table mais vous devez taper le text du filter à chaque fois que vous voulez le changer.