December 27, 2013 at 12:28 am
Hi There,
I need to do some clean up activities in my databases... So i intended to drop unwanted tables and views.
for that I need to find, whether the table being used by any other objects ?
How could I achieve it?
thanks in advance
December 27, 2013 at 5:46 am
procs and views referencing your tables are only part of the puzzle;
applications can have dependencies on those tables, and applications can reference tables that are never used.
there's a handy chartabout how 45% of application improvements get added but are never used, and those improvements most likely reference objects int ehd atabase which need to exist, but are never used as well.
you'll need to search applcation code in addition to the database.
here's a handy script for you for the SQL side:
SELECT
depz.referenced_schema_name,
depz.referenced_entity_name,
objz.type_desc,
object_schema_name(depz.referencing_id) As ReferencingSchema,
object_name(depz.referencing_id) AS ReferencingObject,
colz.name AS ColumnName
FROM sys.sql_expression_dependencies depz
INNER JOIN sys.objects objz ON depz.referenced_id=objz.object_id
LEFT OUTER JOIN sys.columns colz ON objz.object_id = colz.object_id
AND colz.column_id = referencing_minor_id
--WHERE referencing_id = OBJECT_ID(N'MyTable');
WHERE referenced_id = OBJECT_ID(N'EDLogDetail');
--AND colz.name = 'EmployeeNumber'
Lowell
December 27, 2013 at 12:50 pm
As far as identifying application dependencies go, one technique is to run SQL server profiler while the application is being used (It's resource intensive, so ideally you'd want to run this in a test environment). If feasible, you can perhaps have someone run through all the major functions in a test environment, while profiler is running. Then inspect the traces to identify all the objects which the application uses. I can provide more details if you need.
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply