sp_pdw_log_user_data_masking (Azure Synapse Analytics)

适用于:Azure Synapse AnalyticsAnalytics Platform System (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 活动日志包含完整的 Transact-SQL 语句,在某些情况下可以包括 IN标准版RTUPDATE标准版LECT 语句等操作中包含的用户数据。 如果设备出现问题,则允许分析导致问题的条件,而无需重现该问题。 为了防止用户数据写入 Azure Synapse Analytics 活动日志,客户可以选择使用此存储过程打开用户数据掩码。 这些语句仍将写入 Azure Synapse Analytics 活动日志,但可能包含用户数据的语句中的所有文本将被屏蔽;替换为一些预定义的常量值。

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

语法

-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
sp_pdw_log_user_data_masking [ [ @masking_mode = ] value ] ;  

注意

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

参数

[ @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 活动日志中的用户数据掩码使文本替换为 标准版LECT 和 DML 语句中的预定义常量值,因为它们可以包含用户数据。 将 masking_mode 设置为 1 不会屏蔽元数据,例如列名或表名。 将 masking_mode 设置为 2 会删除包含元数据的语句,例如列名或表名。

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

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

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

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

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

权限

需要 sysadmin 固定数据库角色CONTROL 标准版RVER 权限的成员身份。

示例

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

EXEC sp_pdw_log_user_data_masking 1;  

另请参阅

sp_pdw_database_encryption (Azure Synapse Analytics)
sp_pdw_database_encryption_regenerate_system_keys (Azure Synapse Analytics)