SQL Server 2016 啟用數(shù)據(jù)庫(kù)TDE 壓縮性能提升

在《SQL Server 透明數(shù)據(jù)加密(TDE)的影響》一文中,我們給出啟用數(shù)據(jù)庫(kù)TDE的備份時(shí),不啟用壓縮(COMPRESSION )選項(xiàng)建議(有些片面,現(xiàn)在看來(lái)需要加上一些限定條件)。因?yàn)樵赟QL Server 2016版本以前,對(duì)TDE數(shù)據(jù)庫(kù)備份時(shí)使用COMPRESSION,不但不能減少數(shù)據(jù)庫(kù)備份文件占用空間,而且備份的時(shí)間、CPU都會(huì)顯著升高。

從 SQL Server 2016開(kāi)始,啟用TDE 的數(shù)據(jù)庫(kù),使用COMPRESSION選項(xiàng)進(jìn)行備份,其壓縮效果和未啟用TDE之前有類(lèi)似的效果。但是有個(gè)前提,要在BACKUP命令中設(shè)置參數(shù)MAXTRANSFERSIZE值大于65536(默認(rèn)值,64KB)的整數(shù)倍,在維護(hù)計(jì)劃→維護(hù)計(jì)劃向?qū)А鷤浞輸?shù)據(jù)庫(kù)→選項(xiàng),可以設(shè)置“最大傳輸大小”,如下圖:

值得注意的是,如果您并沒(méi)有使用維護(hù)計(jì)劃進(jìn)行備份時(shí),您可能還沒(méi)有發(fā)現(xiàn)這個(gè)新的變化。在SQL Server 2016,直至SQL Server 2019版本,我們?cè)赟SMS資源管理器中,右擊數(shù)據(jù)庫(kù)→任務(wù)→備份數(shù)據(jù)庫(kù),在備份選項(xiàng)中均沒(méi)有“最大傳輸大小”可選。

那么這個(gè)參數(shù)在備份中如何使用呢?使用這個(gè)參數(shù)會(huì)對(duì)備份過(guò)程有哪些影響呢?本文將使用試驗(yàn)的方式給出這些問(wèn)題的答案。

試驗(yàn)結(jié)果

未啟用TDE,備份時(shí)【未】使用ENCRYPTION加密,壓縮,無(wú)論是否使用MAXTRANSFERSIZE選項(xiàng),壓縮效果基本相同;但無(wú)論是總耗時(shí)還是CPU時(shí)間上來(lái)看不加MAXTRANSFERSIZE都要遠(yuǎn)優(yōu)于增加此選項(xiàng)

啟用TDE時(shí),是否使用MAXTRANSFERSIZE,對(duì)CPU和備份文件大小有顯著影響。如果備份策略安排在低谷期(應(yīng)用對(duì)CPU需求較低),可以考慮將MAXTRANSFERSIZE設(shè)置為默認(rèn)值的2倍(維護(hù)計(jì)劃中MAXTRANSFERSIZE 只能設(shè)置為65536的非0正整數(shù)倍,腳本中雖然可以將其值設(shè)置為65536加任意整數(shù),如65537,實(shí)質(zhì)上系統(tǒng)的傳輸還是會(huì)按照向上取一個(gè)EXTENT,即64KB的整數(shù)倍的數(shù)值),從這個(gè)試驗(yàn)中可以看到,直接設(shè)置65536的整數(shù)倍在耗時(shí)上優(yōu)于增加任意整數(shù)65537約18%,CPU消耗僅僅增加2%

啟用TDE時(shí),不同系統(tǒng)設(shè)置MAXTRANSFERSIZE 對(duì)性能的影響不同,需要測(cè)試去確定設(shè)置多大是最優(yōu)的。

日志的大小對(duì)全備的大小影響較?。o(wú)壓縮備份的文件大小僅僅比mdf文件大181KB,而log文件有4GB多)


試驗(yàn)準(zhǔn)備

