我要编写依赖于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'
相关文章