知识大全 使用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相关参考
数据库工程师: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)小编为大家搜集整理后发布
SQLServer数据库对象信息的获取[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
知识大全 如何获得SQL Server 2000中知道对象的权限
如何获得SQLServer2000中知道对象的权限 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
C#中使用SQLServer分布式管理对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!