CRM部署Always on 后 CRM报无法更新数据库,数据库只读,且读写分离不正常

这篇具有很好参考价值的文章主要介绍了CRM部署Always on 后 CRM报无法更新数据库,数据库只读,且读写分离不正常。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

CRM部署Always on 后 CRM报无法更新数据库,数据库只读
读写分离不正常,出现错乱链接。

背景信息

1.2个节点配置SQL server AG(DB01,DB02)
2.错误信息:
Unable to update database ‘CRMAPIDB’ because the database is read-only
Unable to update database ‘CRM_MSCRM’ because the database is read-only
3.连接字符串:connecttion string :Data Source=SQLHA;Initial Catalog=CRM_MSCRM;Integrated Security=SSPI

问题原因

应用和SQL的4台服务器都为Azure VM,检查AG侦听器的负载均衡设置,发现负载均衡器的运行状况探测设置端口为1433,与SQL server的端口重复。并且负载均衡规则的浮动IP 并未勾选。

解决方案

1.负载均衡器的运行状况探测重新设置为59999,并运在SQL任意节点中运行以下Powershell。

$ClusterNetworkName = “” # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
$IPResourceName = “” # The IP address resource name.
KaTeX parse error: Expected 'EOF', got '#' at position 29: … = "<n.n.n.n>" #̲ The IP address…ListenerProbePort =

Import-Module FailoverClusters

Get-ClusterResource KaTeX parse error: Expected '}', got 'EOF' at end of input: …e @{"Address"="ListenerILBIP";“ProbePort”= L i s t e n e r P r o b e P o r t ; " S u b n e t M a s k " = " 255.255.255.255 " ; " N e t w o r k " = " ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"=" ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="ClusterNetworkName";“EnableDhcp”=0}

CRM部署Always on 后 CRM报无法更新数据库,数据库只读,且读写分离不正常

2.应用指定ReadOnly的时候,连接就连到SQL高可用组的次要副本,指定ReadWrite的时候连接就连到SQL高可用组的主要副本。
通过以下T-SQL修改只读路由列表,然后测试连接

ALTER AVAILABILITY GROUP [CRMHA]

MODIFY REPLICA ON

N’DB01’ WITH

(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=((‘DB02’),‘DB01’)));

ALTER AVAILABILITY GROUP [CRMHA]

MODIFY REPLICA ON

N’DB02’ WITH

(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=((‘DB01’),‘DB02’)));

3.在Azure Portal中将DB01和DB02的负载均衡器规则的浮动IP开启。
CRM部署Always on 后 CRM报无法更新数据库,数据库只读,且读写分离不正常

更多信息
教程:配置 SQL Server Always On 可用性组 - SQL Server on Azure VMs | Microsoft Learn文章来源地址https://www.toymoban.com/news/detail-428223.html

到了这里,关于CRM部署Always on 后 CRM报无法更新数据库,数据库只读,且读写分离不正常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据库】PostgreSQL中的DISTINCT ON和DISTINCT的区别

    在数据库查询中,我们经常会遇到需要去除重复数据的情况。在PostgreSQL中,我们可以使用DISTINCT和DISTINCT ON来实现这个目标。那么,它们之间有什么区别呢?本文将详细介绍这两种方法的用法、区别以及适用场景。 DISTINCT是SQL中的一个,用于从查询结果中去除重复的行

    2024年02月03日
    浏览(31)
  • 数据库➡ES,数据更新同步

            mysql5.7(自己部署),elasticsearch:7.4.2(自己部署),centos7.0(虚拟环境),python3.8(自己部署),pycharm(自己安装);--建议可用docker部署mysql和es         ①、mysql数据,estable表字段(ID--unique,VALUE--str is json format)唯一ID,json格式的字符串,(表中存的为需要更新

    2024年01月17日
    浏览(31)
  • 数据库||数据表的更新

    1.实验题目:数据表的更新 2.实验目和要求: 1)掌握SQL语句的数据操纵功能 2)掌握SQL语言的数据插入,修改,删除操作 3)掌握与嵌套查询相结合的插入,删除,修改数据的SQL语句 3.实验步骤: 1) 按实验内容要求完成各项操作 2) 根据题目要求给出解决方案 3) 提交实验报告 4.实验内容

    2024年02月19日
    浏览(39)
  • 数据库实验:SQL的数据更新

    再次书接上文,sql基础的增删改查 (1) 掌握DBMS的数据查询功能 (2) 掌握SQL语言的数据更新功能 (1) update 语句用于对表进行更新 (2) delete 语句用于对表进行删除 (3) insert 语句用于对表进行插入 (1) 熟练掌握SQL的数据更新语句INSERT、UPDATE、DELETE (2) 写出实验报告 认真阅读S_T.sql,理

    2024年02月05日
    浏览(41)
  • 缓存更新策略,先更新数据库还是缓存呢?

    学了这么多,相信大家对缓存更新的策略都已经有了清晰的认识。最后稍稍总结一下。 缓存更新的策略主要分为三种: Cache aside Cache aside 也就是 旁路缓存 ,是比较常用的缓存策略。 (1) 读请求 常见流程 应用首先会判断缓存是否有该数据,缓存命中直接返回数据,缓存未

    2024年02月12日
    浏览(33)
  • .NET 数据库大数据操作方案(插入、更新、删除、查询 、插入或更新)

    海量数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现 当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API 操作数据库达到极限性能,当然你如果不用sqlsugar了解一下原理也可以使用其他ORM实现   BulkCopy是一种用于高效批量插入大量数据

    2024年02月08日
    浏览(33)
  • 南大通用数据库-Gbase-8a-报错集锦-02-metadata is incomplete on localhost

    名称 值 CPU Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 操作系统 CentOS Linux release 7.9.2009 (Core) 内存 3G 逻辑核数 2 Gbase8a版本 8.6.2-R43 由于gbase.table_distribution存储了所有引擎为express的表元数据信息,如果此表出现数据损坏,会导致本地调度节点无法获取表信息,在select、drop等操作时,将提

    2024年02月06日
    浏览(30)
  • MySQL数据库——MySQL UPDATE:修改数据(更新数据)

    在 MySQL 中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。 使用 UPDATE 语句修改单个表,语法格式为: 语法说明如下: 表名 : 用于指定要更新的表名称。 SET  子句: 用于指定表中要修改的列名及其列值。其中,每个指定的列值可以是表达式,也可以是该列对应的

    2024年02月12日
    浏览(40)
  • 用SQL语句操作Oracle数据库——数据更新

    数据库中的数据更新操作有3种:1)向表中添加若干行数据(增);2)删除表中的若干行数据(删);3)修改表中的数据(改)。对于这3种操作,SQL语言中有3种相应的语句与之对应。接下来让我们逐一详细地了解一下。 本文我们依然使用以下三个表来进行数据更新操作:

    2024年01月19日
    浏览(54)
  • 数据库MySQL学习-数据查询(持续更新中...)

    MySQL是DBMS软件系统,通过这些系统来维护管理数据库。 DBMS类似于用于和数据库之间的桥梁。 下载免费的MySQL 社区版,安装后需要下载MySQL workbench vscode phpmyadmin等工具来接入MySQL。 MySQL可以管理多个数据库的,数据库存放在某台主机上面,数据库上级是服务器,服务器是用来

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包