Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在读提交的快照隔离下,tempdb未增长

在读提交的快照隔离下,tempdb未增长
EN

Stack Overflow用户
提问于 2019-04-14 19:18:15
回答 2查看 474关注 0票数 1

为了消除死锁(由索引视图引入),我尝试在sql server中使用RCSI。我通过以下方式启用此模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER DATABASE MyDatabase SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE MyDatabase SET ALLOW_SNAPSHOT_ISOLATION ON

并验证它是通过以下方式设置的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DBCC useroptions  

SELECT * FROM sys.databases 

我的数据库中有8个临时数据库,它们被设置为自动增加64 MB。在接收了数千条记录之后,我没有看到tempdb有任何增长。根据文档,RCSI大量使用tempdb并显著增加了它的大小。我预计tempdb会有一些增长。跟踪1117,1118也打开了。但tempdb大小没有增加。我尚未为Tempddb数据库启用允许快照隔离。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-04-14 19:25:36

基于文档的

大量使用临时数据库并显著增加了它的大小。

关于RCSI有很多毫无根据的担忧。如果表上有触发器,则仅插入create row versions。

票数 2
EN

Stack Overflow用户

发布于 2019-09-26 19:16:56

来自BOL

启用快照隔离级别后,每次更新行时,SQL Server数据库引擎都会在tempdb中存储原始行的副本,并向该行添加事务序列号。

这意味着如果您正在更新一行,那么一行将被放入TempDB,如果您正在更改或更新整个表,则整个表都将被放入TempDB。因此,您的特定工作负载完全有可能不需要在TempDB中对大量数据进行版本控制。为了避免这个问题,我需要在大型更新期间大幅增加TempDB的大小(或者关闭RSCI)。

question还讨论了使用TempDB时需要考虑的许多事项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55679129

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文