我们最近实施了 TDE,并且还启用了备份压缩。以前 TDE 备份需要大约 20 分钟,但现在大约需要一个小时。
我已设置@MaxTransferSize
为 3MB、2MB、1MB 和 0.5MB,但在时间上没有任何区别,数据库大小为 90GB,它是 SQL Server 2016 SP1 CU4。
我们使用 Ola 的维护解决方案/脚本来备份数据库。知道为什么启用 TDE 时花费的时间是原来的 3 倍吗?
我们最近实施了 TDE,并且还启用了备份压缩。以前 TDE 备份需要大约 20 分钟,但现在大约需要一个小时。
我已设置@MaxTransferSize
为 3MB、2MB、1MB 和 0.5MB,但在时间上没有任何区别,数据库大小为 90GB,它是 SQL Server 2016 SP1 CU4。
我们使用 Ola 的维护解决方案/脚本来备份数据库。知道为什么启用 TDE 时花费的时间是原来的 3 倍吗?
我们已经运行 SQL Server 2016 一段时间了,但最初将数据库兼容性级别保留为 SQL Server 2008 (100)。最近我们确实将数据库兼容级别更新为 2016 (130),但我们在那里遇到的问题很少。我们设法找到了一个特定的查询,其中查询将 datetime 转换为 datetime2,当它应该返回一个值时它返回 NULL,不确定它是 CE 还是什么?请看下面的例子:
CREATE TABLE TestCE
(
Id INT IDENTITY(1,1),
CurrentDateTime DATETIME
)
GO
INSERT dbo.TestCE(CURRENTDATETIME)
SELECT GETDATE()
UNION ALL SELECT '2018-04-11 08:44:42.643'
UNION ALL SELECT '2018-04-12 09:49:45.334'
GO
SELECT * FROM TestCE
--The resultset
1 2018-04-17 16:49:02.813
2 2018-04-11 08:44:42.643
3 2018-04-12 09:49:45.333
但是当我运行以下查询时,没有得到任何结果:
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-12 09:49:45.333')
GO
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-11 08:44:42.643')
GO
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-17 16:49:02.813')
我也尝试过使用 QueryTraceOn 选项来实现后向 CE,但没有成功:
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-12 09:49:45.333')
OPTION(QUERYTRACEON 9481);
GO
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-11 08:44:42.643')
OPTION(QUERYTRACEON 9481);
GO
SELECT * FROM TESTCE
WHERE CURRENTDATETIME = CONVERT(DATETIME2, '2018-04-17 16:49:02.813')
OPTION(QUERYTRACEON 9481);
还设置了以下数据库选项,但也没有成功:
ALTER DATABASE SCOPED CONFIGURATION
SET LEGACY_CARDINALITY_ESTIMATION = ON
一旦我将兼容级别改回 2008,查询就会开始按预期返回数据。
只是想知道 SQL Server 是否使用不同的技术进行事务复制和 Alwayson 高可用性,或者它在幕后是否相同。基本上我需要知道 SQL Server 是否使用相同或不同的技术(协议/进程)来复制和同步 SQL Server 2016 中高可用性的辅助副本。提前致谢。
只是想知道在可用性组中备份系统数据库的最佳做法是什么,即应该在主副本、辅助副本或所有副本中备份。提前致谢