在 Management Studio 中,您可以右键单击表组来为表列表创建过滤器。有没有人找到一种在过滤器中包含多个表的方法?例如,我想要所有带有“br_*“ 和 ”tbl_*“ 现身。

有人知道怎么做吗?

有帮助吗?

解决方案

您也许可以将自己的插件添加到 SMSS,这将允许您执行您正在寻找的操作:

编写 SQL Server Management Studio 2005 加载项的黑魔法

使用加载项扩展 SQL Server 2005 Management Studio 中的功能

第一个专门用于搜索和显示具有给定名称的所有模式对象,以便您可以扩展您要查找的内容。

其他提示

,你不能做到这一点。当我们第一次Management Studio中我用尽了一切的一切可能的组合,你能想到的:_%*"'&&&andor|||,等等...

我用蟾蜍对于具有非常好的过滤选项的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 Profiler来看看构造查询,并根据需要进行调整。

不知道这同样的bug是在以前的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