Como visualizar o conteúdo de procedures criptografadas

Olá pessoal,

Aposto que o título deste post é de curiosidade de muitos, certo? Essa pergunta acontece muito nos fóruns de SQL Server por ai a fora. Todos querem dar aquele jeitinho de poder visualizar o conteúdo de uma procedure criptografada. Mas será que isso é possível?

Para não deixar esse post longo de mais, vamos criar uma simples procedure como demonstrado abaixo.

image

Feito a criação vamos tentar verificar o texto desta procedure com o comando abaixo.

image

A partir dessa imagem, realmente podemos ver que a procedure está criptografada.

Bom, para poder visualizar o conteúdo desta procedure você ira precisar de uma ferramenta de terceiro, chamada SQL Prompt da Red-Gate. Dentre as inumeras features que essa ferramenta possui como por exemplo a formatação de codigo T-SQL, ela nos permite visualizar o conteúdo de qualquer stored procedure.

Como a ferramenta possui essa caracteristica de visualizar o conteúdo de procedures, functions e triggers, acaba sendo possivel visualizar até mesmo aquelas que estão critografadas.

Bom, com o SQL Prompt instalado na sua maquina, você irá realizar o seguinte.

Passando o mouse no nome da Stored Procedure, você irá visualizar a seguinte imagem.

image

Como você pode ver um hyperlink foi gerado. Basta clicar no mesmo e o conteúdo da procedure poderá ser visto.

image

Espero que tenham gostado!

Abraços,
Marcos Freccia
SQL Server MVP

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em março 11, 2015, em Dicas, SQL Server, T-SQL, VirtualPass e marcado como , , , , , . Adicione o link aos favoritos. 7 Comentários.

  1. Cara, fiz o mesmo teste que você e realmente apareceu a definição da proc.

    Daí pedi para o meu colega criar uma proc encriptada na máquina dele, então conectei e tentei visualizar o conteúdo pelo SQL Prompt e mostrou que tava encriptado!

    Logo imaginei que só apareceu o conteúdo pq eu tinha criado na minha máquina e ficou de cache do SQL Prompt!

    Abraço!!

    • Bruno, um dos problemas é que o SQL Prompt não reconhece na hora a procedure criada. Faça um teste, crie a proc, feche e abra novamente o SSMS e tente verificar o conteúdo da mesma.

      • Então, mas ele reconheceu e mostrou a janelinha do SQL Prompt como encripted.

        O teste que fiz:

        – Criei a proc encriptada na minha instância e no meu SSMS com SQL Prompt.
        – Abri outra sessão no mesmo SSMS e consegui visualizar o conteúdo no SQLPrompt.
        – Abri outro SSMS na mesma máquina e consegui acessar também.

        – Criei outra proc, tbm encriptada em outro PC com outra instância do SQL.
        – Conectei nesse pc com o SSMS do meu pc com SQL Prompt.
        – Ele mostrou o link da proc e na janelinha do SQL Prompt ele mostrou que tava encriptada!!

      • Bruno, meu SSMS é apenas local e consigo acessar os servers da rede e verificar o texto das procedures criptografadas. Pode ser a versão do SQL Prompt, não sei!

        A versão que estou usando é: 6.4.0.678

  2. A minha é a 6.4.1.164, qdo puder tenta fazer um teste numa instância remota, talvez seja isso!

  3. Olá Marcos, tudo bem?

    Só me tira uma dúvida: existe uma permissão mínima no SQL Server que este usuário logado no SSMS precisa ter nesta instância (não sei qual era a permissão deste usuário sqlservice que você usou)?
    Estou perguntando isso com relação a questões de segurança, pois desta forma aparentemente procedures criptografadas em servidores de produção poderia ter sua definição vista sem que a pessoa tenha permissão para isso.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: