Jak wyświetlić lub przeszukać wszystkie nazwy kolumn w mojej bazie danych?

37

Chcę wyszukać ciąg w nazwach kolumn obecnych w bazie danych.

Pracuję nad projektem konserwacji, a niektóre bazy danych, z którymi mam do czynienia, mają ponad 150 tabel, więc szukam szybkiego sposobu, aby to zrobić.

Co polecasz?

Webber
źródło
podobne pytanie zadane w SO
CoderHawk,
dobry artykuł. Wielkie dzięki. Użyłem również TM Field Findera i jest to naprawdę potężne narzędzie do wyszukiwania w schemacie SQL, a także danych.

Odpowiedzi:

38

Możesz użyć następującego zapytania, aby wyświetlić listę wszystkich kolumn lub przeszukać kolumny w tabelach w bazie danych.

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; 

Można użyć widoków information_schema, aby wyświetlić listę wszystkich obiektów w bazach danych SQL Server 2005 lub 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/

CoderHawk
źródło
8

Istnieje również SQL Search - bezpłatne narzędzie, które integruje się z SQL Server Management Studio.

alternatywny tekst

Marek Grzenkowicz
źródło
1
Wyszukiwanie SQL jest dobrym narzędziem, ale należy pamiętać, że okno wyników jest arbitralnie ograniczone do, jak sądzę, 250 wyników. Kiedy ostatni raz użyłem tego narzędzia, Red Gate nie miała możliwości zniesienia tego ograniczenia. To powiedziawszy, wciąż jest bardzo przydatnym narzędziem i poleciłbym go każdemu programowi SQL Server DBA lub deweloperowi. Cena też jest odpowiednia!
Matt M.
5

Późno pierwszy, ale mam nadzieję, że będzie użyteczny, ponieważ oba narzędzia są bezpłatne.

Wyszukiwanie ApexSQL - dobrą rzeczą w tym narzędziu jest to, że może również wyszukiwać dane, pokazywać zależności między obiektami i kilka innych przydatnych rzeczy.

wprowadź opis zdjęcia tutaj

Pakiet narzędzi SSMS - bezpłatny dla wszystkich wersji oprócz SQL 2012. Wiele świetnych opcji, które nie są związane tylko z wyszukiwaniem, takich jak fragmenty, różne dostosowania i wiele innych.

wprowadź opis zdjęcia tutaj

Stanley Norman
źródło
1

To jest to, że wszystkie SQL DBA od dawna używają.

EXEC sp_help 'your table name';

Jeśli tylko z jedną linią, nie musisz nawet pisać EXEC. Po prostu zrób

sp_help 'your table name'
PhilRoan
źródło