如何在SQL Server中创建自定义动态数据掩码功能?

时间:2017-08-21 03:35:13

标签: sql-server azure azure-sql-database data-masking

在SQL Server 2016或SQL Azure中,有一个名为Dynamic Data Masking的功能。但是,它只有4种类型的面具。是否可以创建自定义遮罩功能?我怎么能这样做?我想要一个像下面这样的掩码函数(用*替换字母字符):

数据库中的字符串:

How do you do?

掩蔽后:

*** ** *** **?

3 个答案:

答案 0 :(得分:2)

SQL Server无法为屏蔽定义自定义函数。您可以尝试使用另一种DDM工具DataSunrise。 DataSunrise作为反向代理工作,可以动态重写SQL以实现数据屏蔽目的

答案 1 :(得分:1)

SQL Azure提供5种功能:默认,信用卡,电子邮件,随机数和自定义文本功能。最后一个功能是最符合您要求的功能。看看here

如果您希望将来添加自定义功能,可以在this网站上建议自定义功能

答案 2 :(得分:0)

我认为您应该使用“自定义字符串”功能

类似的事情应该可以解决问题

Alter Table[YourSchema].[YourTableName] Alter Column YourColumn Add masked with (function='Partial(0,"*",0)')

我没有时间进行测试,所以有点“盲目的线索”

您可以查看此文章: https://www.sqlservercentral.com/articles/dynamic-data-masking-feature-in-sql-server-2016

我认为这会有用