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.