Sql-Server-2012

從 SQL Server 2012 Exterprise 遷移到 SQL Server 2012 Express 後,數據庫 BackupSize 已更改

  • January 4, 2016

我想說的是,在將 MS SQL Server 2012 Enterprise 遷移到 MS SQL Server 2012 Express 之後。我已經看到數據庫備份大小以及所有數據庫的**“LSN”存在一些細微的差異。**

讓我們從頭開始,我將一步一步地寫下來。我在從 MS SQL Server 2012 Enterprise 遷移到 MS SQL Server 2012 Express 的過程中做了什麼。

  1. 我已於 2015 年 12 月 23 日在 MS SQL Server 2012 Enterprise 中備份了所有 3 個審計數據庫。MS SQL Server 2012 企業版是
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 
   Oct 19 2012 13:38:57 
   Copyright (c) Microsoft Corporation
   Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
  1. 從 MS SQL Server 2012 Enterprise 成功遷移到 MS SQL Server 2012 Express 後。恢復了 MS SQL Server 2012 Express 中的所有 3 個數據庫。截至 2015 年 12 月 24 日,所有 3 個數據庫都已成功恢復。MS SQL Server 2012 Express 版本是
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 
       Oct 19 2012 13:38:57 
       Copyright (c) Microsoft Corporation
       Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
  1. 經過幾天的工作,我已於 2015 年 12 月 31 日對 MS SQL Server 2012 Express 中的所有 3 個審核數據庫進行了完整備份。

4)我自己用“LSN”和DatabaseSize檢查數據庫的一致性。我瀏覽過很多 SQL 部落格以及 MSDN BOL。並找出鏈中缺少的事務日誌,可以跳過http://blogs.msdn.com/b/sqlserverfaq/archive/2010/08/26/transaction-log-backup-and-restore-sequence-myths- amp-truths.aspx用於檢查日誌鏈的“LSN”一致性。

  1. FROM This TSQL to check ‘first LSN’ and ‘Last LSN’ and log swquence
Restore headeronly from disk =N'C:\Backup\AuditDatabase1_23122015.bak'
Restore headeronly from disk =N'C:\Backup\AuditDatabase2_23122015.bak'
Restore headeronly from disk =N'C:\Backup\AuditDatabase3_23122015.bak'

– 以上 3 個數據庫備份已在 Enterprise 中進行(截至 2015 年 12 月 23 日)–

具體從數據庫 1 到 3 分別如下。

BackupSize  FirstLSN               LastLSN        CheckpointLSN       DatabaseBackupLSN
243532800   571000000388500000  571000000390600000  571000000388500000  571000000372500000
92480512    671000000080800000  671000000082900000  671000000080800000  671000000064900000
57824256    495000000001600000  495000000002600000  495000000001600000  494000000027300000

並且還檢查了所有 3 個審計數據庫的 Express 完整備份,我在 2015 年 12 月 31 日進行了完整備份

Restore headeronly from disk =N'C:\Backup\AuditDatabase1_31122015.bak'
Restore headeronly from disk =N'C:\Backup\AuditDatabase2_31122015.bak'
Restore headeronly from disk =N'C:\Backup\AuditDatabase3_31122015.bak'

具體從數據庫 1 到 3 分別如下。

BackupSize  FirstLSN               LastLSN        CheckpointLSN       DatabaseBackupLSN
243401728   571000000558800000  571000000560900000  571000000558800000  571000000478100000

91956224    674000000027800000  674000000029900000  674000000027800000  672000000043600000

57627648    498000000013500000  498000000016700000  498000000013500000  496000000028600000

對於所有 3 個數據庫組合,我正在編寫詳細資訊。如下

Databases Backup in   BackupSize  FirstLSN               LastLSN        CheckpointLSN       DatabaseBackupLSN
    (1 DB in Enterprise)   243532800   571000000388500000  571000000390600000  571000000388500000  571000000372500000
     (1 DB in Express)     243401728   571000000558800000  571000000560900000  571000000558800000  571000000478100000


   (2 in Enterprise)       92480512    671000000080800000  671000000082900000  671000000080800000  671000000064900000
   (2 in Express)          91956224    674000000027800000  674000000029900000  674000000027800000  672000000043600000


    (3 in Enterprise)      57824256    495000000001600000  495000000002600000  495000000001600000  494000000027300000
     (3 in Express)        57627648    498000000013500000  498000000016700000  498000000013500000  496000000028600000

在這裡,我採用了 TSQL 查詢結果的一些細節來了解 DatabaseSize 和**‘First LSN’** & ‘Last LSN’。在上表中有各自的數據庫比較結果,您可以在表中看到。

希望我清楚地理解你。我的意思是說關於所有 3 個數據庫的日誌序列號檢查。

我怎麼能理解我已經用一致的“LSN”恢復了我的數據庫。

任何建議將不勝感激。

假設遷移到 Express Edition 後數據量沒有發生重大變化,那麼最簡單的解釋就是備份壓縮Express Edition 不支持備份壓縮。此外,如果預設啟用它,您可能已經在企業伺服器上使用它,甚至沒有註意到。

您報告的範例和數據不足以回答您的問題,但您可以考慮以下幾點:

  • 執行備份時,您必須確定數據庫中保留的空間量。您可以執行以下操作獲得此大小:

使用 exampledb GO EXEC sp_spaceused @updateusage = ’true’

在命令的輸出中,您可以閱讀一個名為“reserved”的部分。這是您數據庫中數據的實際大小。您的備份 p 的大小將達到這個大小。

  • 此外,您還必須考慮完整備份中包含的事務日誌記錄:數據庫備份中包含的日誌的起始 LSN 是以下各項中的最小值:最後一個檢查點的 LSN,最早的活動事務開始的 LSN,最舊的活動事務的 LSN最後複製的事務。這可以修改備份的大小。

引用自:https://dba.stackexchange.com/questions/125058