在這里我們?nèi)匀皇褂谩禨QL Server 透明數(shù)據(jù)加密(TDE)的影響》一文中的test庫(kù)作為測(cè)試數(shù)據(jù)庫(kù),SQL Server 版本為SQL Server 2016企業(yè)版。

關(guān)閉實(shí)例中備份壓縮選項(xiàng)

關(guān)閉實(shí)例中備份壓縮選項(xiàng),這將允許BACKUP命令顯式地指定是否應(yīng)該使用備份壓縮。

SSMS資源管理器中,右擊實(shí)例名→屬性→數(shù)據(jù)庫(kù)設(shè)置→壓縮備份左側(cè)的多選框未勾選,如下圖:


我們也可以使用如下T-SQL語(yǔ)句查看實(shí)例備份壓縮選項(xiàng)的狀態(tài):

SELECT * FROM sys.sysconfigures

WHERE comment LIKE '%Enable compression of backups by default%'

EXEC sp_configure 'backup compression default'

當(dāng)然,也可以使用下面的命令禁用SQL服務(wù)器實(shí)例上的備份壓縮設(shè)置。

EXEC sys.sp_configure N'backup compression default', N'0'

GO

RECONFIGURE WITH OVERRIDE

GO

dbcc showfilestats :可查看數(shù)據(jù)庫(kù)中數(shù)據(jù)文件的整體使用情況(按區(qū)統(tǒng)計(jì))

DBCC SHOWFILESTATS WITH TABLERESULTS

數(shù)據(jù)庫(kù)使用的Extent和總的分配的Extent還是比較接近的。

可以使用sp_helpdb查看數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)文件、日志文件的大小,可以用于備份后文件大小的比較。

EXEC sp_helpdb test

試驗(yàn)樣例

服務(wù)器性能的不同,SQL? Server 版本不同等,都可能影響測(cè)試的結(jié)果,最終性能的影響,取決于您的環(huán)境。

--測(cè)試1:未啟用TDE,不壓縮,不使用備份加密選項(xiàng)

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithOutCom.bak'

