SQL Server Management Studioの - テーブルリスト内の複数のフィルタを使用していますか?

StackOverflow https://stackoverflow.com/questions/935849

質問

Management Studioで、あなたは右の表リストのフィルタを作成するには、テーブルのグループをクリックすることができます。誰もが、フィルタに複数のテーブルを含める方法を考え出していますか?例えば、私が表示されるまで「br_*」と「tbl_*」とのすべてのテーブルをしたいと思います。

誰もこれを行う方法を知っていますか?

役に立ちましたか?

解決

あなたは、あなたが探しているものを行うことができるようになるSMSSに独自のアドオンをロールすることができるかもしれません。

<のhref = "http://jcooney.net/post/2007/11/26/The-Black-Art-of-Writing-a-SQL-Server-Management-Studio-2005-Add-In。 ASPX」のrel = "noreferrer">ライティングのブラックアートSQL Server Management Studioの2005アドインする

アドインでSQL Server 2005のManagement Studioで機能を拡張

最初のものは、あなたが探しているもののためにその時に拡大することができるかもしれませんので、指定された名前を持つすべてのスキーマ・オブジェクトを検索し、表示するための、具体的である。

他のヒント

いいえ、あなたはこれを行うことはできません。 _%*"'&&&andor|||、等...

:我々は最初のManagement Studioを得たとき、私はあなたが考えることができるすべての可能なすべての組み合わせを試してみました

私は非常にいいフィルタリングオプションを持っているSQL Serverの(フリーウェア版)のためにヒキガエルを使用しました。

私は、SQL Server Management Studioののv17.1を使用することだし、それはそれのフィルタ構成にSQLインジェクションのバグを持っているので、あなたが実際にデフォルトの

をエスケープすることができます
tbl.name like '%xxx%' 

と(一部制限あり)、独自のクエリを記述します。 「_arch」、「_HIST」で終了しているテーブルをフィルタリングする、例えば、「_purge」私は

次のフィルタ値を使用しました
_arch') and RIGHT(tbl.name, 5) != N'purge' and RIGHT(tbl.name, 4) != N'hist' and not(tbl.name like N'bbb

あなたは構築されたクエリを確認し、必要に応じてそれを調整するために、SQL Serverプロファイラを使用することができます。

この同じバグが以前のSQL Management Studioのバージョンで利用可能であるか、それが修正されますと、今のところ、私は結果に満足している場合はわからない。

最初はそれがCONTAINSクエリ(例えば"br_*" OR "tbl_*")を使用することができますように見えますが、それはしていないようです。それだけにしLIKE句(例えば'app''%app%'なる)に渡された値をサポートするように思われます。

他の人として、あなたは、SQL Server Management Studioの(アップおよび2014を含む)でこれを行うことができない、と述べています。

これはあなたが必要とするすべてである場合は、

次のクエリでは、あなたのテーブルのフィルタリングされたリストを提供します。

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;
それは文字通り、それらを解釈するので、それは、%シンボルの周りにブラケットを置くものの、

SQLインジェクション法は依然として、SSMS 2017 v17.8.1のように(多少)動作します。

あなたが名 - >が含まれ、フィルタを使用している場合は、

は、プロファイラを示しています。 ... AND dtb.name LIKE N'%MyDatabase1%')

だから、品名 - で>フィールドが含まれています:MyDatabase1') OR (dtb.name LIKE 'MyDatabase2は、単純な例のためにそれを行う必要があります。

あなたは以上の1つのテーブルを参照してくださいしかし、あなたは、あなたがそれを変更するたびにおけるフィルタテキストを入力する必要ができるようになるスキーマによってフィルタリングすることができますので、私の成功は小さいが、

あなたの運で、私はちょうど、その偉業を征服しました。

これは、私が知っている古いですが、それはあなたが入力したばかりの「フィルタ」テキストを入力する場合、それが動作することができることを知って良いことです。ただ*または%を入力するか、または何でもあなたがフィルタリングする、br_またはtbl_または任意の他の標準的な検索文字をスキップします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top