检查 SQL Server 中某个表的依赖关系
原文:https://www . geeksforgeeks . org/check-the-dependencies-of-a-table-in-SQL-server/
作为一名数据库管理员,您可能需要使用 SQL Server 管理工作室或 SQL Query 在 SQL Server 中查找表的依赖关系。在更改或删除任何表时,有关于依赖关系的信息将是有用的。
使用 SQL Server 管理工作室在 SQL Server 中查找表依赖项: 步骤-1 : 展开数据库,展开表,右键单击表名。
第 2 步: 点击查看依赖关系。
使用 SQL Quires 在 SQL Server 中查找表依赖项。 方法-1 : 使用 SP _ DEPENDS 存储过程。它将返回指定对象的所有依赖项,包括表、视图、存储过程、约束等。 查询–
Use DatabaseName ;
EXEC sp_depends @objname = N'ObjectName' ;
示例-1 :
Use SQL_DBA ;
EXEC sp_depends @objname = N'[dbo].[tbl_Errors_Stats]' ;
输出:
名字 | 类型 |
---|---|
dbo.usp_FetchStatistics | 存储过程 |
dbo.usp_PostStatistics_Update | 存储过程 |
dbo.usp _ Update _ 统计信息 | 存储过程 |
进场-2 : 查询–
Use DatabaseName ;
SELECT * FROM sys.dm_sql_referencing_entities('ObjectName',
'OBJECT') ;
示例-1 :
use SQL_DBA ;
SELECT * FROM sys.dm_sql_referencing_entities('[dbo].[tbl_Errors_Stats]',
'OBJECT') ;
输出:
| 引用 _schema_name | 引用 _ 实体名称 | 引用 _id | 引用 _ 类 | 引用 _class_desc | 是 _ 呼叫者 _ 依赖的吗 | | --- | --- | --- | --- | --- | --- | | dbo | usp_FetchStatistics | Five hundred and ninety-seven million five hundred and seventy-seven thousand one hundred and sixty-seven | one | 对象或列 | Zero | | dbo | USP _ post statistics _ 更新 | Five hundred and eighty-one million five hundred and seventy-seven thousand one hundred and ten | one | 对象或列 | Zero | | dbo | USP _ Update _ 统计 | Five hundred and sixty-five million five hundred and seventy-seven thousand and fifty-three | one | 对象 _ 或 _ 列 | Zero |
进场-3 : 查询–
SELECT ROUTINE_SCHEMA,
ROUTINE_NAME,
ROUTINE_TYPE,
ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%ObjectName%'
示例-1 :
use SQL_DBA
SELECT ROUTINE_SCHEMA,
ROUTINE_NAME,
ROUTINE_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%tbl_Errors_Stats%'
输出:
例程 _ 架构 | 例程名 | 例程类型 |
---|---|---|
dbo | usp _ Update _ 统计信息 | 程序 |
dbo | usp_PostStatistics_Update | 程序 |
dbo | usp_FetchStatistics | 程序 |
进场-4 : 查询–
SELECT *
FROM sys.sql_expression_dependencies A, sys.objects B
WHERE referenced_id = OBJECT_ID(N'ObjectName') AND
A.referencing_id = B.object_id
GO
示例-1 :
use SQL_DBA
SELECT referenced_id, referenced_database_name, referenced_schema_name, name
FROM sys.sql_expression_dependencies A, sys.objects B
WHERE referenced_id = OBJECT_ID(N'tbl_Errors_Stats') AND
A.referencing_id = B.object_id
GO
输出:
引用的 id | 引用的数据库名 | 引用的 _ 架构 _ 名称 | 名字 |
---|---|---|---|
Six hundred and thirteen million five hundred and seventy-seven thousand two hundred and twenty-four | SQL_DBA | dbo | usp _ Update _ 统计信息 |
Six hundred and thirteen million five hundred and seventy-seven thousand two hundred and twenty-four | SQL_DBA | dbo | usp_PostStatistics_Update |
Six hundred and thirteen million five hundred and seventy-seven thousand two hundred and twenty-four | SQL_DBA | dbo | usp_FetchStatistics |
版权属于:月萌API www.moonapi.com,转载请注明出处