WITH STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 126.102 秒(20.357 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 92 毫秒,占用時(shí)間 = 126409 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試2:未啟用TDE,使用COMPRESSION選項(xiàng),使用默認(rèn)最大傳輸大小

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithCom65536.bak'

WITH COMPRESSION

? ? ? ,STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 60.227 秒(42.624 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 173 毫秒,占用時(shí)間 = 60551 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試2-1:未啟用TDE,使用COMPRESSION選項(xiàng),使用默認(rèn)最大傳輸大小

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithCom65536.bak'

WITH COMPRESSION

? ? ? ,MAXTRANSFERSIZE=65536

? ? ? ,STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO


SQL Server 分析和編譯時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 207.799 秒(12.353 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 719 毫秒,占用時(shí)間 = 208160 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試3:未啟用TDE,使用COMPRESSION選項(xiàng),最大傳輸大小設(shè)置為65537

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithCom65537.bak'

WITH COMPRESSION

? ? ? ,MAXTRANSFERSIZE=65537

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 206.892 秒(12.408 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 688 毫秒,占用時(shí)間 = 207270 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試4:未啟用TDE,使用COMPRESSION選項(xiàng),最大傳輸大小設(shè)置為131072

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithCom131072.bak'

WITH COMPRESSION

? ? ? ,MAXTRANSFERSIZE=131072

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 119.628 秒(21.459 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 468 毫秒,占用時(shí)間 = 119980 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試5:未啟用TDE,使用ENCRYPTION選項(xiàng)

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithEncrypt.bak'

WITH ENCRYPTION

? (

? ALGORITHM = AES_256,

? SERVER CERTIFICATE = TestBackOption

? )

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 123.385 秒(20.805 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 235 毫秒,占用時(shí)間 = 123709 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試6:未啟用TDE,使用ENCRYPTION選項(xiàng)

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithEncryptWithComDefault.bak'

WITH ENCRYPTION

? (

? ALGORITHM = AES_256,

? SERVER CERTIFICATE = TestBackOption

? )

? ,COMPRESSION

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 61.778 秒(41.554 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 157 毫秒,占用時(shí)間 = 62138 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試7:未啟用TDE,使用ENCRYPTION選項(xiàng),最大傳輸大小值為65537

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithEncryptWithCom65537.bak'

WITH ENCRYPTION

? (

? ALGORITHM = AES_256,

? SERVER CERTIFICATE = TestBackOption

? )

? ? ? ,COMPRESSION

? ? ? ,MAXTRANSFERSIZE=65537

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 204.448 秒(12.556 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 843 毫秒,占用時(shí)間 = 204873 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試8:未啟用TDE,使用ENCRYPTION選項(xiàng),最大傳輸大小值為131072

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_DisableTDEWithEncryptWithCom131072.bak'

WITH ENCRYPTION

? (

? ALGORITHM = AES_256,

? SERVER CERTIFICATE = TestBackOption

? )

? ? ? ,COMPRESSION

? ? ? ,MAXTRANSFERSIZE=131072

? ? ? , STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 122.020 秒(21.038 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 438 毫秒,占用時(shí)間 = 122384 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試9:?jiǎn)⒂肨DE

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_EnableTDEWithoutCom.bak'

WITH? STATS = 10

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 122.271 秒(20.995 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 142 毫秒,占用時(shí)間 = 122549 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試10:?jiǎn)⒂肨DE,壓縮備份,最大傳輸大小為默認(rèn)值

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_EnableTDEWithCom.bak'

WITH? STATS = 10

? ? ? ,COMPRESSION

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 125.862 秒(20.396 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 219 毫秒,占用時(shí)間 = 126112 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試11:?jiǎn)⒂肨DE,壓縮備份,最大傳輸大小為65537

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_EnableTDEWithCom65537.bak'

WITH? STATS = 10

? ? ? ,COMPRESSION

? ? ? ,MAXTRANSFERSIZE=65537

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

SQL Server 分析和編譯時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 128.927 秒(19.911 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 33766 毫秒,占用時(shí)間 = 129279 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

--測(cè)試12:?jiǎn)⒂肨DE,壓縮備份,最大傳輸大小為131072

DECLARE @bdatetime AS DATETIME= GETDATE()

SET STATISTICS IO ON

SET? STATISTICS TIME ON

BACKUP DATABASE test

TO DISK='D:\Test_EnableTDEWithCom131072.bak'

WITH? STATS = 10

? ? ? ,COMPRESSION

? ? ? ,MAXTRANSFERSIZE=131072

SET STATISTICS IO OFF

SET? STATISTICS TIME OFF

SELECT? @bdatetime, GETDATE(), DATEDIFF(millisecond, @bdatetime, GETDATE())

GO

已處理百分之 10。

已處理百分之 20。

已處理百分之 30。

已處理百分之 40。

已處理百分之 50。

已處理百分之 60。

已處理百分之 70。

已處理百分之 80。

已處理百分之 90。

已為數(shù)據(jù)庫(kù) 'test',文件 'test' (位于文件 1 上)處理了 328592 頁(yè)。

已處理百分之 100。

已為數(shù)據(jù)庫(kù) 'test',文件 'test_log' (位于文件 1 上)處理了 2 頁(yè)。

BACKUP DATABASE 成功處理了 328594 頁(yè),花費(fèi) 105.379 秒(24.360 MB/秒)。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 34499 毫秒,占用時(shí)間 = 105796 毫秒。

?SQL Server 執(zhí)行時(shí)間:

?? CPU 時(shí)間 = 0 毫秒,占用時(shí)間 = 0 毫秒。

(1 行受影響)

————————————————

版權(quán)聲明:本文為CSDN博主「三空道人」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/zhoujunah/article/details/106017259

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容