标签: transparent-data-encryption

SQL Server TDE 的替代方案

由于包含透明数据加密功能的 SQL Server 企业版成本高,我正在寻找替代产品,但只找到了几个选项:

任何人都可以提供他们对上述任何一种产品的体验的详细信息(性能影响、易用性等)?

SQL Server TDE 的任何其他替代方案?

注意:我们目前使用的是 SQL Server 2008 R2 标准版。

sql-server sql-server-2008-r2 encryption transparent-data-encryption

8
推荐指数
1
解决办法
9046
查看次数

使用 TDE (SQL Server) 进行备份压缩的内部结构

有没有人(内部?)了解备份压缩如何与 SQL Server(2016+ 版)上的 TDE 配合使用。

一般来说,我认为压缩加密数据的好处很小,但是我们注意到,使用 TDE,当我们使用压缩进行完整备份时,我们仍然看到备份文件大小显着减少。这让我们怀疑备份过程是否会解密数据、压缩数据、加密结果,然后将其备份到磁盘。显然,由于需要解密和重新加密数据,这将增加备份过程的 CPU 消耗。

细节

select @@version

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) 2017 年 8 月 22 日 17:04:49 版权所有 (C) 2017 Microsoft Corporation Developer Edition(64 位),Windows 10 Enterprise 10.0(内部版本 17763:)(Hypervisor)

TSQL脚本

备份数据库 TestTDE 到磁盘 = 'c:\Test\TestTDE_Compressed.bak' WITH COMPRESSION, MAXTRANSFERSIZE = 65537

还是以不同的方式实现了空间节省?

sql-server backup transparent-data-encryption sql-server-2017

8
推荐指数
1
解决办法
381
查看次数

在不破坏现有镜像的情况下启用 TDE

我一直在尝试在镜像的 SQL Server 2008 R2 配置中启用 TDE。启用 TDE 并不是那么困难,但是当我在主体上启用 TDE 时,镜像数据库会进入挂起状态。

这里这里有一些不错的文章以及许多其他文章,但它们都演示了在镜像配置上启用 TDE,并启用加密之前将数据库导入镜像。我还没有找到在现有镜像系统中简单地打开 TDE 的方法。

我已经从 Principal 导出服务主密钥和服务密钥并将它们导入到镜像中。我尝试过 transact-sql'ing 镜像,希望我在 GUI 中看到的内容是错误的,因为一些高级镜像正在发生,但没有成功。

是否可以跨现有镜像 SQL Server 设置启用 TDE?

sql-server mirroring sql-server-2008-r2 transparent-data-encryption

7
推荐指数
1
解决办法
1728
查看次数

SharePoint 2013 数据库加密

我使用 SharePoint 2013 和 SQL Server 2012 作为持久层。我需要加密存储在数据库中的数据。我偶然发现了 SQL Server 功能透明数据加密 (TDE)。

使用 TDE 时,文档库中的文件(Office 文档)会发生什么情况?文件也被加密还是只加密表?

sharepoint encryption sql-server-2012 transparent-data-encryption

7
推荐指数
1
解决办法
1896
查看次数

将“启用加密”设置为 FALSE...会出现什么问题?

我正在将数据库从 迁移SQL Server 2012SQL Server 2014同一服务器上。

我正在一个明显加密的数据库上配置 LOG SHIPPING:

在此处输入图片说明

设置日志传送时,我收到此消息(当它开始从备份恢复数据库时):

在此处输入图片说明

我是这里的新 DBA,没有关于主密钥、加密密钥等的报告。

我正在设置从 SQL2012 到 SQL2014 的日志传送(使用 norecovery)。如果我将此数据库设置为Encryption enabled - false并尝试使用日志传送向导恢复数据库,会出现什么问题?

有一些关于这个问题的问题,比如This one,但他们都说我需要密码。

我刚刚master > security > certificates在主服务器(2012)上找到了这个证书:

在此处输入图片说明

互联网上有一些代码示例,但我真的不能相信它们(我认为这不是太简单):

`USE MASTER
GO
ALTER DATABASE DatabaseName
SET ENCRYPTION OFF
GO
USE DatabaseName
GO
DROP DATABASE ENCRYPTION KEY
GO`
Run Code Online (Sandbox Code Playgroud)

编辑1:

在这个问题中, Dylon 说:

如果您收到指纹错误,则说明未从源服务器的证书/密钥备份正确创建证书。

我对这个主题感到困惑,我想要的只是禁用加密,恢复另一台服务器上的数据库以记录传送,并在某一天激活加密。


编辑2:

Database > tasks > manage database encryption有一些选项太:

在此处输入图片说明

禁用此功能,我将能够再次备份数据库,并在新实例上恢复它?

sql-server migration log-shipping transparent-data-encryption

7
推荐指数
1
解决办法
6603
查看次数

