The easiest way to do this is through queries to the system tables.
Because this task occurs frequently, I have created T-SQL template:
Save this template to your templates folder with for example following name:
- -- 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];
"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.