Come posso elencare o cercare tutti i nomi delle colonne nel mio database?


37

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 ho a che fare hanno più di 150 tabelle, quindi sto cercando un modo rapido per farlo.

Che cosa mi consiglia?


domanda simile posta in SO
— CoderHawk l'

buon articolo. Molte grazie. Ho anche usato TM Field Finder ed è davvero potente in termini di ricerca in Schema SQL e anche dati.

Risposte:


38

È possibile utilizzare la seguente query per elencare tutte le colonne o cercare le colonne tra le tabelle in 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; 

È possibile utilizzare le viste information_schema per elencare tutti gli oggetti nei database di 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/


8

Esiste anche la ricerca SQL , uno strumento gratuito che si integra con SQL Server Management Studio.

testo alternativo


1
Ricerca SQL è un buon strumento, ma tieni presente che la finestra dei risultati è arbitrariamente limitata a, credo, 250 risultati. L'ultima volta che ho usato questo strumento, Red Gate non ha avuto 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!
— Matt M

5

Uno in ritardo ma si spera utile poiché entrambi gli strumenti sono gratuiti.

Ricerca ApexSQL - la cosa buona di questo strumento è che può anche cercare dati, mostrare dipendenze tra oggetti e accoppiare altre cose utili.

inserisci qui la descrizione dell'immagine

Pacchetto di strumenti SSMS : gratuito per tutte le versioni tranne SQL 2012. Molte fantastiche opzioni che non sono legate solo alla ricerca come frammenti, varie personalizzazioni e altro ancora.

inserisci qui la descrizione dell'immagine


1

Questo è uno che tutti i DBA SQL dei vecchi tempi usano.

EXEC sp_help 'your table name';

Se solo con una riga singola, non è nemmeno necessario digitare EXEC. Basta fare

sp_help 'your table name'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.