Database 在dev服务器上查看实时数据的最佳实践?

Database 在dev服务器上查看实时数据的最佳实践?,database,production,Database,Production,假设:实时/生产web应用程序抑制向最终用户显示的错误 假设您的技术支持团队希望通过应用程序开发端的眼睛看到实时数据(可能您希望看到发生了什么错误,或者希望看到何时使用最终用户的数据修复了问题) 现在我们有一个数据库同时服务于dev和livebox(这不是我的主意,我知道这很糟糕) 想法 编辑:实施您的建议的最佳/便捷工具?我们将数据复制回另一个数据库。是的,有一个延迟,但它使人们的手远离生产服务器。这还允许我们“隐藏”技术支持人员(以及其他相关人员)不应该看到的信息。除了在生产过程中复制数据外

假设:实时/生产web应用程序抑制向最终用户显示的错误

假设您的技术支持团队希望通过应用程序开发端的眼睛看到实时数据(可能您希望看到发生了什么错误,或者希望看到何时使用最终用户的数据修复了问题)

现在我们有一个数据库同时服务于dev和livebox(这不是我的主意,我知道这很糟糕)

想法


编辑:实施您的建议的最佳/便捷工具?

我们将数据复制回另一个数据库。是的,有一个延迟,但它使人们的手远离生产服务器。这还允许我们“隐藏”技术支持人员(以及其他相关人员)不应该看到的信息。

除了在生产过程中复制数据外,我们还可以看到谁登录了应用程序,如果是公司成员,将他们发送到“真实错误”页面,与玩毛线球的快乐小猫进行道歉。

定期(一天一次、两次)从live备份并恢复到dev。它不需要是实时的(因为您可能会从开发人员端输入数据,这可能会导致问题)


如果您有PCI或HIPAA数据,请确保不要将其放在您的开发环境中——这可能会违反法律。

我通常希望有一个用于web开发的三层系统:
发展
测试
生活

大多数情况下,测试都是实时系统的精确副本,除了打开错误,当新版本即将实时移动时,会在实时之前将其替换为新版本,以检测升级问题


开发完全独立于live,允许对数据库等进行重大更改,或者对生产环境进行更改。

我首先会将错误通过电子邮件发送给某人,告知用户如何到达那里,或者至少记录错误日志,以便您可以在执行类似操作时查看错误日志,查看日志中是否有相同的消息

是的,在dev服务器/站点上复制数据库可能是您唯一的选择。您不希望开发团队对实时数据所做的任何更改,而且您可能还会有一些更改在某些时候无法与生产数据库一起使用


我不建议做一个夜间拷贝,因为开发人员可能在一些新的数据的中间,他们添加了数据,然后在那天晚上被删除。每次发布主要版本时,我通常都会将生产数据库复制到dev。这也让我能够用大量实时数据进行速度测试。在某些系统上,我还将Everyone密码更改为默认密码,以便我可以作为任何用户轻松登录。

如果您的配置允许:

a。添加一个日志功能(如果还没有),将感兴趣的消息写入日志文件

b。运行unix命令

tail-f 它将不断增长的日志文件流式传输到您的控制台

如果您有Windows,可以尝试以下操作:


+1关于数据/隐私保护政策。如果您对数据有监管限制,那么您可以生成假记录来填补空白。只需使用prod数据的“形状”就可以为您提供一个真实的集合。@jon,我们有,但它们都是定制的。我们使用的一种商业产品是Red Gate Sql备份。这减少了在环境之间传输所需的时间,因为我们的生产服务器处于不同的状态。