donderdag, juli 05, 2007

Foreign key index check - 2000

select object_name(constid) FKName,
object_name(fk.fkeyid) TableName,
sc.name ColumnName,
object_name(fk.rkeyid) ReferenceTableName,
sc2.name ReferenceColumnName
from sysforeignkeys fk
join syscolumns sc on sc.id = fk.fkeyid and sc.colid = fk.fkey
join syscolumns sc2 on sc2.id = fk.rkeyid and sc2.colid = fk.rkey
where not exists
(
select *
from sysindexkeys sik
where sik.id = fk.fkeyid
and sik.colid = sc.colid
and sik.keyno = 1 -- first column in the index
)
order by TableName, ReferenceTableName