想编写依赖于SQL Server表的所有对象
问题描述:
'View Dependecies'显示依赖于SQL Server中的表的所有对象。现在我如何使用SSMS在一个命令中编写所有这些对象?有没有这样的免费工具?想编写依赖于SQL Server表的所有对象
答
SSMS依靠SMO来提取依赖关系。 DependencyWalker类,即。您可以将其封装在您的代码中,并且SMO还可以使用Scripter类编写对象定义的脚本(这也是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表中存储的每个视图,规则,缺省值,触发器,CHECK和DEFAULT约束,并在数据库中存储过程的原始SQL定义语句。这是很多信息!您可以查询该表列出以下表格
SELECT *
FROM syscomments
INNER JOIN sysobjects sysobj ON syscomments.id = sysobj.id
WHERE charindex('your object to check', text) > 0
使用sp_depends存储过程,至极显示有关数据库对象依赖性的信息,例如使用SQL语句依赖的对象:依赖于表的视图和过程或视图,以及视图或程序所依赖的表格和视图
EXEC sp_depends @objname = N'your object to check'
很好的答案。谢谢。几年后有用。 – 2013-10-08 21:34:46