是否应该授予开发人员查询(SELECT/只读)生产数据库的权限?我以前工作的地方,开发团队有db_datareader角色;我现在工作的地方,开发团队甚至无法连接到生产实例。
SELECT
db_datareader
其中一个测试实例是每周一次从生产备份恢复的生产副本,因此开发人员实际查看数据没有任何问题。
不允许开发人员查询生产有什么好的理由(只是不希望他们有权读取敏感数据)?
这实际上取决于开发人员是否有任何支持责任。如果他们需要三线支持,那么他们可能需要查看生产数据库来执行此操作。
一般来说,在生产服务器上做任何事情都是一个坏主意,除非真的有必要在那里做。
对于大多数开发目的,生产数据库的镜像或快照就足够了,并且可能比实时生产数据库更好。如果您正在做任何涉及集成的事情,那么您将需要稳定的数据库环境,您可以在其中控制其中的内容。任何涉及和解的事情也需要能够查看一个受控时间点。
如果问题是您没有生产镜像环境或任何方法为您的开发人员在某处放置生产数据的副本,那么这是一个稍微不同的问题。在这种情况下,您的开发人员确实需要至少一个镜像环境。如果您看不到数据中的问题所在,那么很难对其进行故障排除。