第三篇——第二部分——第三文 配置SQL Server镜像——域环境

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文: 第三篇——第二部分——第三文 配置SQL Server镜像——域环境 原文出处:http://blog.csdn.net/dba_huangzj/article/details/28904503 本文将演示如何在域环境下部署镜像,在域中部署相对来说简单很多,但是很多企业并不真正使用域来管理服务器(本人所在的公司就是其一),所以有必要演示非域环境,并且重点放在非域环境下。
原文: 第三篇——第二部分——第三文 配置SQL Server镜像——域环境

原文出处:http://blog.csdn.net/dba_huangzj/article/details/28904503

本文将演示如何在域环境下部署镜像,在域中部署相对来说简单很多,但是很多企业并不真正使用域来管理服务器(本人所在的公司就是其一),所以有必要演示非域环境,并且重点放在非域环境下。但是作为实践经验和最佳建议,强烈使用域环境管理。非域环境将在第四文中演示:http://blog.csdn.net/dba_huangzj/article/details/27652857 。本文只关注域环境下的搭建。

无论使用哪种方式,都可以分成两部分,第一部分是准备工作,第二部分是实施工作

准备工作:

 

除了OS级别的配置之外,还有下面的步骤需要提前操作:

 

1. 设置数据库的恢复模式,镜像需要数据库的恢复模式为完整模式,可以使用下面语句修改:

 

ALTER DATABASE AdventureWorks2008R2 SET RECOVERY FULL;

 

2. 检查数据库的兼容级别是否为90或以上,即是否为2005或以上的SQL Server,如果不是,可以使用下面脚本修改:

 

ALTER DATABASE AdventureWorks2008R2 SET COMPATIBILITY_LEVEL=100;--2008
 
SP_DBCMPTLEVEL @DBNAME=’’,@NEW_CMPTLEVEL=90  --2005


 

3. 配置所有所需的登录帐号,主体和镜像都要,可以使用下面方式:

 

1. SSIS传输登录

2. 生成脚本方式

3. 手动同步

4. 配置外部资源,比如SSIS包、维护计划,共享文件等。

 

安装前配置:

 

1. 禁用服务器上的完整备份和日志备份作业。

2. 执行完整备份,并把备份文件复制到镜像服务器

3. 使用NORECOVERY还原备份到镜像服务器,

4. 执行日志备份并复制到镜像服务器,同样以NORECOVERY还原日志

 

如果没有使用NORECOVERY,配置过程会报错,需要重新还原,所以这一点非常重要。

 

域环境下配置镜像:

 

环境:虚拟机使用hyper-v,安装了简单的域环境(这部分不属于演示范畴,读者可以自行查找相关资料),OS均为Windows Server 2008R2 x64。

SQL Server 2008R2 x64 企业版。创建一个域帐号 MirrorAdmin,密码为Pa$$w0rd (其中的0为数字不是字母o)。

 

DC上的IP:

 

clip_image001

 

SQL-A的IP:

 

clip_image002

SQL-B的IP:

 

clip_image003

 

添加域用户到SQL Server中:

 

先用域管理员或者安装时添加的Windows账号或者用sa登录:

 

clip_image005

 

然后添加新建的域账号到SQL Server中:

clip_image006

添加Windows账号:

 

clip_image008

添加SQL Server服务器角色,为了演示方便,这里选择sysadmin角色:

 

clip_image010

 

添加成功后,以这个加进去的Windows账号登录Windows,然后以Windows 身份验证登录SQL Server:

 

clip_image011

 

开始搭建:

 

下面开始使用微软示例数据库AdventureWorks2008R2作为演示:

 

clip_image012

文件存放在本地C:\DB\

 

 

clip_image014

 

首先根据前面的准备工作把库的恢复模式、完整备份等操作先做完,完整备份我们先新建一个共享文件夹存放,供传输到镜像服务器也就是本文中的SQL-B使用,注意选择【NORECOVERY】恢复状态,如图:

 

clip_image016

还原后在镜像数据库中可以看到如图:

 

clip_image017

 

现在回到主体服务器,打开镜像选项:

 

clip_image019

选择【配置安全性】:

 

clip_image021

 

这里先不搭建见证服务器,所以选择【否】:

clip_image023

 

这一步如果不需要改动其他信息,可以直接点【下一步】:

clip_image025

选择【镜像服务器】:

clip_image027

如果发现连不上镜像服务器,比如下面的报错:

 

clip_image029

 

可以选择关闭防火墙,或者开启5022等所需端口,直到能连上为止:

 

clip_image031

选择【服务账号】:

clip_image033

 

完成配置:

clip_image035

 

 

 

clip_image037

 

完成配置之后,界面会马上弹出是否需要【开始镜像】,如果一切准备好了,并且的确需要开启,就点击【开始镜像】:

 

clip_image039

 

成功开始镜像过程之后,可以看到如下截图,证明搭建已经完毕,可以使用红框部分的【故障转移】进行Failover,把主体数据库的活动会话转到镜像数据库上:

 

clip_image041

 

搭建完毕之后,检查两个服务器的数据库状态:

 

clip_image042

下面测试一下故障转移(Failover):

clip_image044

 

再刷新两台服务器的数据库,可见下面状态:

 

clip_image045

 

SQL Server镜像功能提供了一个【数据库镜像监视器】,可以在下图中的地方打开,这个工具在监控镜像时很有用,如何使用这个工具将在后面的文章中介绍:

clip_image046

打开之后,可以检查镜像环境的一些信息:

clip_image048

 

除了进行故障转移,还可以下切换运行模式 :

clip_image050

首先检查原有的运行模式:

clip_image052

可见目前是高安全性模式(Safety为FULL)。

然后进行模式转换,再检查状态:

clip_image054

 

可见目前已经是高性能模式(Safety为OFF)。

 

添加见证服务器:

clip_image055

 

这里需要选择【是】:

clip_image057

 

然后点下一步:

 

clip_image059

 

在主体服务器中连接见证服务器,也就是本文的【SQL-CORE】实例:

clip_image061

 

指定镜像环境中的账号,由于在域环境中,所以可以使用同一个域账号:

 

clip_image063

 

搭建完毕后可以看到下面的截图:

 

clip_image065

 

我们可以通过停止主体服务器(SQL-A)的服务进行检验:

 

clip_image066

 

可见主体数据库已经切换到原镜像服务器(SQL-B)中:

 

clip_image067

 

重新启动SQL-A,然后再停止SQL-B的服务:

 

clip_image068

 

可见主体库又回到了SQL-A中:

clip_image069

至此,域环境下的镜像搭建演示已经完毕。

 

SQL Server镜像有一个重要补丁,这个补丁主要是修复2005的镜像环境中日志问题,对2008不需要处理:http://support.microsoft.com/kb/947462。当你在搭建和使用2005的镜像功能时,如果报错:当您启动数据库镜像会话,SQL Server 2005 中错误消息:"与远程服务器实例的通信TCP: / / < 计算机名>:< 端口号> 数据库镜像尚未完全启动之前发生故障"。则意味着你需要使用这个补丁修复。

搭建镜像,特别在域环境中其实非常简单,本系列把重点放在自动化部署、监控和优化过程中,所以不会做过多的部署演示。

下文是对非域环境的搭建:http://blog.csdn.net/dba_huangzj/article/details/27652857

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
47 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
95 0
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
76 0
|
17天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
15 0
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
64 6
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
11天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
14 1
|
25天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
1月前
|
SQL 关系型数据库 数据库
docker如何进入镜像其他的SQL
【2月更文挑战第25天】