四、AlwaysOn配置

1、开启AlwaysOn高可用性功能。

1.1、开启Server01的可用性组

1.2、需要重启服务:属于SQL server群集节点的服务,需要通过故障转移界面重启

1.3、故障转移后,并能将此设置同步到节点02。如下界面显示。

1.4、开启Server03的可用性组,设置界面

1.5、重启服务界面

2、新建并备份需要配置的数据库

2.1、新建共享文件夹,用于存放共享备份文件。

2.2、所有用户共享

2.3、新建数据库并备份需要配置可用性组的数据库:AlwaysOn01,AlwaysOn02

2.4、拷贝备份文件:\\server01\soft到server03本地服务器。

2.5、还原两个数据库到指定磁盘,norecovery;以下是还原界面

3、配置AlwaysOn可用性组(界面)

3.1、打开客户端连接工具连接CLUSTEST03\CLUSTEST03;打开alwaysOn高可用性,右键新建高可用性向导,进入新建可用性组界面。

3.2、指定可用性组名称:AlwaysOn01

3.3、现在需要配置的数据库:alwaysOn01,alwaysOn02;alwaysOn03和alwaysOn04没有备份,因此会提示需要完整备份。

3.4、指定副本服务器,添加副本服务器界面:server03

3.5、默认不同步提交,不自动故障转移,不可读辅助副本,以下是副本界面

3.6、端点配置,“端点 URL”标识数据库镜像端点的传输协议 — TCP、服务器实例的系统地址以及与端点关联的端口号;以下是端点配置界面。

3.7、备份首选项,自动备份放在哪里执行,一般默认即可。若执行自动备份脚本时,需确认备份脚本适合在哪个副本上执行,建议首先在辅助副本上优先,若有多个副本则可设置每个副本的优先级(1-100),确定哪个副本优先备份,若副本都不能备份,则需要主副本上执行自动备份。

3.8、暂不创建侦听。

3.9、由于已经手动还原,此处仅仅是将数据库连接即可。

3.10、由于暂不创建,检查侦听警告。由于不是完整配置,则会跳过磁盘和网络等检查。

3.11、摘要界面。

3.12、配置成功界面。

此警告属于以下第一点:承载主副本的群集节点没有一票。我们目前的主节点是SQL群集的虚拟IP,因此不存在仲裁,此警告可以忽略。

3.13、同步完成后主副本会显示已同步,辅助副本显示正在同步(异步传送情况)。

3.14、可用性组侦听器右键,创建侦听器,进入创建页面。

3.15、侦听器DNS名称:FailOver;端口:55944;静态IP:10.0.0.224

3.16、侦听器创建成功后与AlwaysOn组的依赖关系:AlwaysOn依赖于侦听器

3.17、使用侦听器IP连接,默认连接到主副本服务器。

4、配置AlwaysOn可用性组(T-SQL)

4.1 添加端点—主备都要执行

--1--主机创建镜像端点--windows验证方式

IF NOT EXISTS (SELECT TOP 1 1

FROM master.sys.tcp_endpoints

WHERE type_desc = 'DATABASE_MIRRORING')

CREATE ENDPOINT Hadr_endpoint

STATE = STARTED

AS TCP ( LISTENER_PORT = 5022,LISTENER_IP = ALL)

FOR DATABASE_MIRRORING (

AUTHENTICATION = WINDOWS NEGOTITE,

ENCRYPTION = REQUIRED ALGORITHM AES,

ROLE=ALL);

4.2 添加域用户—主备都要执行

--2--添加用于镜像的域账户fzcyjh\clustest--专门用于alwaysOn的配置

USE master;

GO

CREATE LOGIN [fzcyjh\clustest] FROM WINDOWS;

GO

-- And Grant this login connect permissions on the endpoint:

GRANT CONNECT ON ENDPOINT::Hadr_endpoint

TO [fzcyjh\clustest];

GO

4.3 备份主机数据库—主机备份

--3--备份相关数据库到共享路径

--主机上

backup database alwayson03 to disk =N'D:\soft\alwayson03_full.bak'

backup log alwayson03 to disk =N'D:\soft\alwayson03_log.bak'

backup database alwayson04 to disk =N'D:\soft\alwayson04_full.bak'

backup log alwayson04 to disk =N'D:\soft\alwayson04_log.bak'

4.4 创建可用性组—主机执行

--4--创建可用性组

CREATE AVAILABILITY GROUP MyAG

FOR

DATABASE alwayson03, alwayson04

REPLICA ON

'CLUSTEST03\CLUSTEST03' WITH --主副本

(

ENDPOINT_URL = 'TCP://CLUSTEST03.fzcyjh.com:5022',

AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,

FAILOVER_MODE = MANUAL

),

'Server03' WITH --辅助副本

(

ENDPOINT_URL = 'TCP://Server03.fzcyjh.com:5022',

AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,

FAILOVER_MODE = MANUAL

);

4.5 还原备机数据库

--新建备份测试数据库

create database alwayson03

create database alwayson04

--还原数据库

restore database alwayson03 from disk =N'C:\alwayson03_full.bak'

with replace,norecovery,move 'alwayson03' to 'C:\alwayson03.mdf',

move 'alwayson03_log' to 'C:\alwayson03_log.ldf'

restore log alwayson03 from disk =N'C:\alwayson03_log.bak'

