标签如何与 Snowflake 功能交互¶
复制¶
功能支持的区域
此功能在中华人民共和国不可用。
标签及其分配可以从源账户复制到目标账户。
从源账户进行初始复制后,无法在目标账户中修改标签分配。例如,不允许在辅助(即复制的)数据库上设置标签。要在目标账户中修改标签分配,请在源账户中修改这些分配,然后将它们复制到目标账户。
对于 数据库复制,如果满足以下任一条件,则复制操作会失败:
主数据库位于 Enterprise(或更高版本)的账户中,包含标签在内,但批准复制的一个或多个账户的版本较低。
主数据库中包含的对象可对其他数据库中的标签进行 悬空引用。
若要避免出现悬空引用错误,请使用 复制或故障转移组 来复制数据库和账户级对象。确保复制组包括:
在
ALLOWED_DATABASES
属性中包含标签的数据库。在
OBJECT_TYPES
属性中具有标签的其他账户级对象,例如ROLES
、WAREHOUSES
。有关详细信息,请参阅 CREATE REPLICATION GROUP 和 CREATE FAILOVER GROUP。
备注
使用复制和故障转移组或数据库复制时:
故障转移/故障恢复功能仅适用于 Business Critical Edition(或更高版本)的 Snowflake 账户。
有关更多信息,请参阅 跨多个账户的复制和故障转移简介。
如果在 ALTER DATABASE 语句或 OR CREATE ALTER 语句(针对复制或故障转移组)中为数据库复制指定了
IGNORE EDITION CHECK
子句,则在目标账户的版本低于 Business Critical 时,可能会发生标签复制。有关详细信息,请参阅这些命令中的子句说明。
克隆¶
源对象(例如表)中的标签关联保存在克隆的对象中。
对于数据库或架构:
也会克隆存储在该数据库或架构中的标签。
克隆数据库或架构时,也会克隆保留在该架构或数据库中的标签。
如果表或视图存在于源架构/数据库中,并且引用了同一架构或数据库中的标签,则克隆的表或视图将映射到相应的克隆标签(在目标架构/数据库中),而不是源架构或数据库中的标签。
数据共享¶
在共享视图和标签存在于不同数据库中时,将对于包含标签的数据库的 REFERENCE_USAGE 权限授予共享。有关信息,请参阅 共享多个数据库中的数据。
在数据共享使用者账户中:
执行 SHOW TAGS 命令返回共享标签,前提是执行 SHOW TAGS 命令的角色具有包含共享标签的架构的 USAGE 权限。
如果提供商将标签的 READ 权限授予共享或共享数据库角色,则使用者可以查看共享标签的标签分配。有关信息,请参阅 共享标签引用。
如果将来自数据共享提供商账户的标签分配给共享表,则数据共享使用者无法调用 SYSTEM$GET_TAG 函数或 TAG_REFERENCES Information Schema 表函数来查看标签分配。