Domanda

In Management Studio, è possibile fare clic destro sul gruppo tabelle per creare un filtro per l'elenco di tabella.Qualcuno ha pensato a un modo per inserire più tabelle nel filtro?Per esempio, vorrei che tutti I tavoli con "br_*"e "tbl_*"in mostra.

Qualcuno sa come fare questo?

È stato utile?

Soluzione

Si potrebbe essere in grado di rotolare il proprio addon per SMSS che permetterebbe di fare quello che stai cercando:

L'arte nera di Scrivi SQL Server Management Studio 2005 Add-In

estendere la funzionalità in SQL Server 2005 Management Studio con i componenti aggiuntivi

Il primo è specifico per la ricerca e la visualizzazione di tutti gli oggetti dello schema con un determinato nome per cui si potrebbe essere in grado di estendere che per quello che stai cercando.

Altri suggerimenti

No, non si può fare questo.Quando abbiamo ottenuto la Gestione di Studio ho provato ogni combinazione possibile di tutto ciò che si potrebbe pensare: _, %, *, ", ', &&, &, and, or, |, ||, ecc...

Ho usato Toad for SQL Server (versione freeware) che ha molto belle opzioni di filtro.

Sto utilizzando SQL Server Management Studio v17.1 e ha un bug in SQL injection è la costruzione del filtro, in modo da poter effettivamente sfuggire di default

tbl.name like '%xxx%' 

e scrivere la propria query (con alcune limitazioni). Ad esempio, per filtrare le tabelle che sono terminano con "_arch", "_hist", "_purge" Ho usato seguente valore di filtro

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

È possibile utilizzare SQL Server Profiler per vedere la query costruito e regolare in base alle esigenze.

Non so se questo stesso bug è disponibile nelle precedenti versioni di SQL Management Studio o quando verrà risolto, ma per ora sono contento del risultato.

In un primo momento sembra che potrebbe utilizzare una query CONTAINS (ad esempio "br_*" OR "tbl_*"), ma non sembra. Sembra supportare solo un valore che viene poi fatto passare in una clausola LIKE (ad esempio 'app' diventa '%app%').

Come altri hanno già detto, non si può fare questo in SQL Server Management Studio (e compresa 2014).

La query seguente vi darà un elenco filtrato di tabelle, se questo è tutto ciò che serve:

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;

Il metodo di iniezione SQL funziona ancora (un po ') come di SSMS 2017 v17.8.1, anche se mette tra parentesi attorno al simbolo %, in modo che interpreterà quelle letteralmente.

Se si utilizza il filtro Name-> Contiene, Profiler mostra: ... AND dtb.name LIKE N'%MyDatabase1%')

Quindi, nella Name-> Contiene campo: MyDatabase1') OR (dtb.name LIKE 'MyDatabase2 dovrebbe farlo per i casi semplici

.

Il fortunato, ho appena conquistato un simile traguardo, anche se il mio successo è piccola, perché è possibile filtrare per lo schema che permetterebbe vedere più di 1 tavolo, ma si deve digitare il testo del filtro in ogni volta che si vuole cambiare.

Questa è vecchio lo so, ma è bene sapere che si può funziona se si immette appena entrato nel testo "filtro". Salta * o % o altri personaggi di ricerca standard, basta inserire br_ o tbl_ o qualsiasi altra cosa che si desidera filtrare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top