it-swarm.it

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

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?

38
Webber

È 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 information_schema viste 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/

39
CoderHawk

Esiste anche Ricerca SQL - uno strumento gratuito che si integra con SQL Server Management Studio.

alt text

8

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.

enter image description here

SSMS Toolpack - gratuito per tutte le versioni tranne SQL 2012. Molte opzioni fantastiche che non sono legate solo alla ricerca come frammenti, varie personalizzazioni e altro.

enter image description here

5
Stanley Norman

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'
1
PhilRoan