在Azure SQL中,如果分配的空间等于最大空间,会发生什么情况 - 性能是否受到影响?

问题描述 投票:0回答:1

需要一些帮助来理解到底什么是分配空间和最大空间。

当它说最大分配空间是500 DB时,这是否包括数据和日志?

如果分配的空间达到最大空间,是否整个空间只分配给数据?

我的数据库统计-

  • 二手空间 : 406 GB
  • 拨款 : 500 GB
  • 最多 : 500 GB

基本上,我的DB最近出现了性能问题,巨大的日志IO影响了DTU。

如果有任何关于这方面的帮助,我将非常感激。

azure-sql-database size
1个回答
1
投票

最大文件大小不包括日志大小和XTP文件。在确定数据库大小时,它们也被排除在外。顺便说一下,它们是由SQL Azure的基础设施自动管理的。

根据层级的不同,数据库会获得特定数量的日志空间。 使用vCore,当你设置存储大小时,你将为你的日志分配一个固定的空间。例如,如果您指定1TB的存储空间,您将获得300GB的日志分配。

你可以用下面的语句来验证日志的大小和使用中的百分比。

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) < 2 GB。

© www.soinside.com 2019 - 2024. All rights reserved.