我正在将动态数据屏蔽应用于我的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":""
}
关于为什么会发生此错误,或者在哪里可以找到更多详细信息的任何想法?
答案 0 :(得分:0)
事实证明,问题在于NormalizedUserName字段上存在唯一索引。电子邮件字段上有一个唯一索引,这不会引起问题。解决方案是删除索引,保存数据掩码规则,然后重新创建索引。