it-swarm.com.de

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

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 mich befasse, haben mehr als 150 Tabellen. Daher suche ich nach einer schnellen Möglichkeit, dies zu tun.

Was empfehlen Sie?

38
Webber

Mit der folgenden Abfrage können Sie alle Spalten oder Suchspalten in Tabellen in einer Datenbank auflisten.

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; 

Sie können die Ansichten information_schema verwenden, um alle Objekte in SQL Server 2005- oder 2008-Datenbanken aufzulisten.

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

Es gibt auch SQL Search - ein kostenloses Tool, das in SQL Server Management Studio integriert ist.

alt text

8

Spät, 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 einige andere nützliche Dinge anzeigen kann.

enter image description here

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.

enter image description here

5
Stanley Norman

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

EXEC sp_help 'your table name';

Wenn nur mit einer Zeile, müssen Sie nicht einmal EXEC eingeben. Mach einfach

sp_help 'your table name'
1
PhilRoan