TDE 主密钥轮换

更改 TDE 主密钥(DB 主密钥和/或 DB 加密密钥)是否总是需要解密和重新加密?如果没有,SQL Server 在哪个版本开始允许您更改主密钥而不必解密/重新加密?

我的背景是 Oracle,它处理 TDE 的方式略有不同。

sql-server transparent-data-encryption

7
推荐指数
1
解决办法
771
查看次数

为现有的 AlwaysOn 数据库启用 TDE

我需要对 AlwaysOn 进行一些基准测试,无论是否启用 TDE。我看到的所有说明都涉及将加密数据库添加到可用性组,但我没有提到为 AG 中已有的数据库启用加密。

我可以将服务器证书恢复到所有节点,然后从主节点启用 TDE 吗?我希望我不需要从 AG 中删除数据库,对其进行加密,然后重新初始化所有节点,因为数据库大约为 100 GB。如果需要,我们可以这样做,但这肯定会减慢我们的测试速度。

更新

我只是在一些实验室虚拟机上尝试过这个。我能够在主节点上创建一个证书,在所有辅助节点上恢复它,然后使用这个证书在主节点上创建一个数据库加密密钥。之后我所要做的就是ALTER DATABASE AdventureWorks SET ENCRYPTION ON在主服务器上,一两分钟后,sys.dm_database_encryption_keys 在所有节点上都显示了 encryption_state = 3。

那么,后续问题:是否有任何理由认为我不应该使用此程序?SQL Server 似乎对结果很满意,但我还没有看到任何地方讨论过这种方法。在处理加密和高可用性问题时,我不想让事情碰运气。

sql-server sql-server-2012 availability-groups transparent-data-encryption

6
推荐指数
1
解决办法
2147
查看次数

复制数据库上的 TDE

我已经在两个数据库之间实现了事务复制。现在我必须Transparent Data Encryption (TDE)在 Publisher 数据库上实施。

是否可以只在主数据库中实现 TDE?复制的数据会与复制一起加密吗?

replication sql-server transparent-data-encryption

6
推荐指数
1
解决办法
2998
查看次数

你应该加密系统数据库吗?

STIG 评估的发现,CCE-19832-5报告说 [master] 数据库应该使用符合 DoD 标准的加密密码使用数据库主密钥进行加密。

这是 AppDetective 扫描的结果;它指出:

未找到资源密钥“database_ contains_encrypted_key”。=[master]。

我没有刻意在 master 数据库中存储任何东西。

我已经加密了所有用户数据库,但我的问题是:您是否加密系统数据库,特别是 master?我在 SQL Server 2012 中使用 TDE。

sql-server sql-server-2012 transparent-data-encryption

6
推荐指数
1
解决办法
1957
查看次数

还原 SQL 数据库时关闭 TDE

我们刚刚开始使用 TDE。最终它将在我们的 Prod SQL Server 环境和两个主要的非生产环境中,但目前它仅在一个非生产系统中。

我的问题是关于恢复这些数据库。我们还有其他几个环境(企业版和标准版)以及我们有时会将数据库备份发送到的异地供应商。对于那些,我们要么必须使用中间服务器在恢复之前关闭 TDE,要么使用不同的密钥进行备份。

但具体来说,我想知道如何从启用 TDE 的生产环境恢复到启用 TDE 的非生产环境。一旦 TDE 数据库在没有关闭 TDE 的情况下恢复,它是否会继续使用源服务器的密钥?我想知道在这种情况下是否需要关闭和打开 TDE(这需要几个小时)。还要注意我在下面恢复时的奇怪行为。它似乎通过数据库的前一个化身携带历史密钥,并且在复制到具有相同数据库名称的服务器时,允许第二个服务器的密钥。这是正确的吗?

我在由不同 VM 上的两个数据库实例组成的非生产环境中执行了以下操作:

在实例 1 上:

  1. 在数据库 DBA 上启用 TDE,
  2. 备份证书、密钥和数据库,
  3. 将 DBA 的备份恢复到新数据库 DBA2,
  4. 备份数据库 DBA2,在实例 2 上:
  5. 从实例 1 复制 DBA2 备份,
  6. 恢复的 DBA2。

请注意,我没有为 DBA2 创建任何证书或密钥,也没有将任何 DBA 证书和密钥从实例 1 复制到 2。

实例 2 有自己的不相关的 DBA 数据库,其中包含 TDE 证书和密钥。还原后未在 DBA2 上启用 TDE。

所以它看起来像:

  1. 实例 1 DBA 密钥在步骤 3 中转移到 DBA2 中,并且
  2. 尽管实例 1 的 DBA 和实例 2 的 DBA 是不同的实体,但还原过程可能使用了步骤 …

sql-server transparent-data-encryption

6
推荐指数
1
解决办法
789
查看次数