我要编写依赖于SQL Server表的所有对象的脚本

Want to script all objects which depend on a SQL Server table(我要编写依赖于SQL Server表的所有对象的脚本)

本文介绍了我要编写依赖于SQL Server表的所有对象的脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

"查看依赖项"显示SQL Server中依赖于表的所有对象。现在,我如何使用SSMS在一个命令中编写所有这些对象的脚本?是否有可执行此操作的免费工具?

推荐答案

首先可以尝试此链接Understanding SQL Dependencies

其次,您有多个选项可以检查依赖项 使用sql_expression_dependencies表,要查看X对Y的依赖关系,请运行以下查询。

SELECT * 
FROM sys.sql_expression_dependencies 
WHERE referencing_id = OBJECT_ID('X')
    AND referenced_id = OBJECT_ID('Y')
    AND referenced_schema_name = 'dbo'
    AND referenced_entity_name = 'Y'
    AND referenced_database_name IS NULL
    AND referenced_server_name IS NULL;
使用syscomments表,SQL Server的sysComments表为数据库中的每个视图、规则、默认、触发器、检查和默认约束以及存储过程存储原始SQL定义语句。那可是一大堆信息啊!您可以使用以下形式的SQL语句查询此表以列出相关对象

SELECT *
FROM syscomments 
INNER JOIN sysobjects sysobj ON syscomments.id = sysobj.id
WHERE charindex('your object to check', text) > 0 

使用sp_depends存储过程,其中显示有关数据库对象依赖关系的信息,例如:从属于表或视图的视图和过程,以及该视图或过程所依赖的表和视图

EXEC sp_depends @objname = N'your object to check'

这篇关于我要编写依赖于SQL Server表的所有对象的脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:我要编写依赖于SQL Server表的所有对象的脚本