我们针对不同的部署环境使用不同的服务帐号,所以 Dev 有 Account_A,Prod 有 Account_B,任何使用 Account_A 的测试应用都无法访问 Prod。或者,作为另一个示例,Account_A 在 Dev 中可以具有读/写权限,但在 Prod 中只有读权限。
到目前为止,还没有对数据库定义进行源代码控制,到处都是手动脚本,我想为此在 Azure DevOps 中创建一个 SSDT 解决方案。我了解如何设置版本以处理跨环境的不同数据库名称(例如 Db_Dev 与 Db_Prod),但我无法找到有关跨环境的不同用户和权限的任何信息。
这在 SSDT 中可能吗?据我所知,我有两个选择,但我希望有更好的方法:
- 处理源代码控制之外的用户和权限
- 在部署后的脚本中以某种方式处理它们。
警告:我只是在谈论 Windows 身份验证用户和组。密码显然不会进入源代码控制。