我们如何在SSMS中查看加密存储过程的正文

我们如何在SSMS中查看加密存储过程的正文

本文介绍了我们如何在SSMS中查看加密存储过程的正文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个新的存储过程 WITH ENCRYPTION 语句,现在我想查看它的正文。



是解决方案?

解决方案

如果使用ENCRYPTED选项创建存储过程,SQL Server将内部存储具有定义的文本对象的模糊化格式



对象的实际定义存储在不能直接访问的系统表sys.sysobjvalues中。通过使用专用管理员连接(DAC)连接到SQL Server,您可以选择存储信息的imageval列



如果您不允许您的公司或您的客户端使用第三方工具看到这篇文章如何解密加密对象:





然而,最简单的方法是使用第三方工具p>

其中之一是,一个免费的SSMS和VS加载项



在ApexSQL中完整的加密对象被处理为任何其他SQL Server对象,除了DDL脚本是即使使用解密加密对象选项



,加密对象的脚本将显示在内联对象详细信息对话框中:





免责声明:我为ApexSQL作为支持工程师工作


I created a new stored procedure WITH ENCRYPTION statement, now I want to view its body.

What is the solution?

解决方案

In case when stored procedure is created with the ENCRYPTED option, SQL Server internally stores the text with the definition of the object in an obfuscated format

The actual definition of an object is stored in system table sys.sysobjvalues which is not directly accessible. By connecting to SQL Server using the Dedicated Administrator Connection (DAC) you can select the imageval column in which the information is stored

If you are not allowed by your company or your client to use third party tools see this post on how to decrypt the encrypted object:

http://www.mssqltips.com/sqlservertip/2964/encrypting-and-decrypting-sql-server-stored-procedures-views-and-userdefined-functions/

However, the easiest way is to use the third party tools

One of them is ApexSQL Complete, a FREE SSMS and VS add-in

In ApexSQL Complete encrypted objects are handled as any other SQL Server object with addition that their DDL script is shown, even if it is encrypted using the Decrypt encrypted objects option

The script of an encrypted object is shown in the inline object details dialog:

Disclaimer: I work for ApexSQL as a Support Engineer

这篇关于我们如何在SSMS中查看加密存储过程的正文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 05:25