在我工作的金融公司,有各种独立的部署环境,包括登台和生产环境。可以使用内部开发的应用程序修改这些环境的数据库公开的数据。目前,这种数据修改可以应用于具有适当访问权限的任何人的登台和生产。但是,审计合规性要求关键人员在暂存环境中接受更改,从而将其推送到生产环境。
为实现这一目标,我们将为这些关键人员提供一个用户界面,在该界面中,他们可以看到登台和生产表之间的差异,并在按下按钮时接受它们。
--------- synch ------------ |Staging| ----------> |Production| --------- ^ ------------ | Acceptance by key personnel
我的问题是:如何才能最好地确定和/或存储两个环境表之间的差异,以便在不接受时将它们推送到生产环境并(可选)恢复?到目前为止我提出了两个解决方案:(1)比较两个表(或那些表的视图)使用sql脚本或工具,如Red Gate的SQL数据比较,或(2)将对登台表的更改存储为差异,类似于使用的差异版本控制系统。
对于这两种解决方案,我都想到了各种各样的含义,我不会在这个问题中提及,因为我不想过多引导你的思考过程。
答案 0 :(得分:0)
我会选择之前在您描述的场景中成功使用的Red-Gate SQL Data Compare。给定SQL数据比较,您可以轻松创建在两个方向上工作的SQL脚本(应用和删除)。一个不错的SQL服务器功能是创建快照以进行比较(在开发人员和企业版中可用)。
但是我遇到了一些问题: