惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
Jina AI
Jina AI
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
V
V2EX
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
F
Full Disclosure
Y
Y Combinator Blog
V
V2EX - 技术
Attack and Defense Labs
Attack and Defense Labs
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
SecWiki News
SecWiki News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
量子位
PCI Perspectives
PCI Perspectives
S
Secure Thoughts
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
K
Kaspersky official blog
B
Blog
A
Arctic Wolf
Hacker News: Ask HN
Hacker News: Ask HN
L
LangChain Blog
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
D
Docker
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
The Last Watchdog
The Last Watchdog
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy International News Feed
Simon Willison's Weblog
Simon Willison's Weblog

博客园 - 东哥技术专栏 - Coldwine's Blog

转: SQL Server Analysis Service中Cube的结构 Cannot connect to an Analysis Services named instance after installing SQL Server Express 今天遇到一个问题才知道如果安装了命名实例 SSIS Service 需要手动更改配置文件 Data Mining Tutorial数据挖掘教程 (PART-1) 一些关于“数据挖掘介”技术的有用文档 The Fundamentals of the SQL Server 2005 XML Datatype SSL协议与数字证书原理 (ZT) PKI 技术白皮书 (ZT) Windows 2000 公钥基础结构详解 (ZT) SQL Server 2000 之前的版本号对照表 关于 c# 的 Partial Class 关于ASP.NET CS1595 问题 开发人员的十种必备工具 ASP.NET中的状态管理 ASP.NET中编程杀死进程 关于SqlDataReader一些用法 使用附属程序集的一些经验 使用C#建立WINDOWS服务 . Net环境下消息队列(MSMQ)对象的应用
SQL Server Transactional Replication 中的 CommitBatchSize 和 CommitBatchThreshold 属性
东哥技术专栏 - Coldwine's Blog · 2009-08-11 · via 博客园 - 东哥技术专栏 - Coldwine's Blog

最近遇到一个在SQL Server transactional replication 里关于CommitBatchSize 和CommitBatchThreshold设置的问题,BOL里面的解释很含糊:

  • CommitBatchSize “Is the number of transactions to be issued to the Subscriber before a COMMIT statement is issued. The default is 100.”
  • CommitBatchThreshold “Is the number of replication commands to be issued to the Subscriber before a COMMIT statement is issued. The default is 1000.”

有一个老外做了详细的测试结果总结了关于这两个属性的作用,详情见:
http://kendalvandyke.blogspot.com/2008/11/how-commitbatchsize-and.html

根据我自己的分析,这两个属性的作用如下:

  1. Distrabution Agent 将所有单条命令作为一个单位,CommitBatchThreshold和CommitBatchSize 是以单条命令数为标准
  2. 如果一个语句更新N条记录,这条语句视为在一个transaction中。但是命令数为N。
  3. 如果命令在一个transaction中,不考虑CommitBatchSize ,只考虑CommitBatchThreshold。
  4. 单个transaction不会被拆分成多个,就算单个transaction中的命令数超过CommitBatchThreshold。
  5. 如果提交多个transaction,第一个transaction 的命令数没有超出CommitBatchThreshold,则第二个transaction 会被合并如第一个。如果合并后的命令数超出CommitBatchThreshold,则不继续合并,但是前两个transactions照样提交。
  6. 如果命令不在一个transaction中,按照CommitBatchSize的设定将一定数量的命令合并成一个transaction。
  7. 如果CommitBatchSize的值大于CommitBatchThreshold,一个CommitBatchSize的transaction会被进一步拆分成两个,比如CommitBatchSize=5,CommitBatchThreshold=3,总命令数为10,会如下打包 4,1,4,1。为什么会出现4,请参见第5条,因为第一个包的命令数在向后合并中到第四个命令才超过CommitBatchThreshold。于是一个CommitBatchSize的transaction 被分成两个 4,1。