You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rodrigo Ribeiro Gomes (adaptado de Paul White https://sqlperformance.com/2016/05/sql-performance/the-internals-of-with-encryption)
5
+
6
+
7
+
# Descrição
8
+
Descriptografa todas as procedures criptografadas no banco atual
9
+
O post do Paul White fornece todos os detalhes!
10
+
Antes de usar esse script, crie as funções do arquivo fn.Rc4.sql!
11
+
12
+
13
+
ATENÇÃO: VOCÊ DEVE ESTAR CONECTADO COMO DAC! Esse procedimento não é oficial Microsoft, use-o por sua própria conta e risco.
14
+
15
+
Formas de conectar como dac:
16
+
- Logue na máquina onde o sql está instalado
17
+
- no ssms, coloque admin:. ou admin:.\noneinstancia
18
+
- o sqlbrowser deve estar ativo
19
+
- em instancia clusterizadas, o remote admin deve estar habilitado e você deve conectar usando o nome virtual
20
+
21
+
Mais info sobre o DAC: https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/diagnostic-connection-for-database-administrators?view=sql-server-ver17
22
+
Lembre-se que o DAC é uma conexão especial de emergência, então, não ocupe-a por muito tempo.
23
+
*/
24
+
25
+
SELECT
26
+
*
27
+
28
+
-- Aqui fica clicável e fácil de copiar. Mas se a proc tiver alguns caraceres especiais, pode dar erro de conversao xml
29
+
-- Se der, comenta esse trecho e copia o "text" (se for maior que o limtie do ssms, pode vir cortado. habilite a quebra de linha nas options também)
30
+
,ProcXML = (
31
+
select
32
+
[processing-instruction(q)] =P.text
33
+
-- Se tiver caracteres especiais no XML, usar replace, ou comentar isso aqui!
Os scripts desse diretório contém procedures que ajudam a descriptografar as procedures criptografadas com o WITH ENCRYPTION.
4
+
Para conseguir descriptografar, você deve ter acesso de sysadmin na instância e conseguir conectar como DAC.
5
+
Ou seja, esse procedimento é so para quem tem nível muito alto de acesso ao SQL.
6
+
7
+
Os scripts aqui foram adaptados com base no blog: https://sqlperformance.com/2016/05/sql-performance/the-internals-of-with-encryption, que aliás, é um excelente post explicando como o WITH ENCRYPTION funciona.
8
+
9
+
> [!WARNING]
10
+
> Esse procedimento não é oficial Microsoft e você deve usar por sua própria e risco
11
+
> Apesar disso, eu nunca vi nenhum efeito colateral, visto que você só faz mais consulta e cria funçoes t-sql escalares simples.
12
+
> Porém, lembre-se que o DAC é uma conexão especial, para resolver emergências, e não deve ser mantido aberta sem necessidade.
13
+
> Outro ponto importante é que os scripts vão consultar DMVs e metadados com informações sensíveis da instância, como keys, então, não compartilhe isso.
14
+
> Por isso, tenha em mente que é de seu inteira responsabilidade seguir com o uso e os procedimentos descritos aqui.
15
+
16
+
Procedimentos:
17
+
18
+
- Cria [esta função](fn.Rc4.sql).
19
+
- Conecte-se como dac e [rode este script](DecryptSelectProcs.sql) no banco desejado para trazer as procs descriptogradas.
20
+
- Se der erro de conversão de XML, siga as orientações no comentário no início do SELECT
0 commit comments