Share via


sp_depends (Transact-SQL)

顯示有關資料庫物件相依性的資訊,例如相依於資料表或檢視的檢視和程序,以及檢視或程序所相依的資料表或檢視。不會報告對於目前資料庫外之物件的參考。

重要注意事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 sys.dm_sql_referencing_entitiessys.dm_sql_referenced_entities

主題連結圖示Transact-SQL 語法慣例

語法

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)

相依性存在的項目名稱。

type

nvarchar(16)

項目的類型。

updated

nvarchar(7)

是否更新項目。

selected

nvarchar(8)

是否在 SELECT 陳述式中使用這個項目。

column

sysname

存在相依性的資料行或參數。

下列結果集會顯示相依於 <object> 的物件。

資料行名稱

資料類型

描述

name

nvarchar(257)

相依性存在的項目名稱。

type

nvarchar(16)

項目的類型。

權限

需要 public 角色中的成員資格。

範例

A. 列出對於資料表的相依性

下列範例會列出相依於 AdventureWorks 資料庫中 Sales.Customer 資料表的資料庫物件。指定了結構描述名稱和資料表名稱。

USE AdventureWorks
GO
EXEC sp_depends @objname = N'Sales.Customer' ;

B. 列出對於觸發程序的相依性

下列範例列出 iWorkOrder 觸發程序相依的資料庫物件。

EXEC sp_depends @objname = N'AdventureWorks.Production.iWorkOrder' ;