【发布时间】:2018-09-25 10:36:54
【问题描述】:
当我尝试从应用程序或直接 sql server 数据库更新或插入多行时,我收到如下错误。
Msg 1132, Level 16, State 1, Line 1 弹性池已达到 存储限制。弹性池的存储使用量不能超过 (204800) MB。
我不知道如何处理。请帮忙。
【问题讨论】:
标签: sql-server azure-sql-database
当我尝试从应用程序或直接 sql server 数据库更新或插入多行时,我收到如下错误。
Msg 1132, Level 16, State 1, Line 1 弹性池已达到 存储限制。弹性池的存储使用量不能超过 (204800) MB。
我不知道如何处理。请帮忙。
【问题讨论】:
标签: sql-server azure-sql-database
您应该主动检查数据库的当前大小配额,以确保其设置符合预期。为此,可以在目标数据库的上下文中使用以下语句:
SELECT DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes');
若要解决此问题,请使用 ALTER DATABASE ... MODIFY (MAXSIZE = ...) 命令显式更改配额以匹配最大值,如上所示(除非较低的配额是希望保证将来能够按比例缩小)。更改以在线方式执行。
ALTER DATABASE DB1 MODIFY (MAXSIZE = 10 GB);
在this 文档中,您将找到一个表格,其中显示了每个服务层的可用资源,包括最大存储空间。
【讨论】:
插入数据时出错:“弹性池已达到其存储限制。弹性池的存储使用量不能超过 (153600) MB”
按比例放大缩小数据库并不能修复错误。
池从 100GB 扩展到 150GB。错误中所述的大小为 153.6GB。将弹性池扩展到 250GB。数据插入成功。出于成本考虑,已缩减至 100GB,插入仍然有效。
扩大弹性池(超出错误消息中的限制)并缩小规模解决了该问题。
【讨论】:
收缩数据库可以被视为中间解决方案,因为这将释放分配的空间。
DBCC SHRINKDATABASE ('DB-Name', 10);
【讨论】: