排查AG配置

本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问。

Section

Description

AlwaysOn Availability Groups Is Not Enabled

如果实例没有启动AG特性,实例就不支持任何AG相关的功能

Accounts

在SQL Server在运行的情况下,正确的账号配置

Endpoints

诊断关于实例的镜像endpoint问题。

System name

Endpoint URL中可用来替换实例的系统名

Network access

关于每个持有AG副本的实例,都必须要有可以通过TCP访问其他实例的权限

Endpoint Access (SQL Server Error 1418)

SQL Server错误信息1418

Join Database Fails (SQL Server Error 35250)

关于join数据库出现的问题,因为primary副本不是活动的

Read-Only Routing is Not Working Correctly

 

Related Tasks

 

Related Content

 

1. AG不可用

可以通过联机文档:启用和禁用 AlwaysOn 可用性组 (SQL Server) 查看如何启动关闭AG

2. 账号

SQL Server运行的必须有正确的配置:

1.权限配置是否正确?

a.如果运行在相同域账号,正确的用户login都会保存在2个master数据库中。这个配置简单也是被推荐的配置。

b.如果2个实例使用不同的账号,每个账号必须在远程master库被正确的创建,被授予CONNECT权限,通过镜像endpoint连接远程实例。

2.如果以build-in账号运行,比如Local System,Local Service,或者其他用户,必须创建一个证书,用于endpoint的验证。如果你的服务是使用域账号的,可以给每个服务器启动账号授予CONNECT权限,或者使用证书验证。

3. Endpoint

Endpoint必须正确配置

1.保证每个要有副本的实例都有镜像endpoint。为了确定是否存在镜像endpoint,可以使用,sys.database_mirroring_endpoints 查看,更多信息可以查看:Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL) or Allow a Database Mirroring Endpoint to Use Certificates for Outbound Connections (Transact-SQL).

2.检查端口号,可以查看DMV sys.tcp_endpoint查看端口号。

3.对于AG的安装问题,很难解释,建议你检查每个实例是否监听正确的端口。具体看:MSSQLSERVER_1418.

4.为了保证endpoint是否启动,可以使用以下语句:

SELECT state_desc FROM sys.database_mirroring_endpoints

如果未启动,可以使用语句:

ALTER ENDPOINT Endpoint_Mirroring

STATE = STARTED

AS TCP (LISTENER_PORT = <port_number>)

FOR database_mirroring(ROLE = ALL);

GO

5.保证login有CONNECT权限。可以使用以下语句查看所有endpoint的连接权限

SELECT 'Metadata Check';

SELECT EP.name, SP.STATE,

CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id))

AS GRANTOR,

SP.TYPE AS PERMISSION,

CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id))

AS GRANTEE

FROM sys.server_permissions SP , sys.endpoints EP

WHERE SP.major_id = EP.endpoint_id

ORDER BY Permission,grantor, grantee;

GO

4. 系统名

对于endpoint URL中的系统名,可以使用任意的名字来识别系统。服务地址也可以是系统名,全域名或者ip地址。具体看:Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server).

5. 网络访问

每个实例必须可以通过TCP访问其他的实例。这个很重要特别是在不同的域,相互不可信的情况下。

6. EndPoint访问,1418错误

1418错误表示endpoint URL不能访问,或者不存在。建议你检查地址重新执行命令,具体看:MSSQLSERVER_1418

7. 加入数据库失败,35250错误

导致加入数据库错误的原因,是因为primary副本不活动,解决方法:

1.检查防火墙设置,是否允许endpoint访问

2.账号是否有权限访问endpoint。

8. 只读路由不能正确工作

只读路由不能工作检查一下信息:

On…

Action

Comments

Link

Current primary replica

保证AG Listener是活动的

To verify whether the listener is online:

SELECT * FROM sys.dm_tcp_listener_states;

To restart an offline listener:

ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener';

sys.dm_tcp_listener_states (Transact-SQL)

ALTER AVAILABILITY GROUP (Transact-SQL)

Current primary replica

保证READ_ONLY_ROUTING_LIST 中只有一个可定secondary副本。

  • To identify readable secondary replicas:

sys.availability_replicas (secondary_role_allow_connections_desc column)

  • To view a read-only routing list:

sys.availability_read_only_routing_lists

  • To change a read-only routing list:

ALTER AVAILABILITY GROUP

sys.availability_replicas (Transact-SQL)

sys.availability_read_only_routing_lists (Transact-SQL)

ALTER AVAILABILITY GROUP (Transact-SQL)

