Azure SQL数据库动态数据屏蔽不会保存一栏

时间:2019-09-26 14:04:58

标签: azure azure-sql-database

我正在将动态数据屏蔽应用于我的Azure SQL数据库。我已将遮罩应用于所有我需要的字段,除了一个。该表是AspNetUsers,不会保存的列是NormalizedUserName。在本例中,用户名是用户的电子邮件地址。 “用户名”,“电子邮件”和“规范化电子邮件”字段均以正确的掩码-电子邮件(aXXX@XXXX.com)保存。所有四个字段都是相同的数据类型-(nvarchar,null)当我尝试将相同的掩码应用于NormalizedUserName字段时遇到的错误是

无法保存数据库的动态数据屏蔽设置:xxxxxxxxxx-auth。

ErrorMessage:无法更新数据屏蔽规则dbo_AspNetUsers_NormalizedUserName-属性-

{
    "id":"dbo_AspNetUsers_NormalizedUserName",
    "resourceId":"/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/XXXXXXXXX-Development/providers/Microsoft.Sql/servers/xxxxxxxxxx-sql/databases/xxxxxxxxxx-auth",
    "schemaName":"dbo",
    "tableName":"AspNetUsers",
    "columnName":"NormalizedUserName",
    "maskingFunction":"Email",
    "aliasName":"",
    "numberFrom":"0",
    "numberTo":"0",
    "prefixSize":"0",
    "suffixSize":"0",
    "replacementString":""
}

关于为什么会发生此错误,或者在哪里可以找到更多详细信息的任何想法?

1 个答案:

答案 0 :(得分:0)

事实证明,问题在于NormalizedUserName字段上存在唯一索引。电子邮件字段上有一个唯一索引,这不会引起问题。解决方案是删除索引,保存数据掩码规则,然后重新创建索引。