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?
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?
Odpowiedzi:
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/
Istnieje również SQL Search - bezpłatne narzędzie, które integruje się z SQL Server Management Studio.
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.
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.