SQL Server 2008中的对称加密

问题描述:

当我在数据库上使用对称加密,然后将其备份并将其还原到另一个SQL Server并使用相同的密钥时,我无法解密数据。SQL Server 2008中的对称加密

有没有办法解决这个问题?

使用SQL Server 2008

代码:

GO 
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PASSWORD' 
GO 

CREATE CERTIFICATE PasswordFieldCertificate WITH SUBJECT = 'Password Fields'; 
GO 
CREATE SYMMETRIC KEY PasswordFieldSymmetricKey WITH ALGORITHM = TRIPLE_DES ENCRYPTION BY CERTIFICATE PasswordFieldCertificate; 
GO 
+0

你用什么方法来执行加密?你能显示你的代码(减去密钥)吗?没有更多信息就无法回答。 – msw 2010-07-03 14:32:46

+1

如果您发布代码或XML,请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码”按钮(101 010),以更好地格式化和语法突出显示它! – 2010-07-03 17:28:22

将数据库备份恢复到不同的机器,那么它被备份:

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'Password' 
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY 
CLOSE MASTER KEY 

注意:如果你不这样做做到这一点,那么你将无法解密数据。