.net 跨环境还原SQL数据库-自定义环境设置设计

.net 跨环境还原SQL数据库-自定义环境设置设计,.net,sql-server,environment-variables,production-environment,.net,Sql Server,Environment Variables,Production Environment,我正忙于在生产/验收/测试/开发环境中实施数据库恢复过程,并试图决定如何处理特定于环境的应用程序设置 为了澄清,这些设置存储在数据库中,因为它们附加到某种记录。存储设置的表主要包括ForeignKeyToEntity、Key、Value 该数据库需要定期从生产环境中备份,并作为标准DTAP过程的一部分在验收/开发和测试环境中恢复。但是,数据库包含多个设置,这些设置可以是特定于环境的不同值,例如,用于生产和验收。这限制了迁移/恢复过程,因为我无法使用完整的数据库备份/恢复过程,但需要复制特定的表和

我正忙于在生产/验收/测试/开发环境中实施数据库恢复过程,并试图决定如何处理特定于环境的应用程序设置

为了澄清,这些设置存储在数据库中,因为它们附加到某种记录。存储设置的表主要包括ForeignKeyToEntity、Key、Value

该数据库需要定期从生产环境中备份,并作为标准DTAP过程的一部分在验收/开发和测试环境中恢复。但是,数据库包含多个设置,这些设置可以是特定于环境的不同值,例如,用于生产和验收。这限制了迁移/恢复过程,因为我无法使用完整的数据库备份/恢复过程,但需要复制特定的表和数据

我考虑了以下方法来完全恢复数据库:

1将设置存储在单独的数据库中: 这将保持主数据库的干净,并始终能够完全恢复它

2将设置存储在单独的数据库中,并覆盖主数据库中的设置: 这种方法需要对应用程序进行最少的更改,但不太安全。设置可能会被遗忘在单独的存储中,而将设置保留在主数据库中,并具有不同环境的值

3按环境在主数据库中单独设置 这种方法需要通过添加额外的环境标识符来修改设置表

在这个问题上有什么最佳实践吗?还有其他选择吗?或者以上哪种方法最有意义