Wie liste ich alle Spaltennamen in meiner Datenbank auf oder suche sie?

37

Ich möchte nach einer Zeichenfolge in den Namen der in einer Datenbank vorhandenen Spalten suchen.

Ich arbeite an einem Wartungsprojekt und einige der Datenbanken, mit denen ich zu tun habe, haben mehr als 150 Tabellen. Deshalb suche ich nach einer schnellen Möglichkeit, dies zu tun.

Was empfehlen Sie?

Webber
quelle
ähnliche Frage gestellt in SO
CoderHawk
guter Artikel. Vielen Dank. Ich habe auch TM Field Finder verwendet und es ist wirklich leistungsstark in Bezug auf die Suche in SQL Schema und auch Daten.
Siehe auch: Erforschen Sie Ihr Datenbankschema mit SQL
Peter Mortensen

Antworten:

38

Sie können die folgende Abfrage verwenden, um alle Spalten oder Suchspalten über Tabellen in einer Datenbank aufzulisten.

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; 

Mithilfe von information_schema- Ansichten können Sie alle Objekte in SQL Server 2005- oder 2008-Datenbanken auflisten.

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/

CoderHawk
quelle
8

Es gibt auch SQL Search - ein kostenloses Tool, das sich in SQL Server Management Studio integrieren lässt.

Alt-Text

Marek Grzenkowicz
quelle
1
SQL Search ist ein gutes Tool, aber denken Sie daran, dass das Ergebnisfenster willkürlich auf 250 Ergebnisse beschränkt ist. Als ich dieses Tool das letzte Mal verwendete, konnte Red Gate diese Einschränkung nicht aufheben. Trotzdem ist es immer noch ein sehr nützliches Tool und ich würde es jedem SQL Server DBA oder Entwickler empfehlen. Der Preis stimmt auch!
Matt M
5

Später, aber hoffentlich nützlich, da beide Tools kostenlos sind.

ApexSQL Search - Das Gute an diesem Tool ist, dass es auch Daten durchsuchen, Abhängigkeiten zwischen Objekten anzeigen und andere nützliche Dinge koppeln kann.

Bildbeschreibung hier eingeben

SSMS Toolpack - kostenlos für alle Versionen außer SQL 2012. Viele großartige Optionen, die sich nicht nur auf die Suche beziehen, wie z. B. Snippets, verschiedene Anpassungen und mehr.

Bildbeschreibung hier eingeben

Stanley Norman
quelle
1

Dies ist eine, die alle SQL DBA aus alter Zeit verwenden.

EXEC sp_help 'your table name';

Wenn Sie nur eine Zeile verwenden, müssen Sie nicht einmal EXEC eingeben. Mach einfach

sp_help 'your table name'
PhilRoan
quelle