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

L.W*_*L.W 6 sql-server azure azure-sql-database data-masking

在SQL Server 2016或SQL Azure中,有一个称为动态数据屏蔽的功能。不过,它只有4种口罩。是否可以创建自定义掩码函数?我怎样才能做到这一点?我想要一个如下所示的掩码函数(用 * 替换字母字符):

数据库中的字符串:

How do you do?
Run Code Online (Sandbox Code Playgroud)

屏蔽后:

*** ** *** **?
Run Code Online (Sandbox Code Playgroud)

Gab*_*rbe 0

我认为你应该使用自定义字符串函数

像这样的事情应该可以解决问题

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

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

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

我认为这会有用