我使用下面的方法获取视图中的基础对象列表:
SELECT view_name, Table_Name
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name IN
(
'View1', 'View2'
)
ORDER BY view_name, table_name
我找不到任何在函数中提供基础对象的系统表。有谁知道如何轻松提取这些信息?我正在处理许多具有多个基本数据库对象的函数,并且希望避免手动操作来获取此信息。谢谢!
sp_depends将为您提供所有当前版本的 SQL Server 中的依赖对象列表,但被列为已弃用。
这是一篇 MSDN 文章,其中包含一种查找引用函数的对象的方法,只需稍作修改,您就可以获得函数引用的对象列表:
作为奖励:http ://beyondrelational.com/modules/2/blogs/28/posts/10399/tsql-lab-9-how-to-find-the-dependency-chain-of-a-database-object .aspx
* 请阅读 *
正如上面@Spörri 回答中所述,
sys.sql_dependencies
已弃用。sys.sql_dependencies (Transact-SQL) :
我在 3 个函数中观察到,一个函数作为对象 ID 在已弃用的表中丢失
sys.sql_dependencies
,而我在sys.sql_expression_dependencies
表中找到了所有函数。所以使用下面的获取依赖项: