SlideShare a Scribd company logo
SQL Server 交易機制與
Log
By Jax
UPDATE Command Progress
• 從 mdf 讀取資料
• 將執行動作寫入 ldf
• 待下次 CheckPoint 將資料寫入 mdf
Recovery Progress
Recovery 的時機
• 資料庫從離線轉成線上
• 附加資料庫
• 還原資料庫
• 服務停止重起 / 叢集容錯移轉
交易紀錄檔應該放哪?
• 專用的 LUN 通常是較好的選項
• 如果存取量高,需要專屬的磁碟系統
• RAID 1 或 RAID 10 提供保護與效能
• RAID 5 通常不利於更新

• 儘量不要與其他檔案共用

• 不同的檔案放在一起存取,大家都變成隨機存取
Checkpoint
• 確保 Recovery 的 Redo 階段最少工作量
• 將更新過的資料頁 (dirty page) 寫入到磁碟內的資料檔
• 不管交易狀態如何,將所有的 dirty page 寫入到資料檔

• 可能造成大量的 I/O
• 不會從 Buffer pool 移除資料頁

• 當有記憶體壓力時, Lazy Writer 執行此工作
Checkpoint 相關選項
• 搭配 sp_configure 設定執行個體
• recovery interval 選項

• SQL Server 2012 後可設定資料庫層級
• Target_Recovery_Time 選項
Recovery Model
• Simple

• 自動收回記錄空間,使空間需求保持在最低。
• Checkpoint 發生時清掉交易紀錄
• 不支援下列功能:
•
•
•
•

記錄傳送
AlwaysOn 或資料庫鏡像
媒體復原而不遺失資料
時間點還原

• Full
•
•
•
•

不因損失或損毀資料檔而失去任何工作。
備份交易紀錄後清掉交易紀錄
所有的行為都有完整的紀錄
預設值

• Bulk logged

• 完整復原模式的輔助,允許執行高效能的大量複製作業。
• 備份交易紀錄後清掉交易紀錄
• 部分動作可以使用最少量的交易紀錄
Reference
• Recovery Model
• http://msdn.microsoft.com/en-us/library/ms189275.aspx
• http://technet.microsoft.com/en-us/library/ms189573.aspx
• http://technet.microsoft.com/en-us/library/ms191455(v=sql.105).aspx
Reference
• Recovery Model
• http://msdn.microsoft.com/en-us/library/ms189275.aspx
• http://technet.microsoft.com/en-us/library/ms189573.aspx
• http://technet.microsoft.com/en-us/library/ms191455(v=sql.105).aspx

More Related Content

PDF
Bypat博客出品-服务器运维集群方法总结2
PDF
Level db
PDF
Bypat博客出品-服务器运维集群方法总结
PDF
Leveldb background
PDF
Google LevelDB Study Discuss
PDF
Hacking Nginx at Taobao
PDF
吴岷 视频Cdn分发、调度与服务的探讨
PDF
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结2
Level db
Bypat博客出品-服务器运维集群方法总结
Leveldb background
Google LevelDB Study Discuss
Hacking Nginx at Taobao
吴岷 视频Cdn分发、调度与服务的探讨
Bypat博客出品-服务器运维集群方法总结3

What's hot (20)

PDF
豆瓣网技术架构变迁
PDF
Ceph intro
PDF
统一接入的架构思考
PDF
PostgreSQL 資料可靠性及WAL
PDF
阿里CDN技术揭秘
PDF
Ceph perf-tunning
PDF
Kubernetes use-ceph
PDF
分布式Key Value Store漫谈
PDF
Docker初识
PPTX
对MySQL的一些改进想法和实现
PDF
MySQL多机房容灾设计(with Multi-Master)
PDF
Nginx深度開發與客制化
PPTX
應用Ceph技術打造軟體定義儲存新局
PDF
Cinder isaci 实现原理详解
PDF
基于MySQL的分布式数据库实践
PDF
Mesos intro
PDF
从开发到上线-实战持续交付
PDF
Cephfs架构解读和测试分析
PDF
易度云查看 - 产品介绍
PDF
Caching in HTTP
豆瓣网技术架构变迁
Ceph intro
统一接入的架构思考
PostgreSQL 資料可靠性及WAL
阿里CDN技术揭秘
Ceph perf-tunning
Kubernetes use-ceph
分布式Key Value Store漫谈
Docker初识
对MySQL的一些改进想法和实现
MySQL多机房容灾设计(with Multi-Master)
Nginx深度開發與客制化
應用Ceph技術打造軟體定義儲存新局
Cinder isaci 实现原理详解
基于MySQL的分布式数据库实践
Mesos intro
从开发到上线-实战持续交付
Cephfs架构解读和测试分析
易度云查看 - 产品介绍
Caching in HTTP
Ad

Viewers also liked (6)

PPTX
X document xpath 小發現
PPTX
20131104 basic msbuild by Anney
PPTX
Observer pattern, delegate, event, lambda expression
PPTX
Html basic
PPTX
Yield howar 20130607d
PPTX
Peggy optimist
X document xpath 小發現
20131104 basic msbuild by Anney
Observer pattern, delegate, event, lambda expression
Html basic
Yield howar 20130607d
Peggy optimist
Ad

