排查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. Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...

  2. 用HTML5 CANVAS做自定义路径的动态效果图片!

    最近对HTML5开始感兴趣了,实现的效果如下图,大家可以从代码里换掉图片 我用的是canvas里面的2d绘图,其中上图的路径是网上在线绘制的,我太懒了,哈哈 下面是网址: http://www.vic ...

  3. Wave - 花たん 音乐

    Wave 歌手:花たん 所属专辑:Flower 間違えて宇宙終わって(宇宙因为一个错误而终结了) 青信号はいつも通り(通行的灯号一如往常的) 飛んでまた止まって(又再停止传播) また 飛びそうだ(然后 ...

  4. Ajax 与 XmlHttpRequest

    AJAX描述了确保Web应用在Web服务器请求新数据的情况下也能(几乎)实时反应的一种方法.具体地说,AJAX只是一些建立已久的技术的相互作用,从HTML.XHTML和HTTP,到JavaScript ...

  5. TCP的阻塞和重传机制

    TCP的阻塞和重传机制 网络拥堵 现在网络上大部分的网络请求都是以TCP的方式进行传输的了.网络链路是固定的,各种链路情况也是不一样的.网络拥堵一直是TCP协议设计和使用的时候尽力要避免的.比如,从T ...

  6. 什么是SARG ?

    看书看到好几次这几个字母,每次都查,每次查完下次看到还忘记,还是得查. 简单的理解就是:sql查询语句查询过程中用到索引查找的是SARG写法 sql查询语句查询过程中未用到索引就是非SARG写法

  7. asp.net 301重定向代码

    /// <summary> ///重定向代码 /// </summary> /// <param name="sender"></para ...

  8. C#+ArcEngine10.0+SP5实现鼠标移动动态显示要素属性信息

    为了解决鼠标移过动态显示要素属性的问题,我在网上先是查到的只能显示单个要素的属性,就是直接在arcmap中设置好的那个tips就可以显示,但是这种显示效果只是简单的实现了显示要素的属性值,可是没有对该 ...

  9. JAVA使用JDBC技术操作SqlServer数据库执行存储过程

    Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...

  10. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...