0

我想知道是否有人可以帮助我?

我们有 sql server 2012 标准版。

在其中一个数据库(所有镜像)中,我们有一个带有加密列的表。

此表的解密工作正常,直到镜像故障转移后,加密表列的解密不再可解密?

我对此进行了研究,建议的解决方案似乎是实施透明数据加密?

我碰到

http://blogs.msdn.com/b/sqlserverfaq/archive/2009/03/31/setting-up-database-mirroring-in-sql-server-2008-using-t-sql-when-the-database- is-encrypted-using-transparent-data-encryption.aspx

但是 2012 标准版不允许 TDE。

有谁知道除了 TDE 之外是否还有其他方法可以解决此问题,因为我对镜像不是很有经验。

当前原则设置为:-

IF NOT EXISTS 
    (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
    CREATE MASTER KEY ENCRYPTION BY 
    PASSWORD = 'complex password'
GO

CREATE CERTIFICATE Data01
   WITH SUBJECT = 'Data01 Passwords';
GO

CREATE SYMMETRIC KEY SSN_Key_01
    WITH ALGORITHM = AES_256
    ENCRYPTION BY CERTIFICATE Data01;
GO

任何建议都非常感谢。

4

1 回答 1

0

此表的解密工作正常,直到镜像故障转移后,加密表列的解密不再可解密?

如果我们有确切的错误消息会很好,所以这只是我的一个有根据的猜测。您可能正在使用服务主密钥来自动解密数据库主密钥,继续进一步直到最终密钥被解密并打开。由于默认情况下,每个实例上的 SMK 都是唯一的(除非另有强制规定),因此 SMK 将不同,并且无法在镜像实例上打开 DMK。

TDE 用于加密静态数据,它不会像单元级加密那样阻止具有读取访问权限的用户获取数据。

要解决此问题,假设我的猜测是正确的,您要么想要更改解密访问权限以删除 SMK 的自动解密,手动打开 DMK 并照常继续,要么更新 SMK 以在两台服务器上匹配。

于 2014-06-25T22:36:01.077 回答