sp_pdw_log_user_data_mask (Azure Synapse Analytics)

适用于: Azure Synapse Analytics 分析平台系统 (PDW)

用于 sp_pdw_log_user_data_masking 在 Azure Synapse Analytics 活动日志中启用用户数据掩码。 用户数据掩码会影响设备上的所有数据库的语句。

重要

受影响的 sp_pdw_log_user_data_masking Azure Synapse Analytics 活动日志是某些 Azure Synapse Analytics 活动日志。 sp_pdw_log_user_data_masking 不会影响数据库事务日志或 SQL Server 错误日志。

语法

Azure Synapse Analytics 和分析平台系统的语法(PDW)。

sp_pdw_log_user_data_masking [ [ @masking_mode = ] value ]
[ ; ]

注意

Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。

背景

在默认配置中,Azure Synapse Analytics 活动日志包含完整的 Transact-SQL 语句,在某些情况下可以包括操作中包含的用户数据,例如 INSERTUPDATESELECT 语句。 如果设备上出现问题,则允许分析导致问题的条件,而无需重现问题。 为了防止用户数据写入 Azure Synapse Analytics 活动日志,客户可以选择使用此存储过程打开用户数据掩码。 这些语句仍会写入 Azure Synapse Analytics 活动日志,但可能包含用户数据的语句中的所有文本将被屏蔽;替换为一些预定义的常量值。

在设备上启用透明数据加密时,会自动打开 Azure Synapse Analytics 活动日志中的用户数据掩码。

参数

[ @masking_mode = ] masking_mode

确定是否启用了透明数据加密日志用户数据掩码。 masking_mode为 int,可以是以下值之一:

说明
0 禁用后,用户数据将显示在 Azure Synapse Analytics 活动日志中。
1 已启用,用户数据语句会显示在 Azure Synapse Analytics 活动日志中,但用户数据被屏蔽。
2 包含用户数据的语句不会写入 Azure Synapse Analytics 活动日志。

在没有参数的情况下执行 sp_pdw_log_user_data_masking 将设备上的透明数据加密 (TDE) 日志用户数据掩码的当前状态作为标量结果集返回。

注解

使用 Azure Synapse Analytics 活动日志中的用户数据掩码,可以使用预定义常量值 SELECT 替换文本以及数据操作语言(DML)语句,因为它们可以包含用户数据。 将 masking_mode 设置为 1 不会屏蔽元数据,例如列名或表名。 将 masking_mode 设置为 2 会删除包含元数据的语句,例如列名或表名。

Azure Synapse Analytics 活动日志中的用户数据掩码通过以下方式实现:

  • 默认情况下,Azure Synapse Analytics 活动日志中的 TDE 和用户数据掩码处于关闭状态。 如果未在设备上启用数据库加密,则不会自动屏蔽这些语句。

  • 在设备上启用 TDE 会自动在 Azure Synapse Analytics 活动日志中启用用户数据掩码。

  • 禁用 TDE 不会影响 Azure Synapse Analytics 活动日志中的用户数据掩码。

  • 可以使用该过程在 Azure Synapse Analytics 活动日志 sp_pdw_log_user_data_masking 中显式启用用户数据掩码。

权限

需要 sysadmin 固定数据库角色CONTROL SERVER或权限的成员身份。

示例

以下示例在设备上启用 TDE 日志用户数据掩码。

EXEC sp_pdw_log_user_data_masking 1;