我遇到this article详细说明了依赖关系是如何工作的,我想知道是否可以使用它们来查看哪个视图(如果有的话)包含在其中。
我遇到了诸如this one之类的主题,它们展示了如何查找视图中使用的实体,但我希望能够进一步向下钻取,而不是找出一个字段是否已链接任何意见? (使用Sql server 2005)
谢谢!
答案 0 :(得分:3)
对于你的问题
...找出一个字段是否链接到任何视图?
可以在数据库中使用系统视图VIEW_COLUMN_USAGE。我创建了这个视图
USE [ScratchPad]
GO
CREATE VIEW [dbo].[View_1]
AS
SELECT second
FROM dbo.deleteme
GO
使用以下查询:
SELECT TOP 1000 [VIEW_CATALOG]
,[VIEW_SCHEMA]
,[VIEW_NAME]
,[TABLE_CATALOG]
,[TABLE_SCHEMA]
,[TABLE_NAME]
,[COLUMN_NAME]
FROM [ScratchPad].[INFORMATION_SCHEMA].[VIEW_COLUMN_USAGE]
我收到了这个包含列名和表名
的结果## VIEW_CATALOG VIEW_SCHEMA VIEW_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME
ScratchPad dbo View_1 ScratchPad dbo deleteme second
在查询中添加WHERE子句,您应该得到答案。
如果您希望查看约束,请使用视图“[INFORMATION_SCHEMA]。[CONSTRAINT_COLUMN_USAGE]”
我的系统是MSSS 2K8,您的2K5系统应具有相同的系统视图
答案 1 :(得分:1)
Red Gate Software的SQL Prompt 5具有列依赖关系功能,在这种情况下可能很有用。将鼠标悬停在脚本中的列名称上,然后弹出一个窗口,其中包含使用该列的对象列表,包括视图。
您可以免费下载14天试用版,以查看此功能是否适合您。
保罗史蒂芬森 SQL提示项目经理答案 2 :(得分:0)
看看这个(免费)工具: http://www.atlantis-interactive.co.uk/products/schemasurf/default.aspx
(引用):
Atlantis Schema Surf是我们的SQL 依赖&实体实体ER图 工具 - 它是一个免费的动画图形 工具,让您轻松 可视化之间的依赖关系 SQL Server数据库中的对象 在实时实体ER图中。
很棒的工具。