Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come possiamo visualizzare il corpo della stored procedure crittografata in SSMS?

Nel caso in cui venga creata una stored procedure con l'opzione ENCRYPTED, SQL Server archivia internamente il testo con la definizione dell'oggetto in un formato offuscato

La definizione effettiva di un oggetto è memorizzata nella tabella di sistema sys.sysobjvalues ​​che non è direttamente accessibile. Collegandoti a SQL Server tramite la Dedicated Administrator Connection (DAC) puoi selezionare la colonna imageval in cui sono archiviate le informazioni

Se la tua azienda o il tuo cliente non ti consentono di utilizzare strumenti di terze parti, consulta questo post su come decrittografare l'oggetto crittografato:

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

Tuttavia, il modo più semplice è utilizzare gli strumenti di terze parti

Uno di questi è ApexSQL Complete, un SSMS GRATUITO e un componente aggiuntivo VS

In ApexSQL Complete gli oggetti crittografati vengono gestiti come qualsiasi altro oggetto di SQL Server con l'aggiunta del relativo script DDL, anche se crittografato utilizzando Decrittografa oggetti crittografati opzione

Lo script di un oggetto crittografato viene mostrato nella finestra di dialogo dei dettagli dell'oggetto inline:

Disclaimer:lavoro per ApexSQL come ingegnere di supporto