Azure SQL数据库沙箱基于生产

问题描述 投票:2回答:2

我有一个大的Azure Sql数据库。我需要向团队提供一个沙盒,该团队是数据库的副本,但允许他们创建sql对象。沙箱中的数据需要与生产保持同步。我使用了弹性查询,但性能并不理想。我看过数据同步,但该公司需要AD身份验证。由于团队不想失去工作,沙箱不理想,因此定期恢复生产。有什么建议?我敢肯定我必须忽略一些东西。

azure azure-sql-database
2个回答
1
投票

我首先复制生产数据库,然后创建一个“From the Hub”同步组。

1.复制数据库

您可以通过转到数据库刀片并单击标题中的“复制”轻松创建Azure SQL数据库的副本。从那里它将询问您新的数据库名称和目标服务器。您可以将它放在同一台服务器上或创建一个由您自己决定的新服务器。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy

完成后,您现在拥有一个可以控制的“沙盒”数据库,它将是生产的精确副本。

2.同步组

之后,您可以通过创建Azure SQL“同步组”将特定表从生产同步到沙箱。

  • 您希望从生产数据库启动此数据库,因为这是源(或集线器)数据库,因此请转到生产数据库的数据库刀片并选择“与其他数据库同步”。
  • 单击“新建同步组”。从那里它将要求您提供同步组名称,可能类似于“SyncSandbox”。
  • 选择您的成员数据库,这将是您的沙箱数据库,因此请选择“使用现有数据库”并选择您的沙箱数据库。
  • 选择同步方向。这很重要,因为您只想从生产环境同步到沙箱,请选择“从集线器”。
  • 最后,您可以配置同步组。在“表”页面上,从同步组成员列表中选择一个数据库,然后选择“刷新模式”。完成后,选择保存。您也可以进入属性并选择同步频率(如果您想要自动)。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-get-started-sql-data-sync


0
投票

唯一令我担心的是你提到你的团队希望继续他们的工作。我不知道怎么可能想象你复制数据库,你的团队用新的id创建了新的客户,这就是31,然后在生产中会发生同样的事情,以便如何解决这些冲突。如果省略这个,那么我建议你做以下。

  1. 设置数据库复制
  2. 创建作业逻辑应用程序或Azure功能,它将在该副本上执行命令

创建数据库Database2 AS Database of Database1;

  1. 我不确定,但你可能需要运行命令使这个数据库可写,因为如果你复制副本它将是只读的。
  2. 运行脚本以替换所有敏感数据。

但请记住,你会有停工时间,所以每天早上做这项工作可能会更好,所以当团队开始时他们会有新的数据

更多选项如何COPY

© www.soinside.com 2019 - 2024. All rights reserved.