AWS RDS .NET SDK ModifyDBInstance 不适用于 SQL Server 引擎

AWS RDS .NET SDK ModifyDBInstance 不适用于 SQL Server 引擎

我在用着此 AWS .Net SDK 函数修改 SQL Server 数据库实例。我没有尝试更新存储容量,因为我知道在 SQL Server 上无法做到这一点。但是,任何修改其他字段的调用都会失败,并出现以下错误:

无法修改具有此引擎的数据库实例的 AllocatedStorage:sqlserver-ex

我甚至没有在 ModifyDBInstanceRequest 对象上设置 AllocatedStorage 属性,但由于它是 int 类型,因此它默认为 0。

我可以成功修改具有相同功能的 MySQL 数据库引擎。

这是我正在使用的代码。

ModifyDBInstanceRequest request = new ModifyDBInstanceRequest();
if (storageAllocation.HasValue) { request.AllocatedStorage = (int)storageAllocation; }
request.MasterUserPassword = masterUserPassword;
//all the other request values...
ModifyDBInstanceResponse response = ConnectionCache.GetRDSClient(awsCredential).ModifyDBInstance(request);

答案1

对于请求对象的“查看者”,AllocatedStorage默认情况下可能显示为 0,但内部有一个“已设置”值 false。这意味着在结构中它是 0,但在请求期间不会发送。

即使您没有更改分配的存储,如果您设置了该AllocatedStorage值,SDK 也会将其解释为尝试更改并失败。

您必须完全避免将该AllocatedStorage属性设置为任何值,即使是与 RDS 实例上当前分配的存储匹配的值。

相关内容