Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como podemos visualizar o corpo do procedimento armazenado criptografado no SSMS?


Caso o procedimento armazenado seja criado com a opção ENCRYPTED, o SQL Server armazena internamente o texto com a definição do objeto em formato ofuscado

A definição real de um objeto é armazenada na tabela do sistema sys.sysobjvalues, que não pode ser acessada diretamente. Ao conectar-se ao SQL Server usando a Dedicated Administrator Connection (DAC), você pode selecionar a coluna imageval na qual as informações são armazenadas

Se você não tem permissão de sua empresa ou de seu cliente para usar ferramentas de terceiros, veja este post sobre como descriptografar o objeto criptografado:

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

No entanto, a maneira mais fácil é usar as ferramentas de terceiros

Um deles é o ApexSQL Complete, um complemento GRATUITO de SSMS e VS

No ApexSQL Complete, os objetos criptografados são tratados como qualquer outro objeto do SQL Server, além de que seu script DDL é mostrado, mesmo que seja criptografado usando o Descriptografar objetos criptografados opção

O script de um objeto criptografado é mostrado na caixa de diálogo de detalhes do objeto embutido:



Isenção de responsabilidade:trabalho para ApexSQL como engenheiro de suporte