知识大全 使用SQL Server 2008中对象相关性[2]

Posted 过程

篇首语:与天地兮比寿,与日月兮齐光。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用SQL Server 2008中对象相关性[2]相关的知识,希望对你有一定的参考价值。

使用SQL Server 2008中对象相关性[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  下边的脚本使用表值函型数sys dm_sql_referenced_returns寻找所有引用SalesHistory表的对象 这一查询不但返回SalesHistory表的引用 还包含被引用的SalesHistory表中的字段 值得注意的是CROSS APPLY操作符的使用 这是因为实体是表值型函数 而且在将字段值赋予表值型函数时需要APPLY操作符 还要注意 如果遇到引用一个不存在的实体字段 对sys dm_referenced_entities函数的调用会出错

         SELECT ReferencedEntityName = o name g referenced_entity_name referenced_minor_name   FROM sys objects o

  JOIN sys schemas s on o schema_id = s schema_id

  CROSS APPLY sys dm_sql_referenced_entities(s name + + o name OBJECT ) g

  WHERE referenced_entity_name = SalesHistory

  在下边的脚本中 创建了一个新的名称为usp_GetSalesFromArchive的存储的过程 该过程引用不存在的SalesHistoryArchive 表

         CREATE PROCEDURE usp_GetSalesFromArchive   (

  @Product VARCHAR( )

  )

  AS

  BEGIN

  SELECT COUNT(SaleArchiveID) AS SalesCount SUM(SaleArchivePrice) AS SalesAmount

  FROM dbo SalesHistoryArchive sh

  END

  现在可以利用 sys sql_expression_dependencies系统视图寻找引用SalesHistoryArchive 表的任何对象

  或者 可以稍微改变该查询来寻找存储的过程usp_GetSalesFromArchive引用的表

         SELECT ReferencingObject = o name   ReferencedObject = d referenced_entity_name

  FROM sys sql_expression_dependencies d

  join sys objects o on d referencing_id = o object_id

  WHERE o name = usp_GetSalesFromArchive

  结论

  通过对象名称而不是对象ID跟踪相关性拥有诸多好处 用户可能喜欢寻找存储的过程 该过程引用并不存在的对象 因为这帮助用户寻找不再使用或需要更新的任何存储的过程

cha138/Article/program/SQLServer/201311/22443

相关参考

知识大全 SQL Server 2008空间数据初探[2]

数据库工程师:SQLServer2008空间数据初探[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 SQL Server 2008安装过程中出现1608错误的解决办法

SQLServer2008安装过程中出现1608错误的解决办法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 SQL Server 2008高可用性(High Availability)简介(2)—Datab

SQLServer2008高可用性(HighAvailability)简介(2)—Datab  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理

知识大全 解决SQL SERVER 2008数据库表中修改字段后不能保存

解决SQLSERVER2008数据库表中修改字段后不能保存  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 如何用SQL SERVER 2005连接SQL SERVER 2008

如何用SQLSERVER2005连接SQLSERVER2008  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 win7下卸载及重新安装sql server2008详细教程

  卸载掉sqlserver相关的所有程序我使用安全卫士卸载的貌似控制面板里面的卸载不太好用  (里面能看到好多卸载项但是控制面板里面却没几条)  下载微软自己开发的卸载工具windowsinstal

知识大全 安装sql server 2008 management提示已安装 SQL Server 2005

安装sqlserver2008management提示已安装SQLServer2005  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布

知识大全 SQL Server数据库对象信息的获取[2]

SQLServer数据库对象信息的获取[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs

知识大全 如何获得SQL Server 2000中知道对象的权限

如何获得SQLServer2000中知道对象的权限  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 C#中使用SQL Server分布式管理对象

C#中使用SQLServer分布式管理对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!