Pregunta

En Management Studio, puede hacer clic derecho en el grupo de tablas para crear un filtro para la lista de la tabla. Alguien ha encontrado una manera de incluir varias tablas en el filtro? Por ejemplo, me gustaría que todas las tablas con "br_*" y "tbl_*" a aparecer.

Alguien sabe cómo hacer esto?

¿Fue útil?

Solución

Usted puede ser capaz de rodar su propio complemento a SMSS que permitiría que hagas lo que busca:

El Arte Negro de escribir un SQL Server Management Studio 2005 Add-In

extender la funcionalidad de SQL Server 2005 Management Studio con complementos

La primera de ellas es específicamente para la búsqueda y visualización de todos los objetos de esquema con un nombre dado por lo que podría ser capaz de ampliar que por lo que busca.

Otros consejos

No , no se puede hacer esto. Cuando llegamos por primera vez Management Studio He intentado todas las combinaciones posibles de todo lo que usted podría pensar: _, %, *, ", ', &&, &, and, or, |, ||, etc ...

He usado Toad para SQL Server (versión freeware) que tiene muy buenas opciones de filtrado.

Estoy usando SQL Server Management Studio v17.1 y tiene un error de inyección SQL en su construcción del filtro, por lo que en realidad se puede escapar por defecto

tbl.name like '%xxx%' 

y escribir su propia consulta (con algunas limitaciones). Por ejemplo, para filtrar las tablas que están terminando con "_arch", "_HIST", "_purge" Tenía siguiente valor de filtro

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

Puede utilizar SQL Server para ver la consulta construida y ajustarlo según sea necesario.

No estoy seguro si este mismo error está disponible en versiones anteriores de SQL Management Studio o cuándo va a ser fijo, pero por ahora estoy feliz con el resultado.

Al principio parece que podría utilizar una consulta CONTAINS (por ejemplo "br_*" OR "tbl_*"), pero no parece. Parece que soportar sólo un valor que se pasa a continuación, en una cláusula LIKE (por ejemplo 'app' convierte '%app%').

Como otros han dicho, no se puede hacer esto en SQL Server Management Studio (hasta e incluyendo 2014).

La siguiente consulta le dará una lista filtrada de tablas, si esto es todo lo que necesita:

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;

El método de inyección SQL todavía funciona (algo) como de SSMS 2017 v17.8.1, aunque se pone entre paréntesis alrededor del símbolo %, por lo que lo interpretará literalmente.

Si está utilizando el filtro Nombre> Contiene, Profiler muestra: ... AND dtb.name LIKE N'%MyDatabase1%')

Por lo tanto, en el Nombre> campo Contiene: MyDatabase1') OR (dtb.name LIKE 'MyDatabase2 debe hacerlo para los casos simples

.

Su suerte, acabo conquistado esa hazaña, a pesar de mi éxito es pequeño porque se puede filtrar por el esquema que le permitirá ver más de 1 mesa, pero usted tiene que escribir el texto de filtro en cada vez que desee cambiar.

Esto es viejo lo sé, pero es bueno saber que se puede trabajar si introduce acaba de entrar en el texto "filtro". Saltar * o % o cualquier otro carácter de búsqueda estándar, simplemente introduzca br_ o tbl_ o lo que desea filtrar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top