with norecovery

restore database alwayson04 from disk =N'C:\alwayson04_full.bak'

with replace,norecovery,move 'alwayson04' to 'C:\alwayson04.mdf',

move 'alwayson04_log' to 'C:\alwayson04_log.ldf'

restore log alwayson04 from disk =N'C:\alwayson04_log.bak'

with norecovery

4.6 将备机连接到主机

--4--将备机加入可用性组

ALTER AVAILABILITY GROUP [MyAG] JOIN

4.7 将备机数据库连接到主机

--5--将数据库加入可用性组

ALTER DATABASE [alwayson04] SET HADR AVAILABILITY GROUP = [MyAG];

ALTER DATABASE [alwayson03] SET HADR AVAILABILITY GROUP = [MyAG];

AlwaysOn可用性组测试环境安装与配置(二)--AlwaysOn配置(界面与T-SQL)的更多相关文章

  1. AlwaysOn可用性组测试环境安装与配置(一)--SQL群集环境搭建

    一.测试环境介绍 1. 宿主使用工作站(HYPR-V)基本配置如下: 处理器:Intel(R) Core(TM) i5-4470 CPU @ 3.20GHz 3.20GHz 内存(RAM):8.00G ...

  2. openstack controller ha测试环境搭建记录(二)——配置corosync和pacemaker

    corosync.conf请备份再编辑:# vi /etc/corosync/corosync.conf totem {        version: 2 token: 10000        t ...

  3. WNMP nginx+php5+mysql测试环境安装(Windows7)(二)

    3. 安装Zend Optimizer Zend Optimizer对那些在被最终执行之前由Run-Time Complier产生的代码进行优化,提高PHP应用程序的执行速度.一般情况下,执行使用Ze ...

  4. AlwaysOn可用性组功能测试(一)--AlwaysOn故障转移测试

    具体测试环境请参考: AlwaysOn可用性组测试环境安装与配置(一)--SQL群集环境搭建 AlwaysOn可用性组测试环境安装与配置(二)--AlwaysOn配置(界面与T-SQL) 一. Alw ...

  5. sql server alwayson 可用性组 只读路由的设置

    昨天晚上学习了[SQL Server 2012实施与管理实战指南]的第三章,于是今天想在前段时间建的那个alwayson 可用性组测试环境上也配置一下只读路由,尝试实现读写分离. 按照书中的方法,执行 ...

  6. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  7. SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建

    因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...

  8. 006.SQLServer AlwaysOn可用性组高可用部署

    一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previ ...

  9. SQL Server 2012 管理新特性:AlwaysOn 可用性组

    SQL Server 2012 新特性(一)管理新特性:AlwaysOn 一.准备环境 1.准备4台计算机 域控制器DC1,IP地址192.168.1.1 主节点SQL1:IP地址192.168.1. ...

随机推荐

  1. UVa 11384 Help is needed for Dexter

    分析题目以后得出,对于一个连续等差递增的序列,例如1,2,3,4,5,6,每次选择其中后一半,减去能减的最大数,则是最优操作. 上述序列经过一次操作后变为1,2,3,0,1,2,此时可抛弃后一半(已经 ...

  2. Myeclipse 加载ojdbc14.jar步骤

    目的:加载驱动程序,需要找到驱动的具体位置,就是找到其驱动的类名,Class.forName("oracle.jdbc.driver.OracleDriver");//加载并注册驱 ...

  3. EF-CodeFirst-3搞事

    本文学习旺杰兄的 CodeFirst 系列教程而写.尽量摆脱之前的影子写出自己的理解 表间关系.级联删除 简单玩法已经走通了,但是我就是想搞点事出来.今天来搞搞表间关系和级联删除 表间关系 毫无疑问在 ...

  4. UOJ #149 [NOIP 2015] 子串

    传送门 Solution DP+滚动数组. DP状态 \(dp[i][j][k]\): \(A\)的第\(i\)个字符和\(B\)的第\(j\)个字符匹配且该字符在第\(k\)个子串中的方案数. 转移 ...

  5. Always review

    Data structures A data structure is a way to store and organize data in order to facilitate access a ...

  6. TypeScript Modules(模块)

    本文概述了TypeScript中如何使用模块以各种方式来组织代码.我们将涵括内部和外部的模块,并且讨论他们在适合在何时使用和怎么使用.我们也会学习一些如何使用外部模块的高级技巧,并且解决一些当我们使用 ...

  7. POJ 2828 Buy Tickets(线段树 树状数组/单点更新)

    题目链接: 传送门 Buy Tickets Time Limit: 4000MS     Memory Limit: 65536K Description Railway tickets were d ...

  8. Mysql学习笔记(八)由触发器回顾外键约束中的级联选项

    近些天都没有写博客.在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数.触发器.视图和存储过程.并且在实际的开发过程中也应用了一小部分.效果还是十分理想的. 今天晚上在学习触发器模仿in ...

  9. dotnetbar入门

    1.下载dotnetbar组件 2.工具箱引用 3.项目引用 4.开始工作 //此处Form完整的名称是System.Windows.Forms.Form,表示FrmMain窗体类是继承于System ...

  10. lua 闭包

    --匿名函数使用upvalue i保存他的计数, 闭包是一个函数加上它可以正确访问的upvalues function newCounter() return function() i = i + r ...