我在网上搜索找到上述主题的解决方案但未能找到对我有用的东西。我只想要一个SQL语句来查询数据库并显示依赖于特定表的表。我尝试了sp_depends
方法,但它只引出了存储过程并检查了结果集中的约束,但没有表格。
我偶然发现了sys.sql_expression_dependencies
,但我发现它对SQL Server 2008不起作用。我需要一些帮助来完成这项工作。
非常感谢。
答案 0 :(得分:0)
我们可以在SQL Server管理工作室中执行此操作右键单击表格并选择“查看依赖关系”
使用查询
Select
S.[name] as 'Dependent_Tables'
From
sys.objects S inner join sys.sysreferences R
on S.object_id = R.rkeyid
Where
S.[type] = 'U' AND
R.fkeyid = OBJECT_ID('tablename')
另一种方法
SELECT DISTINCT name, so.type
FROM sys.objects AS so
INNER JOIN sys.sql_expression_dependencies AS sed
ON so.object_id = sed.referencing_id
WHERE sed.referenced_id = OBJECT_ID('[tablename]');
第二种方法也选择程序,视图。
答案 1 :(得分:0)
使用dm_sql_referencing_entities
系统视图,该视图将为您提供依赖于table
SELECT referencing_schema_name,
referencing_entity_name,
referencing_id,
referencing_class_desc
FROM sys.Dm_sql_referencing_entities ('schema.Tablename', 'OBJECT')
答案 2 :(得分:0)
我找到了解决方法,并且我赞不过 Arunprasanth KV 给予回应,引导我找到解决方案。在正确研究了表格的模式之后,以下查询给了我我想要的内容:
Select
S.[name]
From
sys.objects S inner join sys.sysreferences R
on S.object_id = R.fkeyid
Where
S.[type] = 'U' AND
R.rkeyid = OBJECT_ID('TableName')
GO