|
te_saleskey.pvk、Temp.bak到另一服务器
-- 在另一台服务器实例中:
use master;
go
-- 还原数据库(失败!)
RESTORE DATABASE [Temp]
FROM DISK = N'C:\Software\Temp.bak'
WITH FILE = 1,
MOVE N'Temp' TO N'C:\Database\Temp.mdf',
MOVE N'Temp_log' TO N'C:\Database\Temp_log.ldf',
NOUNLOAD, STATS = 10
/*
消息 33111,级别 16,状态 3,第 1 行
找不到指纹为 '0xC1E2F607576904047A0D739588B65B27D8878B92' 的服务器 证书。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。
*/
-- 创建新的数据库主密钥
create master key encryption by password = N'Hello@MasterKey';
go
-- 还原证书
create certificate Mycertificate
from file = N'C:\Software\mycertificate.cer'
with private key
(
file = N'C:\Software\mycertificate_saleskey.pvk' ,
decryption by password = N'Hello@Mycertificate'
);
go
-- 还原数据库(成功)
RESTORE DATABASE [Temp]
FROM DISK = N'C:\Software\Temp.bak'
WITH FILE = 1,
MOVE N'Temp' TO N'C:\Database\Temp.mdf',
MOVE N'Temp_log' TO N'C:\Database\Temp_log.ldf',
NOUNLOAD, STATS = 10
-- 删除数据库加密
use [Temp];
go
alter database [Temp] set encryption off;
go
drop database encryption key
go
|