我正在尝试从 SQL Server 2012 Enterprise 迁移到 SQL Server 2019 Standard,我的步骤之一是将 TDE 证书从 2012 年转移到 2019 年。我备份了 2012 年的证书和密钥,并尝试在 2019 年创建新证书使用 2012 密钥和证书。
这与我用于将加密证书还原到 SQL Server 2012 的新实例的过程相同。但是,当我尝试在 SQL Server 2019 Std 中执行相同的过程时,我收到以下消息:
证书、非对称密钥或私钥文件无效或不存在;或者您没有权限。
这是我使用证书和密钥的备份恢复证书的 SQL 语句:
CREATE CERTIFICATE TDECert_SQL2019
FROM FILE = 'E:\Backup\TDECert_SQL2019.BAK'
WITH PRIVATE KEY (FILE = 'E:\Backup\TDEkey_SQL2019.bkey',
DECRYPTION BY PASSWORD = 'MYSECUREPASSWORD');
GO
我知道文件路径是正确的,我知道密码是正确的。我可以毫无问题地在 SQL Server 2012 实例上运行相同的 SQL。
我知道 SSL 证书在 SQL Server 2019 上的处理方式略有不同,但我不知道 TDE 方面的变化。