sql server 查看对象定义的方法

您可以在 SQL Server Management Studio 中使用“对象资源管理器”菜单选项或在查询编辑器中使用 Transact-SQL 来查看存储过程的定义。下面介绍如何在对象资源管理器中查看过程的定义,以及如何在查询编辑器中使用系统存储过程、系统函数和对象目录视图来查看过程的定义。


安全性

权限
系统存储过程:sp_helptext

要求具有 public 角色的成员身份。系统对象定义对所有用户可见。用户对象的定义对于对象所有者或具有下列任一权限的被授权者可见:ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION。

系统函数:OBJECT_DEFINITION

系统对象定义对所有用户可见。用户对象的定义对于对象所有者或具有下列任一权限的被授权者可见:ALTER、CONTROL、TAKE OWNERSHIP 或 VIEW DEFINITION。db_ownerdb_ddladmindb_securityadmin 固定数据库角色的成员隐式具有这些权限。

对象目录视图:sys.sql_modules

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。


使用 SQL Server Management Studio

在对象资源管理器中查看过程的定义

  1. 在对象资源管理器中,连接到数据库引擎实例,然后展开该实例。

  2. 展开“数据库”、过程所属的数据库以及“可编程性”

  3. 展开“存储过程”,右键单击该过程,再单击“编写存储过程脚本为”,然后单击下列选项之一:“CREATE 到”“ALTER 到”“DROP 和 CREATE 到”

  4. 选择“新建查询编辑器窗口”这将显示过程定义。

使用 Transact-SQL

在查询编辑器中查看过程的定义

系统存储过程:sp_helptext
  1. 在对象资源管理器中,连接到数据库引擎的实例。

  2. 在工具栏上,单击“新建查询”

  3. 在查询窗口中,输入以下使用 sp_helptext 系统存储过程的语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2012;
    GO
    EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';
    
系统函数:OBJECT_DEFINITION
  1. 在对象资源管理器中,连接到数据库引擎的实例。

  2. 在工具栏上,单击“新建查询”

  3. 在查询窗口中,输入以下使用 OBJECT_DEFINITION 系统函数的语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2012;
    GO
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
    
对象目录视图:sys.sql_modules
  1. 在对象资源管理器中,连接到数据库引擎的实例。

  2. 在工具栏上,单击“新建查询”

  3. 在查询窗口中,输入以下使用 sys.sql_modules 目录视图的语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2012;
    GO
    SELECT definition
    FROM sys.sql_modules
    WHERE object_id = (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值