Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 还原加密数据库时出错_Sql_Tde - Fatal编程技术网

Sql 还原加密数据库时出错

Sql 还原加密数据库时出错,sql,tde,Sql,Tde,我使用以下命令为数据库加密创建证书 use master --create certificate CREATE CERTIFICATE Cert4TDE WITH SUBJECT = 'Certificate for TDE'; GO --back up certificate BACKUP CERTIFICATE Cert4TDE TO FILE = 'E:\asd\Cert4TDE.crt' WITH PRIVATE KEY ( FILE = 'E:\asd\privateKeyO

我使用以下命令为数据库加密创建证书

use master
--create certificate
CREATE CERTIFICATE Cert4TDE WITH SUBJECT = 'Certificate for TDE';
GO
--back up certificate
BACKUP CERTIFICATE Cert4TDE TO FILE = 'E:\asd\Cert4TDE.crt'
    WITH PRIVATE KEY ( FILE = 'E:\asd\privateKeyOfCert4TDE.pvk' , 
    ENCRYPTION BY PASSWORD = 'P@ssword2' );
GO
Use  [Test5]
GO
CREATE DATABASE ENCRYPTION   KEY
     WITH ALGORITHM   =  AES_256 --Supported encryption algorithms are AES with 128-bit,   192‑bit, or 256‑bit keys or 3 Key Triple DES
     ENCRYPTION BY   SERVER CERTIFICATE   Cert4TDE
GO
ALTER DATABASE [Test5]
SET ENCRYPTION ON;

备份T5数据库并从SQL中删除证书后,我尝试从文件中导入证书

create certificate Cert4TDE
      from file = 'E:\asd\Cert4TDE.crt'
      with private key 
        (file = 'E:\asd\privateKeyOfCert4TDE.pvk', 
         encryption by password = 'P@ssword2',
         decryption by password = 'P@ssword2')

我希望在导入证书后,可以恢复Test5数据库,但它会抛出错误:证书有一个私钥,该私钥受用户定义的密码保护。我做错了什么?

如果你给使用的dbms产品贴上标签,你可能会得到更多的关注。我完全不明白你的意思,jarlh?