我需要重命名一个表,该表有许多列和处理针对该表的存储过程。在这种情况下,如何获取与表有关系的数据库中的所有项目?
我需要重命名一个表,该表有许多列和处理针对该表的存储过程。在这种情况下,如何获取与表有关系的数据库中的所有项目?
使用sys.dm_sql_referencing_entities
:
SELECT
referencing_schema_name, referencing_entity_name, referencing_id,
referencing_class_desc, is_caller_dependent
FROM
sys.dm_sql_referencing_entities ('mySchemaName.myTableName', 'OBJECT');
GO
其中'mySchemaName.myTableName'
是您的模式和表名,例如'dbo.MyTable'
如果您需要按名称查找数据库对象(例如表,列,触发器),请查看名为SQL Search的免费Red-Gate工具 - 它可以搜索整个数据库以查找任何类型的字符串。
如果您想要引用数据库项目,如表、列、存储过程等...
您可以使用visual-expert工具,我们可以分析SqlServer代码
更多信息:https://www.visual-expert.com/EN/visual-expert-documentation/code-cross-references/
dbo
,因此这很可能是你的模式。 - Tobsey