需要一些帮助,以了解什么是准确分配空间和最大空间。
当它说最大分配空间是500 DB时,这包括数据和日志吗?
如果分配的空间达到最大空间,那么整个空间是否只分配给数据?
我的数据库数据-
基本上,最近我的DB出现了性能问题,对DTU产生了巨大的日志IO影响。
任何在这些线路上的帮助将是非常感谢的!
发布于 2020-05-06 06:31:29
最大文件大小不包括日志大小和XTP文件。为了确定数据库大小,它们也被排除在外。顺便说一下,它们是由SQL的基础结构自动管理的。
根据层的不同,数据库获得特定数量的日志空间。使用vCore,当您设置存储大小时,将为您的日志分配固定空间。例如,如果指定1TB的存储,则为日志分配300 if的内存。
可以通过以下语句验证日志的大小和正在使用的百分比:
DBCC SQLPERF(LOGSPACE)
如果您收到与日志大小相关的错误,请使用以下DMV来监视事务:下面的DMV可用于监视事务: sys.dm_tran_active_transactions、sys.dm_tran_database_transactions、sys.dm_tran_locks、sys.dm_tran_session_transactions。例如,有一些限制:每个事务的日志限制为2GB,超过100万个锁的会话被终止。
未提交的事务可以阻止日志文件的截断。为了防止这种情况,最老的活动事务日志序列号(LSN)到日志尾(当前LSN)的距离不能超过日志文件大小的20%。当违反时,违规事务将被终止并回滚,以便日志可以被截断。
若要避免对行操作进行节流,请减少事务中的数据大小,例如通过减少行数或将操作拆分为多个事务。为了避免需要单个事务的表/索引操作受到限制,请确保遵循以下公式:
表中受影响的行数*(字段的平均大小以字节+80为单位)<2GB
https://stackoverflow.com/questions/61636862
复制相似问题