相关疑难解决方法(0)

证书、非对称密钥或私钥文件无效或不存在

我正在尝试将数据库从不同的服务器还原到我的本地主机服务器上。那个数据库是加密的(bak 文件),所以我必须解密它,这很好,我有所有的证书文件和密码,但是出于某种原因,我仍然收到以下错误:

The certificate, asymmetric key, or private key file is not valid or does not exist; or you do not have permissions for it.

这是我正在执行的代码:

      CREATE CERTIFICATE [Certificate1] 
FROM FILE = 'C:\Location of the certs'
WITH PRIVATE KEY ( 
    FILE = 'C:\Location of the certs' ,   
    DECRYPTION BY PASSWORD = 'password'
);
Run Code Online (Sandbox Code Playgroud)

附注。我不是备份和恢复方面的专家。

sql-server t-sql restore certificate

5
推荐指数
1
解决办法
1万
查看次数

使用不同的服务帐户时向 SQL Server 颁发恢复证书

我正在尝试在 SQL 2017 中配置备份加密,但遇到了一些问题。

我在一台机器上创建主密钥和证书没有问题。我在另一台机器上安装证书并读取备份也没有问题,但是,如果另一台机器运行的服务帐户与创建证书的服务帐户不同,这将不起作用。

以下是我正在采取的步骤(我也尝试恢复主密钥,但也会引发错误):

/* Server 1 */
/* Create the master key */
USE master;  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'SomeRandomSecureString';  
GO 


/* Create the certificate to be used for backups */
CREATE CERTIFICATE BackupCert  
   WITH SUBJECT = 'Backup Encryption Certificate';  
GO

/* Backup the master key */
BACKUP MASTER KEY TO FILE = '\\FileShare\DatabaseMasterKey_Master.key'   
    ENCRYPTION BY PASSWORD = 'SomeRandomPwd';

BACKUP CERTIFICATE BackupCert TO FILE = '\\FileShare\BackupCert.cer'
  WITH PRIVATE KEY (FILE = '\\FileShareBackupCert.pvk',   
     ENCRYPTION BY …
Run Code Online (Sandbox Code Playgroud)

sql-server backup encryption sql-server-2017

3
推荐指数
1
解决办法
1903
查看次数