Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment pouvons-nous afficher le corps de la procédure stockée chiffrée dans SSMS ?

Dans le cas où la procédure stockée est créée avec l'option ENCRYPTED, SQL Server stocke en interne le texte avec la définition de l'objet dans un format obscurci

La définition réelle d'un objet est stockée dans la table système sys.sysobjvalues ​​qui n'est pas directement accessible. En vous connectant à SQL Server à l'aide de la connexion administrateur dédiée (DAC), vous pouvez sélectionner la colonne imageval dans laquelle les informations sont stockées

Si vous n'êtes pas autorisé par votre entreprise ou votre client à utiliser des outils tiers, consultez cet article sur la façon de déchiffrer l'objet chiffré :

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

Cependant, le plus simple est d'utiliser les outils tiers

L'un d'eux est ApexSQL Complete, un complément SSMS et VS GRATUIT

Dans ApexSQL Complete, les objets chiffrés sont traités comme n'importe quel autre objet SQL Server avec en plus que leur script DDL est affiché, même s'il est chiffré à l'aide de Déchiffrer les objets chiffrés possibilité

Le script d'un objet chiffré est affiché dans la boîte de dialogue des détails de l'objet en ligne :

Avis de non-responsabilité :je travaille pour ApexSQL en tant qu'ingénieur de support