sp_depends (Transact-SQL)
显示有关数据库对象依赖关系的信息,例如,依赖于表或视图的视图和过程,以及视图或过程所依赖的表和视图。 不报告对当前数据库以外对象的引用。
重要提示 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities。 |
适用范围:SQL Server(SQL Server 2008 到当前版本)。 |
语法
sp_depends [ @objname = ] '<object>'
<object> ::=
{
[ database_name. [ schema_name ] . | schema_name.
object_name
}
参数
database_name
数据库的名称。schema_name
对象所属架构的名称。object_name
要检查其依赖关系的数据库对象。 该对象可以是表、视图、存储过程、用户定义函数或触发器。 object_name 的数据类型为 nvarchar(776),无默认值。
返回代码值
0(成功)或 1(失败)
结果集
sp_depends 显示两个结果集。
下面的结果集显示 <object> 所依赖的对象。
列名 |
数据类型 |
说明 |
---|---|---|
name |
nvarchar(257) |
存在依赖项的项名称。 |
类型 |
nvarchar(16) |
项类型。 |
updated |
nvarchar(7) |
是否更新项。 |
selected |
nvarchar(8) |
项是否用于 SELECT 语句。 |
column |
sysname |
存在依赖项的列或参数。 |
下面的结果集显示依赖 <object> 的对象。
列名 |
数据类型 |
说明 |
---|---|---|
name |
nvarchar(257) |
存在依赖项的项名称。 |
类型 |
nvarchar(16) |
项类型。 |
权限
要求具有 public 角色的成员身份。
示例
A.列出表的依赖关系
以下示例列出在 AdventureWorks2012 数据库中依赖于 Sales.Customer 表的数据库对象。 同时指定了架构名和表名。
USE AdventureWorks2012;
GO
EXEC sp_depends @objname = N'Sales.Customer' ;
B.列出触发器的依赖关系
以下示例列出 iWorkOrder 触发器所依赖的数据库对象。
EXEC sp_depends @objname = N'AdventureWorks2012.Production.iWorkOrder' ;