it-swarm-fr.com

Copier les vues de la base de données cryptées

Je dois prendre une copie d'une base de données SQL Server. La base de données compte environ 40 vues qui pointent vers d'autres bases de données et j'ai besoin d'échantillons de données de ces vues. De plus, les vues sont cryptées de manière à générer un script de l'une des points de vue, c'est l'erreur:

Property TextHeader is not available for View '[dbo].[TABLE1]'. This property may not 
exist for this object, or may not be retrievable due to insufficient access rights.  The 
text is encrypted. (Microsoft.SqlServer.Smo)

Quelle serait la meilleure façon d'obtenir une copie de cette base de données contenant des données des vues? Je pensais à créer des tables supplémentaires et à peupler avec des données d'échantillonnage, mais cela semble bien enroulement, alors y a-t-il une meilleure façon?

7
usert09856345

Les processus et vues stockés cryptés peuvent être déchiffrés assez facilement:

http://www.msqltips.com/tip.asp?tip=1046

Cela vous donnera le texte non crypté des procédures et des vues stockées. Il suffit de modifier la déclaration de création pour être une modification, et elle écrasera les versions cryptées avec celles déchiffrées.

Ne faites pas cela dans la production - faites-le dans une sauvegarde restaurée de la base de données. De cette façon si c'est une application de fournisseur tiers, vous serez toujours soutenu en production.

7
Brent Ozar

Une vue n'est qu'une définition de métadonnées (si ce n'est pas une vue indexée, bien sûr). La copie de la base de données vous obtiendrait donc que la définition cryptée de cette vue.

Je pense que votre meilleur choix est de créer de nouvelles tables avec les données actuelles de ces vues et vous aurez donc votre échantillon de données.

4
Marian

Voici une autre solution qui fonctionne sur SQL Server 2012. Vous obtiendrez le corps de la vue dans les résultats.

crypter et déchiffrer les procédures SQL Server stockées, les vues et les fonctions définies par l'utilisateur

Ht

2
Milica Medic