SlideShare uma empresa Scribd logo
1 de 10
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

Mais conteúdo relacionado

Mais procurados

豆瓣网技术架构变迁
豆瓣网技术架构变迁豆瓣网技术架构变迁
豆瓣网技术架构变迁reinhardx
 
统一接入的架构思考
统一接入的架构思考统一接入的架构思考
统一接入的架构思考yang bingwu
 
PostgreSQL 資料可靠性及WAL
PostgreSQL 資料可靠性及WALPostgreSQL 資料可靠性及WAL
PostgreSQL 資料可靠性及WALYen-Wen Chen
 
阿里CDN技术揭秘
阿里CDN技术揭秘阿里CDN技术揭秘
阿里CDN技术揭秘Joshua Zhu
 
Kubernetes use-ceph
Kubernetes use-cephKubernetes use-ceph
Kubernetes use-cephYang Guanjun
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈Tim Y
 
Docker初识
Docker初识Docker初识
Docker初识hubugui
 
对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现Lixun Peng
 
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)Lixun Peng
 
Nginx深度開發與客制化
Nginx深度開發與客制化Nginx深度開發與客制化
Nginx深度開發與客制化Joshua Zhu
 
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局Alex Lau
 
Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Cinder isaci 实现原理详解
Cinder isaci 实现原理详解Yong Luo
 
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践jackbillow
 
从开发到上线-实战持续交付
从开发到上线-实战持续交付从开发到上线-实战持续交付
从开发到上线-实战持续交付LI Daobing
 
Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Cephfs架构解读和测试分析
Cephfs架构解读和测试分析Yang Guanjun
 
易度云查看 - 产品介绍
易度云查看 - 产品介绍易度云查看 - 产品介绍
易度云查看 - 产品介绍changxing qi
 
Caching in HTTP
Caching in HTTPCaching in HTTP
Caching in HTTP家弘 周
 

Mais procurados (20)

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

Destaque

X document xpath 小發現
X document xpath 小發現X document xpath 小發現
X document xpath 小發現LearningTech
 
20131104 basic msbuild by Anney
20131104 basic msbuild by Anney20131104 basic msbuild by Anney
20131104 basic msbuild by AnneyLearningTech
 
Observer pattern, delegate, event, lambda expression
Observer pattern, delegate, event, lambda expressionObserver pattern, delegate, event, lambda expression
Observer pattern, delegate, event, lambda expressionLearningTech
 
Yield howar 20130607d
Yield howar 20130607dYield howar 20130607d
Yield howar 20130607dLearningTech
 

Destaque (6)

X document xpath 小發現
X document xpath 小發現X document xpath 小發現
X document xpath 小發現
 
20131104 basic msbuild by Anney
20131104 basic msbuild by Anney20131104 basic msbuild by Anney
20131104 basic msbuild by Anney
 
Observer pattern, delegate, event, lambda expression
Observer pattern, delegate, event, lambda expressionObserver pattern, delegate, event, lambda expression
Observer pattern, delegate, event, lambda expression
 
Html basic
Html basicHtml basic
Html basic
 
Yield howar 20130607d
Yield howar 20130607dYield howar 20130607d
Yield howar 20130607d
 
Peggy optimist
Peggy   optimistPeggy   optimist
Peggy optimist
 

Semelhante a Sql server 交易機制與 log

賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報Wales Chen
 
Track1dongsiying4
Track1dongsiying4Track1dongsiying4
Track1dongsiying4drewz lin
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
云端的数据库
云端的数据库云端的数据库
云端的数据库thinkinlamp
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性Xuefeng Zhang
 
MySQL自动切换设计与实现
MySQL自动切换设计与实现MySQL自动切换设计与实现
MySQL自动切换设计与实现orczhou
 
主库自动切换 V2.0
主库自动切换 V2.0主库自动切换 V2.0
主库自动切换 V2.0jinqing zhu
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多ITband
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面Tianwei Liu
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)Feng Yu
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践锐 张
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1medcl
 
Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Q con shanghai2013-[刘海锋]-[京东文件系统简介]
Q con shanghai2013-[刘海锋]-[京东文件系统简介]Michael Zhang
 
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦
SRE 讀書會 Round 4 #37 - DNS 時快時慢,我該怎麼辦HanLing Shen
 

Semelhante a Sql server 交易機制與 log (20)

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

Mais de LearningTech

Mais de LearningTech (20)

vim
vimvim
vim
 
PostCss
PostCssPostCss
PostCss
 
ReactJs
ReactJsReactJs
ReactJs
 
Docker
DockerDocker
Docker
 
Semantic ui
Semantic uiSemantic ui
Semantic ui
 
node.js errors
node.js errorsnode.js errors
node.js errors
 
Process control nodejs
Process control nodejsProcess control nodejs
Process control nodejs
 
Expression tree
Expression treeExpression tree
Expression tree
 
SQL 效能調校
SQL 效能調校SQL 效能調校
SQL 效能調校
 
flexbox report
flexbox reportflexbox report
flexbox report
 
Vic weekly learning_20160504
Vic weekly learning_20160504Vic weekly learning_20160504
Vic weekly learning_20160504
 
Reflection & activator
Reflection & activatorReflection & activator
Reflection & activator
 
Peggy markdown
Peggy markdownPeggy markdown
Peggy markdown
 
Node child process
Node child processNode child process
Node child process
 
20160415ken.lee
20160415ken.lee20160415ken.lee
20160415ken.lee
 
Peggy elasticsearch應用
Peggy elasticsearch應用Peggy elasticsearch應用
Peggy elasticsearch應用
 
Expression tree
Expression treeExpression tree
Expression tree
 
Vic weekly learning_20160325
Vic weekly learning_20160325Vic weekly learning_20160325
Vic weekly learning_20160325
 
D3js learning tips
D3js learning tipsD3js learning tips
D3js learning tips
 
git command
git commandgit command
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

Notas do Editor

  1. {}