SQL-加密数据库

Har*_*ala 1 sql sql-server

我已经从实时环境中备份并尝试在本地机器上使用它。直播中的数据库是用密钥加密的。

我已将数据库恢复到 localbox 并且无法运行任何存储过程,因为我有以下问题

Please create a master key in the database or open the master key in the session before performing this operation.
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这个问题,你是如何解决的。你能一步一步提供答案吗?

我知道实时数据库上加密的密码。

Rem*_*anu 6

直播中的数据库是用密钥加密的。

我假设您的意思是数据库正在使用Transparent Database Encryption。将 TDE 数据库移动到另一台服务器的过程在将 TDE 受保护的数据库移动到另一台 SQL Server 中进行了描述,它涉及通过备份用于加密 TDE 密钥的证书来显式移动数据库加密密钥,该证书以前是支持的从实时服务器上:

在实时服务器上:

BACKUP CERTIFICATE ...
TO FILE = '...'
WITH PRIVATE KEY 
(
    FILE = '...',
    ENCRYPTION BY PASSWORD = ...'
);
GO
Run Code Online (Sandbox Code Playgroud)

在本地服务器上:

CREATE CERTIFICATE ...
FROM FILE = '...'
WITH PRIVATE KEY 
(
    FILE = '...',
    DECRYPTION BY PASSWORD = '...'
);
GO
Run Code Online (Sandbox Code Playgroud)

有了证书,本地 SQL Server 将能够解密 TDE 数据库。

如果您不是在谈论 TDE,那么您需要解释“数据库是用密钥加密的”是什么意思。