Tuesday, February 12, 2008

Handy stuff when you work with MS SQL Database

GENERAL REMARK:
SQL SERVER IS IN MOST CASES INSTALLED CASE INSENSITIVE
IF INSTALLED CASE SENSITIVE USE UCASE('YOUR_VALUE')


The select for finding all Stored (P) Procedures, (TR) Triggers, (V) Views, (FN) scalar functions, (TF) Table valued Functions, (IF) inline table valued functions, (RF) replication filter procedures and (R) rules where you use some specific text:
SELECT *
FROM sys.sql_modules m INNER JOIN
sys.objects o
ON m.object_id = o.object_id
WHERE definition LIKE '%YOUR_VALUE%';



Statement that returns all tables and views where column is used:



SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'YOUR_VALUE';




Select statement for finding the indexes use on some Column name:



SELECT *
from sys.index_columns ic INNER JOIN
sys.columns o
ON ic.object_id = o.object_id AND ic.column_id = o.column_id INNER JOIN
sys.tables t
ON ic.object_id = t.object_id INNER JOIN
sys.indexes i
ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE o.name = 'YOUR_VALUE'



Select statement for finding constraints use on some column name:

SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
WHERE COLUMN_NAME = 'YOUR_VALUE';



No comments: