La restauration de Base de données SQL Server - la Clé principale est de ne Pas ouvrir

Je dois faire une copie locale d'un Serveur SQL server distant de la base de données. Je l'ai fait en utilisant les Tâches > Sauvegarde de Gestion de Studio. J'ai ensuite localement restauré la sauvegarde, ce qui semble tout avoir-des tableaux, des utilisateurs, clé symétrique, et un certificat.

Lorsque je tente d'effectuer une sélection qui m'oblige à ouvrir la clé symétrique et déchiffrer par le certificat, j'obtiens cette erreur:

Please create a master key in the database or open the master key in the session before performing this operation.

Pourquoi suis-je demandé, et pourquoi ne pas s'ouvrir automatiquement, comme c'est le cas sur le serveur distant?

J'ai essayé de changer la clé principale, mais sans le mot de passe d'origine, je ne peux pas faire grand chose.

Hmm, j'espère que c'est pas facile de restaurer une clé maître sans le mot de passe, c'est là où la sécurité de tous. Je suppose que cela pourrait être une leçon dans l'utilisation de la cryptographie à clé publique pour protéger votre clé, et de sauvegarde du certificat dans un endroit sûr.
peut-être que je suis absent quelque chose d'évident ici; sur la machine d'origine, vous n'avez pas besoin d'ouvrir la clé, il vous suffit d'exécuter la procédure stockée. Est-il une faille dans mon export/import?
La façon la plus simple de résoudre ce problème est de sauvegarder la base de données de la clé principale et de lui attribuer un mot de passe pour protéger le fichier. Puis restaurez la base de données maître de la clé à l'aide du mot de passe de la base de données restaurée. Cela fonctionne sans que vous ayez besoin de connaître le mot de passe d'origine utilisé pour créer la DMK aussi longtemps que la DMK est également crypté par le SMK sur votre système de production, ce qui est fait par défaut, sauf si le chiffrement par clé est supprimée.

OriginalL'auteur ashes999 | 2011-06-16