Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server-查看所有外键依赖项_Sql_Sql Server - Fatal编程技术网

SQL Server-查看所有外键依赖项

SQL Server-查看所有外键依赖项,sql,sql-server,Sql,Sql Server,我想找到所有依赖于给定表的db对象,包括通过外键引用给定表的其他表。我尝试使用“sp_depends”,它给了我存储过程、视图和触发器,但没有告诉我其他哪些表具有给定表的外键。有任何帮助吗?在SSMS中:右键单击表格,然后单击“查看依赖项”关键要素是sys.foreign\u keys视图。我在mssqltips.com上的一篇文章中找到了一个可能有用的查询示例 也可以尝试以下方法: select OBJECT_NAME(parent_object_id), OBJECT_NAME(refere

我想找到所有依赖于给定表的db对象,包括通过外键引用给定表的其他表。我尝试使用“sp_depends”,它给了我存储过程、视图和触发器,但没有告诉我其他哪些表具有给定表的外键。有任何帮助吗?

在SSMS中:右键单击表格,然后单击“查看依赖项”关键要素是sys.foreign\u keys视图。我在mssqltips.com上的一篇文章中找到了一个可能有用的查询示例

也可以尝试以下方法:

select OBJECT_NAME(parent_object_id), OBJECT_NAME(referenced_object_id)
    from sys.foreign_keys
    where referenced_object_id = object_id('SchemaName.TableName')
USE AUX; <- use your database name
GO
SELECT f.name AS ForeignKey,
SCHEMA_NAME(f.SCHEMA_ID) SchemaName,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,fc.parent_column_id) AS ColumnName,
SCHEMA_NAME(o.SCHEMA_ID) ReferenceSchemaName,
OBJECT_NAME(f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id
INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id
GO

使用AUX;我应该提到这一点,但我希望能够在SQL中实现这一点-我很可能会生成一个dependenciesit报告,它只显示存储过程、触发器和其他东西的依赖关系。。不是外键依赖,这正是我需要的。谢谢。我想这是最好的答案。