-2

我有一个客户数据库,当我在演示文稿中使用它时,为了安全起见,我想混淆一些敏感数据。这样做的最佳方法是什么。

我总是可以编写一个脚本来使用 NewID() 或类似的东西更新列,但是有没有更好的方法来做到这一点。

我在网上研究,发现动态数据屏蔽是一种方法,但不幸的是它在 SQL Server Express 上不可用。

任何想法都非常感谢。

4

2 回答 2

0

您可以在表上创建视图。在视图中仅包括非敏感列。不要在视图中包含敏感列。

对数据库中的所有表执行此操作。

使用视图而不是基表进行演示。

不要更新数据,因为这会修改数据。

您可以随时保留视图

如果表中的所有列都是敏感的,或者,您创建的视图可以包括使用(用户定义的)数据库函数打乱数据的列。例如,如果您有数字列,则视图可以使用产生不同数据的函数(例如:f(x) = 2x + 5)。您还可以对日期列和字符串列使用相同的技术。对于后者,您可以通过编写一个随机混合字符的数据库函数来简单地打乱数据。

于 2018-05-01T12:21:54.113 回答
0

根据所持有的数据,您可能不需要比以下更复杂的东西,例如:

UPDATE CUSTOMER
SET Name = 'David D Davidson', Address = 'House 1, ...';
于 2018-05-01T10:15:30.063 回答