SSMS:如何在没有脚本的情况下查看存储过程/视图/功能?

时间:2011-01-10 15:45:41

标签: ssms

我想查看存储过程,视图或用户定义函数的定义。

在SQL Server Management Studio 2005中,我发现这样做的唯一方法是:

  1. 右击
  2. 脚本存储过程为
  3. ALTER To
  4. 新查询编辑器窗口
  5. 转到1
  6. 我不想编写脚本,我想看一下。

    我今天在SSMS中的任务是快速浏览存储过程以找到我感兴趣的人。我已经在Windows XP模式下加载了企业管理器(MMC管理单元在64位中无法运行) ),我的工作很多更容易:

    1. 按Enter键
    2. 转到1
    3. 我正试图找到查看存储过程的方法 - 我对编写脚本不感兴趣。

6 个答案:

答案 0 :(得分:5)

我做了一些快速谷歌搜索,找到了this

从网站复制并粘贴:

-- Get Stored Procedure Content 
--    Name = Stored Procedure Name. 
--    Colid = Multiple lines, their sequence. 
SELECT text 
FROM syscomments 
WHERE id = (SELECT id FROM sysobjects WHERE name = '{0}') 
ORDER BY colid 

答案 1 :(得分:1)

根据信息的位置,您是否尝试过滤它们“找到我感兴趣的”?

Filtering Stored Procedures

答案 2 :(得分:1)

SELECT text
FROM syscomments c
INNER JOIN sysobjects o
ON o.id = c.id
WHERE o.type = 'P'
and o.Name = '{0}'
FOR XML PATH('')

答案 3 :(得分:1)

exec sp_helptext N'<stored proc name>'

示例:

exec sp_helptext N'mydatabase.dbo.myStoredProc'

这将显示过程的所有行,而无需将GUI操纵到sp。

答案 4 :(得分:0)

使用syscomments存在潜在问题:大型过程分为几行,有时重要的标识符分为两部分。像:

第1行: ..... veryimportantide

第2行: ntifier .....

所以,如果您正在寻找 veryimportantidentifier - 您将永远找不到它。 (例如 - 寻找它的所有引用)

当我寻找某些东西并且它非常重要时 - 我生成所有对象的脚本并使用Notepad ++或Visual Studio

之类的东西导航到那里

答案 5 :(得分:0)

我找到了一个在SQL Server Management Studio 2012中预览存储函数的解决方案。它是非程序员解决方案:)

  1. 在对象资源管理器中查找所选功能。
  2. 点击鼠标右键。
  3. 选择修改。
  4. 显示功能预览。您可以将其复制到NotePad ++并进行分析。
  5. 我希望这会有所帮助。