Я хочу шукати рядок у назвах стовпців, що знаходяться в базі даних.
Я працюю над проектом технічного обслуговування, і в деяких базах даних, з якими я маю справу, є понад 150 таблиць, тому я шукаю швидкий спосіб зробити це.
Що ви порадите?
Я хочу шукати рядок у назвах стовпців, що знаходяться в базі даних.
Я працюю над проектом технічного обслуговування, і в деяких базах даних, з якими я маю справу, є понад 150 таблиць, тому я шукаю швидкий спосіб зробити це.
Що ви порадите?
Відповіді:
Ви можете використовувати наступний запит для списку всіх стовпців або стовпців пошуку по таблицях бази даних.
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;
Ви можете скористатися переглядами information_schema, щоб перелічити всі об'єкти в базах даних SQL Server 2005 або 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/
Існує також SQL Search - безкоштовний інструмент, який інтегрується в SQL Server Management Studio.
Пізній, але сподіваємось, корисний, оскільки обидва інструменти безкоштовні.
Пошук ApexSQL - хороша річ у цьому інструменті в тому, що він також може шукати дані, показувати залежності між об'єктами та парою інших корисних речей.
SSMS Toolpack - безкоштовний для всіх версій, окрім SQL 2012. Дуже багато чудових варіантів, які не пов’язані лише з пошуком, таких як фрагменти, різні налаштування тощо.