适用于:
Databricks SQL
Databricks Runtime 16.1 及更高版本
在目录、架构、表、视图、卷、列、函数或外部元数据对象上设置标记。
Important
在 外部元数据 对象上设置标记是公共预览版,需要 Databricks Runtime 18.2 或更高版本。
要将标记添加到 Unity Catalog 安全对象,必须拥有该对象或具有以下所有特权:
- 对象上的
APPLY TAG权限 - 对象父架构上的
USE SCHEMA权限 - 对象父目录上的
USE CATALOG权限
外部元数据对象不包含在目录或架构中,因此USE CATALOGUSE SCHEMA不适用。
如果标记受管理,则还需要ASSIGN对受管理标记拥有权限
语法
SET TAG ON
{ CATALOG catalog_name |
COLUMN relation_name . column_name |
EXTERNAL METADATA external_metadata_name |
{ FUNCTION | PROCEDURE } function_name |
{ SCHEMA | DATABASE } schema_name |
TABLE relation_name |
VIEW relation_name |
VOLUME volume_name }
tag_key [ = tag_value ]
参数
CATALOG catalog_name
要标记的目录名称。
COLUMN relation_name。 column_name
要标记的列的限定名称。
relation_name必须标识视图或表。relation_name不得包含 时态规范或选项规范。外部元数据external_metadata_name
要标记 的外部元数据 对象的名称。
{ FUNCTION | PROCEDURE }function_name要标记的函数或过程的名称。
FUNCTION和PROCEDURE可互换。SCHEMA schema_name
要标记的架构名称。
TABLE relation_name
要标记的表或视图名称。 名称不得包含 时态规范或选项规范。
VIEW relation_name
要标记的视图名称。
VOLUME volume_name
要标记的卷的名称。
tag_key
标识符。 如果已经存在具有相同键的标记分配,则会引发异常。
tag_value
可选标识符。 如果未指定,则标记分配将设置为仅限键。
例子
> SET TAG ON CATALOG catalog `cost_center` = `hr`;
> UNSET TAG ON CATALOG catalog cost_center;
> SET TAG ON TABLE catalog.schema.table cost_center = hr;
> UNSET TAG ON TABLE catalog.schema.table cost_center;
> SET TAG ON COLUMN table.ssn pii;
> UNSET TAG ON COLUMN table.ssn pii;
> SET TAG ON FUNCTION catalog.schema.my_func cost_center = hr;
> UNSET TAG ON FUNCTION catalog.schema.my_func cost_center;
> SELECT catalog_name, schema_name, table_name, tag_name, tag_value
FROM information_schema.column_tags
WHERE tag_name = 'pii' AND schema_name = 'default';
table_name column_name
---------- -----------
table ssn