Architecture
System Architecture in SQL Serve 2005
When querying system metadata in SQL Server 2000 we have to go through many system tables, such as sysobjects or something, of course, there are many system stored procedures in SQL Server, but still can not fully meet the needs of our administrators, so we can only check these system tables, in the SQL All system tables in Server 2005 are consolidated into a schema called Sys, along with the schema.
Here's a sample code to help you find out which tables are referencing a table in SQL Server 2005.
--------------------------------------------------------------------------------
Use AdventureWorks
Go
--Shows which tables reference the object
IF object_id (' dbo.ufn_listreferencingtables ') <> 0
DROP FUNCTION Dbo.ufn_listreferencingtables
Go
CREATE FUNCTION Dbo.ufn_listreferencingtables
(@referenced_table as varchar (200))
RETURNS TABLE as
Return (
SELECT schema_name (int, Objectpropertyex (Fkeyid, ' SchemaID '))
+ '. ' + object_name (Fkeyid)
As [referencing Table]
From Sys.sysreferences
WHERE Rkeyid = object_id (@referenced_table)
)
Go