Chcę wyszukać ciąg w nazwach kolumn znajdujących się 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 czy polecasz?
Komentarze
- podobne pytanie zadane w SO
- dobry artykuł. Wielkie dzięki. Użyłem również narzędzia TM Field Finder i ' jest naprawdę potężne, jeśli chodzi o wyszukiwanie w schemacie SQL, a także dane.
- Powiązane: Eksplorowanie schematu bazy danych za pomocą SQL
Odpowiedź
Możesz użyć następującego zapytania, aby wyświetlić wszystkie kolumny lub wyszukać 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żesz skorzystać z 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/
Odpowiedź
Istnieje również SQL Search – bezpłatne narzędzie, które integruje się z SQL Server Management Studio.
Komentarze
- Wyszukiwanie SQL to dobre narzędzie, ale pamiętaj, że Uważam, że okno wyników jest arbitralnie ograniczone do 250 wyników. Kiedy ostatnio użyłem tego narzędzia, Red Gate nie miał sposobu na zniesienie tego ograniczenia. To powiedziawszy, nadal jest to bardzo przydatne narzędzie i poleciłbym je każdemu administratorowi SQL Server lub deweloperowi. Cena też jest odpowiednia!
Odpowiedź
Spóźniona, ale miejmy nadzieję, przydatna, ponieważ oba narzędzia są bezpłatne.
ApexSQL Search – dobrą rzeczą w tym narzędziu jest to, że może ono również wyszukiwać dane, pokazywać zależności między obiektami i kilka innych przydatnych rzeczy.
Pakiet narzędzi SSMS – bezpłatnie dla wszystkich wersji oprócz SQL 2012. Wiele wspaniałych opcji, które nie są związane tylko z wyszukiwaniem, takich jak fragmenty, różne dostosowania i nie tylko.
Odpowiedź
To jest taka, której używają wszyscy SQL DBA od dawna.
EXEC sp_help "your table name";
Jeśli masz tylko jedną linię, nie musisz nawet wpisywać EXEC. Po prostu zrób
sp_help "your table name"