解决全局活动表的问题

为具有子表的表创建区域副本时出错:

无法为具有子表的表创建区域副本,因为全局活动表当前不支持子表。

解决添加区域副本时出现的问题:

  1. 指定不正确的区域时出错:
    如果在区域表副本的 SDK API 调用中指定的区域名称不正确,则会出现以下错误。您需要指定另一个有效区域。
    Adding replica: ca-montral-1
    java.lang.IllegalArgumentException: ADD_REPLICA: Illegal Argument: 
    ca-montral-1 isn't known to this service, and is not a valid region name
  2. 在不冻结方案的情况下创建区域表副本时出错:

    您需要先冻结表的方案,然后再创建表的区域副本。创建区域副本时,表的方案不能处于可变状态。

  3. 为始终免费的表创建区域副本时出错:

    始终免费的表无法转换为全局活动表。

解决冻结方案时出现的问题:

由于缺少 JSON 字段而出错:

冻结方案时出现常见错误(如下所示),即方案中缺少 JSON 字段。该表应至少包含一个 JSON 字段。
The table's schema can't be frozen, because it does not contain a 
column of type JSON.

对全局活动表的用户权限问题进行故障排除

跨区域/副本的用户权限不同:在一个区域中创建全局活动表并将其复制到其他区域时,可能会出现错误,并且跨区域创建/更改表/读取表的用户权限不同。您可以在以下情况之一中收到错误:
  • 接收方区域中的用户没有 NOSQL_TABLE_INSPECT 权限
  • 接收方区域中的用户没有 NOSQL_TABLE_READ 权限
  • 接收方区域中的用户没有 NOSQL_TABLE_ALTER 权限
  • 接收方区域中的用户没有 NOSQL_TABLE_CREATE 权限
  • 如果租户在发件人区域或接收者区域中读/写/存储容量不足。
  • 如果租户在发件人区域或接收者区域中已达到 MAX_TABLES。

解决更改全局活动表的问题

  1. 在冻结表后更改表方案时出错:
    如果尝试通过添加列或删除现有列来更改全局活动表的定义,则会收到如下所示的错误。这是因为全局活动表的方案已冻结且无法更改。
    Columns can't be added, because the table's schema is frozen.
  2. 删除全局活动表而不删除所有区域副本时出错:
    仅当当前没有区域表副本时,才能删除全局活动表。否则,将出现如下所示的错误。在删除表之前,应先删除区域副本。
    The table named <tbl_name> can't be deleted, because it belongs to a set of replicas. 
    A replica table cannot be deleted before its replicas are deleted.
  3. 将具有副本的全局活动表的模式状态更改为“可变”时出错:
    无法解冻全局活动表的方案,并在添加区域副本时将其更改为可变表。相应的错误如下所示。您应删除所有区域表副本,然后可以解冻方案。
    The table's schema can't be unfrozen, because it is a global active table with
    replicas.