备份数据库并删除敏感数据

5
我正在查看备份例程,它允许我们备份生产数据库,并从数据库中剥离某些列中的敏感数据以便导出到测试服务器。
这个例程应该需要最少的人工干预,希望只需一个简单可定制的 SQL 脚本,而不必使生产数据库脱机。
数据库服务器是 SQL Server 2008。

标准版还是企业版?我问这个是因为企业版有一个叫做透明数据加密的功能,它基本上可以将数据从用户那里隐藏起来,所以你在备份之前不需要将其删除... - M.R.
1
我不确定有任何简单的方法来做到这一点:如果您存储的数据是敏感的,首先应该加密存储...备份本身也可以加密... - M.R.
这是SQL Server的标准版,数据已经加密,但仍需要删除。我们不能让任何敏感数据(无论是否加密)暴露在我们的生产服务器上。 - Mike737
你说的是多少张表?你能否创建一系列视图,准确反映表的结构但隐藏所需的数据,然后使用 SSIS 包定期将视图导出为数据集到测试服务器? - RThomas
你尝试过一些ETL软件吗?比如AWS Glue?这种工具似乎能够解决问题。 - Brian
2个回答

2
我以前也遇到过类似的要求,我所知道的唯一可靠的解决方案是使用生产数据库的副本。您可以在副本上掩盖/删除数据并从中运行备份。是的,这很丑陋且浪费资源,但迄今为止,我还没有找到针对此特定问题的可靠替代方案。
至于复制方法,您有一些选择:
- 复制 - 定期数据库复制 - 从生产环境备份/恢复
因此,虽然我承认这个解决方案非常令人不快,但它可以自动化并满足您的需求。如果您可以找到对数据库副本有生产性用途的情况(例如报告、测试、开发),那么这实际上可能是一个不那么糟糕的解决方案。拥有一个稍微过时且去除敏感数据的生产数据库版本可以提供不错的安全保障。

我选择了你的答案,因为它是任何人提出的最佳解决方案,也是我已经实施的方案。 - Mike737

-1
如果您想要备份,请输入以下命令:
BACKUP DATABASE Dbname 如果您想要指定离线或其他选项,则可以这样做。备份文件将在SQL SERVER 2008的默认路径上生成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接