Every replica in the read_only_routing_list

保证windows不会堵塞READ_ONLY_ROUTING_URL的端口

Configure a Windows Firewall for Database Engine Access

Every replica in the read_only_routing_list

在SQL Server配置管理,验证:

1.SQL Server可以被远程连接

2.启动了TCP/IP连接

3.IP地址配置正确

View or Change Server Properties (SQL Server)

Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager)

Every replica in the read_only_routing_list

保证READ_ONLY_ROUTING_URL(TCP://system-address:port)配置是正确的

Calculating read_only_routing_url for AlwaysOn

sys.availability_replicas (Transact-SQL)

ALTER AVAILABILITY GROUP (Transact-SQL)

Client system

保证客户端驱动支持只读路由。

AlwaysOn Client Connectivity (SQL Server)

9. Related Tasks

·         Creation and Configuration of Availability Groups (SQL Server)

·         Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

·         Specify the Endpoint URL When Adding or Modifying an Availability Replica (SQL Server)

·         Manually Prepare a Secondary Database for an Availability Group (SQL Server)

·         Troubleshoot a Failed Add-File Operation (AlwaysOn Availability Groups)

·         Management of Logins and Jobs for the Databases of an Availability Group (SQL Server)

·         Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)

10. Related Content

·         View Events and Logs for a Failover Cluster

·         Get-ClusterLog Failover Cluster Cmdlet

·         SQL Server AlwaysOn Team Blog: The official SQL Server AlwaysOn Team Blog

[AlwaysOn Availability Groups]排查:AG配置的更多相关文章

  1. [AlwaysOn Availability Groups]排查:AG超过RPO

    排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO. 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Pr ...

  2. [AlwaysOn Availability Groups]排查:AG超过RTO

    排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO.或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO. 1. 通常原因 通常 ...

  3. [AlwaysOn Availability Groups]监控AG性能

    监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的.理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好. 1. 数据同步步骤 为了评 ...

  4. [AlwaysOn Availability Groups]排查:Primary上的修改无法在Secondary体现

    排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果.这个case假设你的可用性组有同步的健康问题.很多情况下这 ...

  5. [AlwaysOn Availability Groups]AG排查和监控指南

    AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance ...

  6. [AlwaysOn Availability Groups]DMV和系统目录视图

    DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG. 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过 ...

  7. [SQL in Azure] Tutorial: AlwaysOn Availability Groups in Azure (GUI)

    http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx Tutorial: AlwaysOn Availability Groups i ...

  8. [AlwaysOn Availability Groups]CLUSTER.LOG(AG)

    CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控 ...

  9. [AlwaysOn Availability Groups]AG扩展事件

    AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM s ...

随机推荐

  1. Hammer.js分析(三)——input.js

    input.js是所有input文件夹中类的父类,浏览器事件绑定.初始化特定的input类.各种参数计算函数. Input父类和其子类就是在做绑定事件,各种参数计算.整合.设置等返回自定义事件对象,交 ...

  2. 记录一则RMAN备份策略修正案例

    背景:在给某客户处理问题时,发现客户数据库的备份空间即将用尽,进一步查看发现是用户数据库的当前RMAN备份策略存在潜在问题,需要修改备份策略. 环境:SunOS 5.10 + Oracle 11.2. ...

  3. WebGIS中利用AGS JS+eChart实现一些数据展示的探索

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 eChart提供了迁徙图.热点图.夜视图等跟地图能够很好的结 ...

  4. HTTP图解(大牛必经之路)

    本节内容 俗话说好的开发,底层知识必须过硬,不然再创新的技术,你也理解不深入,比如python web开发工程师,想要学习任何一个框架,底层都是http和socket,底层抓牢了,学起来会很轻松,所以 ...

  5. 7.Struts2复杂类型数据的接受

    复合类型数据的接收 所谓复合类型数据是指,一个JavaBean实例的属性值,而这些值又作为参数传递给Action. Action若要接收这些数据,需要做到以下几点: (1)定义Action时,将该Be ...

  6. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  7. Command and Query Responsibility Segregation (CQRS) Pattern 命令和查询职责分离(CQRS)模式

    Segregate operations that read data from operations that update data by using separate interfaces. T ...

  8. 实用的60个CSS代码片段

    1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{ position: re ...

  9. jQuery中eq()方法用法实例

    本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...

  10. discuz X3.1 源代码阅读,记录代码片段

    require_once libfile('function/post'); // /source/function/function_post.php require_once libfile('p ...