Thursday, October 22, 2009

TSQL - Code to find used columns in database objects in MS SQL Server

Sometimes, you find that you have columns that are not being used. The data no longer is collected or relevant. In this case, you need to remove some columns from your database. Please use the following code to find used columns in database objects.

SELECT TOP 100 PERCENT
so1.name AS ObjectName,
CASE so1.type
WHEN 'P' THEN 'Procedure'
WHEN 'V' THEN 'View'
WHEN 'FN' THEN 'Function'
WHEN 'U' THEN 'Table'
WHEN 'TR' THEN 'Trigger'
WHEN 'IF' THEN 'Inline Function'
WHEN 'TF' THEN 'Table-Valed Function'
ELSE so1.type
END AS ObjectType,
DB_NAME() AS DatabaseName,
USER_NAME(so.uid) AS OwnerName,
so.name AS TableName,
c.name AS FieldName
FROM
sysobjects so,
sysobjects so1,
sysdepends d,
syscolumns c
WHERE
so1.xtype IN ('P','FN','IF','TF','V','TR') --('P', 'V', 'FN', 'TR')
AND d.id = so1.id
AND d.depid = so.id
AND so.id = c.id
AND d.depnumber = c.colid
ORDER BY
so.name
-----------------------------
Your comments are always accpeted.

Thanks,
Satish Kumar
+91 9966 710 244
Hyderabad.