问题标签 [geo-replication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - 只读、活动的异地复制数据库的性能是否较差?
我们有一个作为 Azure 应用服务托管的网站。它连接到 Sql Azure P1 数据库,这是一个异地复制辅助数据库。
我们将同一个网站托管在带有 Rackspace 的虚拟机上,该虚拟机连接到本地安装在同一 VM 上的 sql server 数据库。
Azure 网站可访问http://www2.inyopools.com Rackspace 网站可访问http://www.inyopools.com
Azure 网站的性能明显比 Rackspace 差,尤其是对于有大量数据库交互的页面。
例如: http ://www2.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache= 149151216024 比 http://www.inyopools.com/pool_part_cat_Above_Ground_Pools.aspx?bustcache=149151222081慢很多
(注意:这些页面每 15 分钟缓存一次,因此更改 bustcache 查询字符串参数值以获取新副本)
超过 12 秒与不到 1 秒的差距!
我们注意到,基于页面似乎需要多少数据库调用,时间呈指数增长。因此,似乎瓶颈或问题与数据库有关。
在调试问题时,我真的需要一些帮助来确定从这里到哪里去。只读、活动的异地复制数据库的性能是否较差?这阻止了我们将这些系统迁移到 Azure。我们愿意接受任何建议!
azure - azure 如何在后台处理异地复制
我们有一个 azure web 应用程序和一个我们想要在世界各地复制的数据库。
因此,我们使用流量管理器将用户重定向到最近的托管 Web 应用程序,并通过 Web 应用程序中的位置设置,它知道它应该针对哪个数据库。
现在,我的问题是,由于模式是 One database Writeable (Primary) 并且副本是只读的,我或 azure 在调用数据库时如何处理?
例如,如果从我的应用程序中我要向数据库添加一条记录,我不能使用最近的数据库连接字符串,我需要反对主要的连接字符串。
我应该处理这个吗?或者我会一直反对最近的,即使它是只读的,天蓝色会处理将其传输到主数据库的写入?
如果我是应该管理它的人,那么我应该处理 2 个连接字符串,一个用于主数据库可写,一个用于最近的可读数据库,我应该拆分我的服务,按写入/读取操作分类
在这种情况下,如果我有一个写入和读取的存储过程,我将如何处理?
azure - 我是否需要在更新前禁用 Azure SQL 数据库上的活动异地复制
我在生产 Azure SQL 数据库上使用活动异地复制来进行故障转移方案。(https://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-overview)
很快我们将升级使用此数据库的应用程序,并且需要对主数据库进行一些 DDL 更新,这会导致一些问题。任何\所有的答案将不胜感激!
我是否需要禁用异地复制才能对主数据库执行数据库更新?
如果我不禁用异地复制,对主数据库执行的 DDL 语句是否也会自动更改辅助数据库?
在执行这些更新时,如果我们想为回滚场景保留“辅助”数据库,我假设我们可以禁用异地复制以使该数据库暂时“陈旧”。有没有办法将该数据库用作主数据库的还原点?
azure - 处理 Azure SQL 和异地复制上的外部数据源
下面是我的天蓝色设置
- 主弹性池(30 个数据库)- 活动
- 二级弹性池(30 个数据库)- 只读异地复制。
WebApp 使用主池进行读取和写入。所有报告都在辅助服务器上运行。
我最近不得不在主数据库之一上添加一个外部数据源,并且跨数据库查询运行良好。
好消息是这个外部数据源配置也被复制并且在辅助设备上运行良好。
问题 :
当我从辅助运行查询时,它运行良好,我担心的是,它使用的是主 db1 的外部数据源。
有没有更好的方法在辅助池中添加外部数据源,以便它可以使用它自己的 db1 副本?还是 azure sql 自己处理这个?
任何反馈或帮助表示赞赏。
谢谢
.net - Azure SQL 异地复制与 .NET NHibernate sp_wait_for_database_copy_sync 问题
在我们的应用程序开发过程中,我们引入了 Azure SQL 地理复制,以改善不同地理位置的用户体验和响应能力。
目前在测试中,我们有两个实例 - 一个主要和次要*,其中一个在美国,另一个在欧洲。
问题
即使调用了 sp_wait_for_database_copy_sync,主数据库中新更新的数据似乎在辅助数据库中也不可用,这应该可以确保这一点。
重现问题的步骤
- 用户连接到辅助实例
- 用户对数据进行更新(进入主数据库的“更新”或“插入”)
- 事务已提交
- 使用适当的参数调用sp_wait_for_database_copy_sync过程,以确保在更新调用解除阻塞时数据已复制到辅助实例中
- 一旦更新调用解除阻塞,就会在辅助数据库上尝试提取数据(包括新更新或插入的数据) 。
- 新更新或插入的数据不包含在结果集中 - 尽管数据库复制同步过程不能确保数据将在更新调用解除阻塞时复制
技术实现细节
当一个实体即将更新、事务提交和数据同步保证时,依次调用以下三行代码:
ISession.Save(object obj)
用于保存新实体ISession.Flush()
用于提交事务ISession.CreateSQLQuery("EXEC sys.sp_wait_for_database_copy_sync @target_server = N\'secondary-server\', @target_database = N\'database\';").ExecuteUpdate()
用于执行调用阻塞同步过程
问题
以上三行代码可能有什么问题?我看到的可能罪魁祸首是:
ISession.Flush
不同步执行,因此在执行阻塞存储过程时,事务尚未实际提交ISession.CreateSQLQuery("EXEC sys.sp_wait_for_database_copy_sync @target_server = N\'secondary-server\', @target_database = N\'database\';").ExecuteUpdate()
实际上并没有被阻止。
任何有关如何解决上述两个问题或您看到的其他问题的想法将不胜感激。
- 在这种情况下,主要和次要与异地复制设置有关。
visual-studio - 无法使用 DacFX 部署到 Azure 故障转移组内的 Azure SQL 数据库
我无法使用来自 VS2015/17 数据库项目发布的读/写侦听器终结点或使用 DACFx 部署到 Azure 故障转移组内的 Azure SQL 数据库?我正在使用具有适当权限的包含用户,并通过直接部署到数据库的主 Azure SQL 服务器而不是故障转移组的读/写侦听器来证明它可以工作。
使用 DacFX 或直接从 VS2015/17 发布时,我得到了同样的异常。
database - Azure 复制数据库上的 SQL Server 更改跟踪
我需要将一组表(带数据)同步到与我们的生产数据库不同的数据库。这是一个 Azure SQL 数据库。
我创建了复制数据库(使用 Azure 地理复制),它是一个只读数据库。我的计划是在复制数据库中启用 SQL Server 更改跟踪 (CT) 并从更改表中查询这些更改,这样生产数据库就不会因为更改跟踪而产生任何影响。但后来我发现无法启用更改跟踪,甚至无法访问我创建的数据库副本中的更改表。
然后我看到了 Azure 的“同步到其他数据库”功能,并使用复制的数据库进行了尝试。但这也是不可能的,因为此功能不支持从只读数据库同步数据。
1)这个问题的解决方案是什么?我无法在我的生产数据库上使用“同步到其他数据库”功能,因为它使用数据库触发器来跟踪这些更改。另一方面,我也无法在生产数据库中启用 CT。
2) 有没有办法使用复制数据库中的 CT 启用和跟踪更改?
3)或者有没有办法在复制数据库中使用“同步到其他数据库”功能?
尝试构建的应用程序是分析应用程序。所以我试图从其他几个生产数据库中获取我想要的数据。
谢谢你。
database - 在进行 azure 数据库故障转移后无法登录到 azure webapp
我已经配置了应用程序连接字符串。
最初我能够登录到 Web 应用程序,但是当我执行故障转移时,我们无法登录到 webapp。
在数据库中,我们有用户名和密码表。Web App 将从数据库表中进行身份验证。
sql - Azure SQL 异地复制同步的速度和影响
我有一个客户,他的 Azure SQL 数据库是在欧洲数据中心意外创建的(客户在美国)。我希望使用 Geo-Replication 将其移至美国,以最大限度地减少停机时间,如下所述: https ://docs.microsoft.com/en-us/azure/sql-database/sql-database-geo-replication-portal
该数据库中等大小,大约 25GB,我似乎在以下问题上找不到任何东西:
1)有没有办法衡量初始同步需要多长时间(即所有数据都已同步,我们可以故障转移到美国的新数据库)?2) 是否有查看初始同步的进度?3) 数据库的性能是否会受到初始同步(以及后续同步)的重大影响?4) 提升服务器层级是否会改善这些结果(即同步速度和性能影响)?
azure-sql-database - 带有大表的 Azure SQL 数据库异地复制
我们正准备将我们的非 Azure 数据库移动到 Azure Sql 数据库,并希望使用异地复制作为故障转移。
我们的审计表有 130+ 百万行数据,所以想知道播种过程需要多长时间?
我们是否必须等待播种过程完成才能打开我们的生产应用程序?如果播种过程尚未完成并且我们开始在主数据库中创建事务,那么辅助数据库上的这些事务会发生什么?