Similar to Sql server 交易機制與 log (20)

PPTX
賽門鐵克 Storage Foundation 6.0 簡報
PDF
Track1dongsiying4
PPTX
Nosql三步曲
PPTX
云端的数据库
PDF
Oracle 資料庫建立
PPTX
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
PDF
主库自动切换 V2.0
PDF
MySQL自动切换设计与实现
PDF
利用统一存储获得无与伦比的速度,简化系统,并节省更多
PDF
開發環境建置
PPT
Mr&ueh数据库方面
PPTX
MySQL和IO(下)
PDF
基于My sql的分布式数据库实践
PDF
Linux File system
PDF
ElasticSearch Training#2 (advanced concepts)-ESCC#1
PDF
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
PPT
Oracle dgha
PPTX
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
PPTX
Kafka in Depth
賽門鐵克 Storage Foundation 6.0 簡報
Track1dongsiying4
Nosql三步曲
云端的数据库
Oracle 資料庫建立
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
主库自动切换 V2.0
MySQL自动切换设计与实现
利用统一存储获得无与伦比的速度,简化系统,并节省更多
開發環境建置
Mr&ueh数据库方面
MySQL和IO(下)
基于My sql的分布式数据库实践
Linux File system
ElasticSearch Training#2 (advanced concepts)-ESCC#1
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Oracle dgha
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
Kafka in Depth

More from LearningTech (20)

PPTX
PPTX
PostCss
PPTX
ReactJs
PPTX
Docker
PPTX
Semantic ui
PPTX
node.js errors
PPTX
Process control nodejs
PPTX
Expression tree
PPTX
SQL 效能調校
PPTX
flexbox report
PPTX
Vic weekly learning_20160504
PPTX
Reflection & activator
PPTX
Peggy markdown
PPTX
Node child process
PPTX
20160415ken.lee
PPTX
Peggy elasticsearch應用
PPTX
Expression tree
PPTX
Vic weekly learning_20160325
PPTX
D3js learning tips
PPTX
git command
PostCss
ReactJs
Docker
Semantic ui
node.js errors
Process control nodejs
Expression tree
SQL 效能調校
flexbox report
Vic weekly learning_20160504
Reflection & activator
Peggy markdown
Node child process
20160415ken.lee
Peggy elasticsearch應用
Expression tree
Vic weekly learning_20160325
D3js learning tips
git command

Sql server 交易機制與 log

  • 2. UPDATE Command Progress • 從 mdf 讀取資料 • 將執行動作寫入 ldf • 待下次 CheckPoint 將資料寫入 mdf
  • 4. Recovery 的時機 • 資料庫從離線轉成線上 • 附加資料庫 • 還原資料庫 • 服務停止重起 / 叢集容錯移轉
  • 5. 交易紀錄檔應該放哪? • 專用的 LUN 通常是較好的選項 • 如果存取量高,需要專屬的磁碟系統 • RAID 1 或 RAID 10 提供保護與效能 • RAID 5 通常不利於更新 • 儘量不要與其他檔案共用 • 不同的檔案放在一起存取,大家都變成隨機存取
  • 6. Checkpoint • 確保 Recovery 的 Redo 階段最少工作量 • 將更新過的資料頁 (dirty page) 寫入到磁碟內的資料檔 • 不管交易狀態如何,將所有的 dirty page 寫入到資料檔 • 可能造成大量的 I/O • 不會從 Buffer pool 移除資料頁 • 當有記憶體壓力時, Lazy Writer 執行此工作
  • 7. Checkpoint 相關選項 • 搭配 sp_configure 設定執行個體 • recovery interval 選項 • SQL Server 2012 後可設定資料庫層級 • Target_Recovery_Time 選項
  • 8. Recovery Model • Simple • 自動收回記錄空間,使空間需求保持在最低。 • Checkpoint 發生時清掉交易紀錄 • 不支援下列功能: • • • • 記錄傳送 AlwaysOn 或資料庫鏡像 媒體復原而不遺失資料 時間點還原 • Full • • • • 不因損失或損毀資料檔而失去任何工作。 備份交易紀錄後清掉交易紀錄 所有的行為都有完整的紀錄 預設值 • Bulk logged • 完整復原模式的輔助,允許執行高效能的大量複製作業。 • 備份交易紀錄後清掉交易紀錄 • 部分動作可以使用最少量的交易紀錄
  • 9. Reference • Recovery Model • http://msdn.microsoft.com/en-us/library/ms189275.aspx • http://technet.microsoft.com/en-us/library/ms189573.aspx • http://technet.microsoft.com/en-us/library/ms191455(v=sql.105).aspx
  • 10. Reference • Recovery Model • http://msdn.microsoft.com/en-us/library/ms189275.aspx • http://technet.microsoft.com/en-us/library/ms189573.aspx • http://technet.microsoft.com/en-us/library/ms191455(v=sql.105).aspx

Editor's Notes