Md *_*han -1 backup restore sql-server-2012 transaction-log
我想说的是,在将 MS SQL Server 2012 Enterprise 迁移到 MS SQL Server 2012 Express 之后。我已经看到 DB 备份大小以及所有数据库的“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)
Run Code Online (Sandbox Code Playgroud)
2) 从 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)
Run Code Online (Sandbox Code Playgroud)
3) 经过几天的工作,我在 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”一致性。
5) 从这个 TSQL 检查“第一个 LSN”和“最后一个 LSN”并记录 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'
Run Code Online (Sandbox Code Playgroud)
-- 以上 3 个数据库备份已在 Enterprise 中进行(截至 23/12/2015)--
具体内容分别在databse 1~3中。
BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN
243532800 571000000388500000 571000000390600000 571000000388500000 571000000372500000
92480512 671000000080800000 671000000082900000 671000000080800000 671000000064900000
57824256 495000000001600000 495000000002600000 495000000001600000 494000000027300000
Run Code Online (Sandbox Code Playgroud)
并且还检查了所有 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'
Run Code Online (Sandbox Code Playgroud)
具体内容分别在databse 1~3中。
BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN
243401728 571000000558800000 571000000560900000 571000000558800000 571000000478100000
91956224 674000000027800000 674000000029900000 674000000027800000 672000000043600000
57627648 498000000013500000 498000000016700000 498000000013500000 496000000028600000
Run Code Online (Sandbox Code Playgroud)
对于所有 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
Run Code Online (Sandbox Code Playgroud)
在这里,我采用了 TSQL 查询结果的一些细节来了解 DatabaseSize 和'First LSN' & 'Last LSN'。上表中有各自的数据库比较结果,您可以在表中看到。
希望我清楚地理解你。我的意思是说关于所有 3 个数据库的日志序列号检查。
我怎么能理解我已经用一致的“LSN”恢复了我的数据库。
任何建议将不胜感激。
假设迁移到 Express Edition 后没有发生显着的数据量变化,那么最简单的解释就是备份压缩。Express Edition 不支持备份压缩。此外,您可能已经在企业服务器上利用它,甚至没有注意到它是否默认启用。
归档时间: |
|
查看次数: |
100 次 |
最近记录: |