The easiest way to do this is through queries to the system tables.
Because this task occurs frequently, I have created T-SQL template:
-- Find Tables by Column-Name USE <DataBaseName, sysname, tempdb>; SELECT [SCHEMA] = schemas.name, [TABLE] = tables.name, [COLUMN] = columns.name FROM sys.schemas INNER JOIN sys.tables ON schemas.schema_id = tables.schema_id INNER JOIN sys.columns ON tables.object_id = columns.object_id WHERE schemas.name IN ('<schema_name, sysname, dbo>') AND tables.name LIKE '<TableNamePattern, sysname, %>' AND columns.name LIKE '<ColumnNamePattern, sysname, %_ID>' ORDER BY [SCHEMA], [TABLE], [COLUMN];Save this template to your templates folder with for example following name:
"SysTables - Sch-Tb-Clm". After replacing of placeholders you will see something like this:
-- Find Dimension-Tables with Code-Columns USE AdventureWorksDW2008R2; SELECT [SCHEMA] = schemas.name, [TABLE] = tables.name, [COLUMN] = columns.name FROM sys.schemas INNER JOIN sys.tables ON schemas.schema_id = tables.schema_id INNER JOIN sys.columns ON tables.object_id = columns.object_id WHERE schemas.name IN ('dbo') AND tables.name LIKE 'Dim%' AND columns.name LIKE '%Code' ORDER BY [SCHEMA], [TABLE], [COLUMN];
The result of execution will be something like this:
No comments:
Post a Comment
Note: only a member of this blog may post a comment.