【问题标题】:Checking views and their default dependencies检查视图及其默认依赖项
【发布时间】:2021-03-11 04:06:35
【问题描述】:

如果视图没有明确指向特定数据库,它是否默认引用 SQL Server Management Studio 中自己数据库中的基表?我在同一台服务器上的多个数据库中有同名的表,我不确定如何检查它正在使用哪些表。我使用这个查询来查看 Table_Catalog:

SELECT view_name, Table_Name,* FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE

但是我看到一个警告,即查询 sys.objects 是真正确认依赖关系的唯一方法,但我没有很好的查询来查看数据库信息。

感谢任何帮助。谢谢。

【问题讨论】:

  • 谢谢。我找到了一个查询,它帮助我查看了您提供的链接中的引用并将其包含在答案中。

标签: sql-server view dependencies ssms


【解决方案1】:

与任何查询相同的视图将引用其自己的数据库中的表,除非使用表名明确提及数据库名称,例如 databaseOne.dbo.TableName

【讨论】:

  • 我想从@Charlieface 提出的链接中添加一个查询。如果视图引用它自己的,我发现服务器和数据库将为 NULL。 'SELECT referenced_server_name AS [Server], referenced_database_name AS [Database], referenced_schema_name AS [Schema], referenced_entity_name AS [Entity], referenced_minor_name AS [Minor], referenced_class_desc AS [Class] FROM sys.dm_sql_referenced_entities ('[dbo].ClientView', -- 添加依赖的表/视图以查看其引用'对象');去吧'
猜你喜欢
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多