Voglio cercare una stringa nei nomi delle colonne presenti in un database.
Sto lavorando a un progetto di manutenzione e alcuni dei database con cui mi occupo hanno più di 150 tabelle, quindi sto cercando un modo rapido per farlo.
mi consigliate?
Commenti
- domanda simile posta in SO
- buon articolo. Grazie mille. Ho anche usato TM Field Finder ed è ' davvero potente in materia di ricerca nello schema SQL e anche nei dati.
- Correlati: Esplorazione dello schema del database con SQL
Risposta
Puoi utilizzare la seguente query per elencare tutte le colonne o cercare le colonne nelle tabelle di un database.
USE AdventureWorks GO SELECT t.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, c.name AS column_name FROM sys.tables AS t INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID WHERE c.name LIKE "%EmployeeID%" ORDER BY schema_name, table_name;
Puoi utilizzare le viste information_schema per elencare tutti gli oggetti nei database SQL Server 2005 o 2008.
SELECT * FROM information_schema.tables SELECT * FROM information_schema.columns
http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/
Risposta
Esiste anche SQL Search , uno strumento gratuito che si integra con SQL Server Management Studio.
Commenti
- La ricerca SQL è un buon strumento, ma tieni presente che il la finestra dei risultati è arbitrariamente limitata a, credo, 250 risultati. Lultima volta che ho utilizzato questo strumento, Red Gate non aveva modo di eliminare questa limitazione. Detto questo, è ancora uno strumento molto utile e lo consiglierei a qualsiasi DBA o sviluppatore di SQL Server. Anche il prezzo è giusto!
Risposta
Ultimo ma si spera utile poiché entrambi gli strumenti sono gratuiti.
ApexSQL Search – la cosa buona di questo strumento è che può anche cercare dati, mostrare dipendenze tra oggetti e un paio di altre cose utili.
Toolpack SSMS – gratuito per tutte le versioni eccetto SQL 2012. Molte ottime opzioni non correlate solo alla ricerca come frammenti, varie personalizzazioni e altro ancora.
Risposta
Questo è quello utilizzato da tutti i DBA SQL di vecchia data.
EXEC sp_help "your table name";
Se solo con una singola riga, non è nemmeno necessario digitare EXEC. Basta farlo
sp_help "your table name"