我需要使用真实客户信息(姓名、地址、电话号码等)获取生产数据并将其移动到开发环境中,但我想删除任何真实客户信息的表象。
这个问题的一些答案可以帮助我生成新的测试数据,但是如何替换生产数据中的这些列,但保留其他相关列?
假设我有一张包含 10000 个假名的表。我应该使用 SQL 更新进行交叉联接吗?或者做类似的事情
UPDATE table
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID())
我需要使用真实客户信息(姓名、地址、电话号码等)获取生产数据并将其移动到开发环境中,但我想删除任何真实客户信息的表象。
这个问题的一些答案可以帮助我生成新的测试数据,但是如何替换生产数据中的这些列,但保留其他相关列?
假设我有一张包含 10000 个假名的表。我应该使用 SQL 更新进行交叉联接吗?或者做类似的事情
UPDATE table
SET lastname = (SELECT TOP 1 name FROM samplenames ORDER By NEWID())
如果您了解数据库,这比听起来容易。必要的一件事是了解个人信息未标准化的地方。例如,客户主文件将具有名称和地址,但订单文件也将具有可能不同的名称和地址。
我的基本流程:
它看起来并不漂亮,但它确实有效。
匿名化数据可能很棘手,如果做得不正确,可能会给您带来麻烦,就像AOL 不久前发布搜索数据时发生的事情一样。在尝试转换现有客户数据之前,我会不惜一切代价尝试从头开始创建测试数据。事情可能会导致您能够使用诸如行为分析和其他您可能不认为敏感的数据点之类的东西来确定数据属于谁。我宁愿安全也不愿后悔。
有几个工具可以从我发现的数据库中删除敏感数据。请注意,我自己没有尝试过任何一个:
这里还有一组清理数据库脚本可能会有所帮助:https ://gist.github.com/Tyriar/d3635c6b6e32ac406623