我需要使用真实的客户信息(姓名,地址,电话号码等)获取生产数据并将其移至开发环境中,但我想删除任何真实客户的外表资讯
this question的一些答案可以帮助我生成新的测试数据,但是如何在生产数据中替换这些列,但保留其他相关列?
假设我有一张10000名假名的桌子。我应该使用SQL更新进行交叉连接吗?或者做一些像
这样的事情UPDATE table
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID())
答案 0 :(得分:11)
对数据进行匿名化可能会非常棘手,如果操作不当可能会导致您遇到麻烦,例如AOL when they released search data a while back发生的事情。在尝试转换现有客户数据之前,我会尝试从头开始创建测试数据。事情可能会导致您能够使用诸如行为分析和您可能认为不敏感的其他数据点等内容来确定数据属于谁。我宁愿安全而不是抱歉。
答案 1 :(得分:8)
如果您了解数据库,这比听起来容易。有一件事是必须了解个人信息未规范化的地方。例如,客户主文件将具有名称和地址,但订单文件也将具有可能不同的名称和地址。
我的基本流程:
看起来不漂亮,但确实有效。
答案 2 :(得分:4)
有一些工具可以从我发现的数据库中删除敏感数据。请注意,我自己还没有尝试过任何一个:
此处还有一系列卫生数据库脚本可能会有所帮助:Mysql Anonymous