QA:附加数据库时,如果数据库主密钥的密码丢失怎么办?

当一个数据库被附加到一个新得sql server实例后,它的数据库主密钥(database master key)默认不会被服务器主密钥
(service master key)保护.在这种情况下,我们需要自己修改这种状态,使它被服务器主密钥保护。
但如果忘记了数据库主密钥得密码,则无法完成这项操作.


如何解决这一问题:
在原始实例上为db1的数据库添加新的密码,这样我们就可以在新的实例中使用这个密码了.

在原始实例上执行一下代码:

OPEN MASTER KEY DECRYPTION BY SERVICE MASTER KEY
ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD = 'p@s%word'
CLOSE MASTER KEY

 

在新实例中:

Code SnippetOPEN MASTER KEY DECRYPTION BY PASSWORD = 'p@s%word'
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
CLOSE MASTER KEY
posted on 2008-10-12 22:06  stswordman  阅读(1194)  评论(0编辑  收藏  举报