排查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. Front End Developer Questions 前端开发人员问题(一)

    问题来源:http://markyun.github.io/2015/Front-end-Developer-Questions/ 1.Doctype作用?严格模式与混杂模式如何区分?它们有何意义?答 ...

  2. 记录下Sublime Text Mac版的快捷键【转】

    推荐使用最新版本的Chrome/Safari或者Firefox浏览器浏览此页,否则Mac按键可能无法正常展示 The Latest Version of Chrome/Safari or Firefo ...

  3. 利用Angularjs测试引擎Karma进行自动化单元测试

    Karma是Google用于angularjs框架单元测试的js引擎(javascript test runner ), angular1 和angular2项目源码的单元测试都是基于karma和ja ...

  4. Concurrency in csharp (Asynchronous, Parallel, and Multithreaded Programming)

    http://stephencleary.com/projects/ /// <summary> /// /// </summary> public partial class ...

  5. Oracle 数据库基础学习 (八) PL/SQL综合练习

    1.定义游标:列出每个员工的姓名.部门名称并编程显示第10个到第20个记录. declare cursor zemp_cursor is (select temp.ename, temp.dname ...

  6. 细说进程五种状态的生老病死——双胞胎兄弟Java线程

    java线程的五种状态其实要真正高清,只需要明白计算机操作系统中进程的知识,原理都是相同的. 系统根据PCB结构中的状态值控制进程. 单CPU系统中,任一时刻处于执行状态的进程只有一个. 进程的五种状 ...

  7. 转载利用伪元素单个颜色实现 hover 和 active 时的明暗变化效果

    1.颜色小tip知识 在背景色上方叠加一个黑色半透明层 rgba(0,0,0,.2) 可以得到一个更暗的颜色 在背景色上方叠加一个白色半透明层 rgba(255,255,255,.2) 可以得到一个更 ...

  8. web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决

    [问题]移动端开发,ios下当fixed属性和输入框input(这里不限于input,只要可以调用移动端输入法的都包括,如:textarea.HTML5中contenteditable等),同时存在的 ...

  9. jQuery实践树(2)

    上一个实践主要对jquery的ready事件进行.本实践要来使用jQuery改变页面的背景图片.可以先试试效果:http://hovertree.com/texiao/jquerytree/2/ 当你 ...

  10. JS学习笔记9之event事件及其他事件

    -->鼠标事件-->event事件对象-->默认事件-->键盘事件(keyCode)-->拖拽效果 一.鼠标事件 onclick ---------------鼠标点击事 ...