数据对于现代的企业来讲是非常重要的,很多企业因为数据丢失给企业造成极大的损失,尤其是对于存储众多数据的数据库更是需要做到保护,给数据库做双机热备是很多企业必要的选择, 能保证数据库里的数据更好的运行。

导致服务器出现故障的原因有很多,如果出现这种情况的话,常常需要几十分钟、几个小时甚至是好几天来进行恢复处理,这样就给我们的生活和工作造成了重大的影响。因此为了避免长时间的中断服务造成不良的影响,数据库双机热备就显得尤为的重要,给大家的工作带来了很多的好处和便利。

但是数据库双机热备并不是完美无缺的,它还是有一点小小的缺点的,那就是双机热备在系统出现故障时,并不是无缝连接的,需要一分钟左右的短暂的中断工作,在连接好之后,大家才能够恢复正常的工作,让你的工作不受影响的继续下去。相比较长时间的中断工作,这短短的一分钟一般人还是可以容忍的。

数据库双机热备占有很重要的意义和作用,具有不可取代的地位,同时还要指出的是数据备份和数据库双机热备不是同一个概念,大家千万不可将二者混为一谈。虽然数据备份也很重要,但是和数据库双机热备相比还是存在着差距,而且当出现服务器系统故障时,两者所发挥的作用也不是同日而语的,存在着天壤之别。下面我就讲讲在SQL service2014中如何配置双机热备。

一、配置主备机

1、服务器基本信息

主机名称为:DB_A,IP地址为:172.17.30.4

备机名称为:DB_B,IP地址为:172.17.30.5

二、主备实例互通

实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。注意:实现“主备数据库实例互通”的操作只需要做一次,例如为了将两个SQL Server 2008的实例中的5个数据库建成镜像关系,则只需要做一次以下操作就可以了;或者这样理解:每一对主备实例(不是数据库)做一次互通。

1、创建证书(主备可并行执行)

--主机执行:

USE master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';

CREATE CERTIFICATEDB_A_cert WITH SUBJECT = 'DB_A certificate' ,

START_DATE = '2012-08-02',

EXPIRY_DATE = '2099-08-02';

--备机执行:

USE master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '123456';

CREATE CERTIFICATEDB_B_cert WITH SUBJECT = 'DB_B certificate',

START_DATE = '2012-08-02',

EXPIRY_DATE = '2099-08-02';

2、创建连接的端点(主备可并行执行)

--主机执行:

CREATE ENDPOINT Endpoint_Mirroring

STATE = STARTED

AS

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )

FOR

DATABASE_MIRRORING

( AUTHENTICATION = CERTIFICATE DB_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

--备机执行:

CREATE ENDPOINT Endpoint_Mirroring

STATE = STARTED

AS

TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )

FOR

DATABASE_MIRRORING

( AUTHENTICATION = CERTIFICATE DB_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

3、备份证书以备建立互联(主备可并行执行)

--主机执行:

BACKUP CERTIFICATE DB_A_cert TO FILE = 'C:SQLBackupDB_A_cert.cer';

--备机执行:

BACKUP CERTIFICATE DB_B_cert TO FILE = 'C:SQLBackupDB_B_cert.cer';

4、互换证书

将备份到C:SQLBackup的证书进行互换,即DB_A_cert.cer复制到备机的C:SQLBackup。DB_B_cert.cer复制到主机的C:SQLBackup。

5、添加登陆名、用户(主备可并行执行)

以下操作只能通过命令行运行,通过图形界面无法完成。(截至SQL Server2005的补丁号为SP2)

--主机执行:

CREATE LOGIN DB_B_login WITH PASSWORD = '123456';

CREATE USER DB_B_user FOR LOGIN DB_B_login;

CREATE CERTIFICATE DB_B_cert AUTHORIZATION DB_B_user FROM FILE = 'C:SQLBackupDB_B_cert.cer';

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [DB_B_login];

--备机执行:

CREATE LOGIN DB_A_login WITH PASSWORD = '123456';

CREATE USER DB_A_user FOR LOGIN DB_A_login;

CREATE CERTIFICATE DB_A_cert AUTHORIZATION DB_A_user FROM FILE = 'C:SQLBackupDB_A_cert.cer';

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [DB_A_login];

三、建立镜像关系

以下步骤是针对每个数据库进行的,例如:现有主机中有5个数据库以下过程就要执行5次。

1、手工同步登录名和密码

在上文中提到数据库镜像的缺点之一是无法维护登录名,所以需要我们手工维护登录。

通常来说数据库都将会有若干个用户作为访问数据库的用户,并且数据库会有相应的登录名,但是在备机中缺少与之相对应的登录名,例如某业务系统使用’myuser’作为登录名访问数据库,但是在备机中没有’myuser’这个登录名,因此一旦主备切换,业务系统就无法登录数据库了,这种情况称为"孤立用户"。在主机和备机数据库上建立相同用户名及密码即可。

2、准备备机数据库(主机备份及镜像还原)

在主机上备份数据库,先做完整备份,再做日志事务备份。

1、主数据必须设置成完整模式进行备份,如下图:

备份数据库(恢复模式选择完整备份)

2、备份事务日志,如下图:

备份事务日志(“备份类型”选成“事务日志”且备份目录与备份数据库的目录一致)

将备份文件在备机上使用主机的全备文件进行还原,在还原数据的时候需要使用选上“with non recover”。如图所示:

执行成功数据库将会变成这个样子:

3、建立镜像

--在备机中执行如下语句:

ALTER DATABASE shishan SET PARTNER = 'TCP://172.17.30.4:5022';

说明:shishan为数据库名,需要根据实际进行修改。172.17.30.4为主机IP地址,需根据实际进行修改。

--主机执行:

ALTER DATABASE shishan SET PARTNER = 'TCP://172.17.30.5:5022';

说明:shishan为数据库名,需要根据实际进行修改。172.17.30.5为备机IP地址,需根据实际进行修改。

执行成功后:

做到这一步,数据库热备就完成了

下面是一些常用的命令:

--切换主备

use master;

alter database testdb set partner failover;

--备机强制切换

use master;

alter database testdb set partner force_service_allow_data_loss;

--恢复镜像

use master;

alter database testdb set partner resume;

--取消见证服务器

ALTER DATABASE testdb SET WITNESS OFF ;

--取消镜像

ALTER DATABASE testdb SET PARTNER OFF;

--设置镜像数据库还原为正常

RESTORE DATABASE testdb WITH RECOVERY;

(关于数据库备份和数据库集群,等待小编下次分析)

如果你觉得本文对你有所帮忙,帮忙点下下面的关注吧

微软sql服务器双机热备,office2014-SQL Server2014 R2 双机热备,保护你的数据相关推荐

  1. 微软sql服务器开机自启,使用 SQL Server 服务启动选项

    使用 SQL Server 服务启动选项 12/15/2008 本文内容 安装 SQL Server 时,启动程序将把一组默认的启动选项写入 Microsoft Windows 注册表. 可以使用这些 ...

  2. 微软sql服务器关闭了会怎样,sql server 服务启动后 自动关闭 求

    当前位置:我的异常网» Sql Server » sql server 服务启动后 自动关闭 求 sql server 服务启动后 自动关闭 求 www.myexceptions.net  网友分享于 ...

  3. 微软sql服务器是什么,什么是 SQL Server 2016 R Services?

    什么是 SQL Server 2016 R Services? 08/06/2020 本文内容 仅限 适用于: SQL Server 2016 (13.x) R Services 是 SQL Serv ...

  4. sql服务器怎么删除日志文件,SQL数据库怎么删除日志ldf

    一.简单方法 –SQL Server收缩方法 1.右键数据库→属性→选项→故障还原模型→设为简单→确定: 2.右键数据库→所有任务→收缩数据库→确定: 3.右键数据库→属性→选项→故障还原模型→设为大 ...

  5. XP系统连接不到sql 服务器,Window XP 环境下SQL Server2008局域网连接配置

    数据库配置步骤如下: 1.如果安装的时候已经选择"混合模式(SQL Server身份验证和Windows身份验证)(M)",并且已经为SQL Server系统管理员分配了账户和密码 ...

  6. 微软旷视人脸识别100%失灵!照片「隐身衣」,帮你保护照片隐私数据

    本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处. 左图,右图,你能看出区别吗? 其实,算法已经悄悄给右边的照片加上了微小的修改. 但就是这样肉眼根本看不出来的扰动,就能10 ...

  7. dot net操作sql服务器大全

    李洪根 SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象.SQL-DM ...

  8. SQL SERVER 2008 R2 双机热备操作流程-MICROSOFT SQL SERVER 双机热备份,实时同步

    1.两台服务器,主服务器,从服务器,两台服务器都安装SQL Server 2008R2并且安装相同表结构的数据库(需要实时同步的数据库)–追加:没有主键的表不能进行数据同步 2.主服务器数据库安装完毕 ...

  9. 服务器磁盘操作系统双机软件集成,实战:ROSE HA双机热备系统安装指南

    在对系统连续运营要求较高的系统中,我们通常有RAID.hot spare来保障存储系统以及数据的安全性,但是仅仅存储系统的安全就足够了么?为了防止服务器应用程序的意外宕机,我们通常还会通过两台服务器冗 ...

  10. 微软SQL服务器登录,Microsoft SQL Server 【Windows 身份验证】和 【sa】都无法登录的解决方案...

    1.修改启动参数:打开[SQL Server 配置管理器(SQL Server Configuration Manager)]→右键[SQL Server(MSSQLSERVER)]属性→高级(Adv ...

最新文章

  1. 这群人学做AI架构师,目标却是让人们感知不到AI的存在
  2. 点阵大屏语音感应时计——人体感应
  3. Outlook2013修改数据文件默认存放目录
  4. IOS控件的应用UIPageController与UIScrollView
  5. 使用Hibernate批量获取
  6. gradient设置上下渐变_PaintCode Mac使用教程:如何使用渐变色
  7. php 5.3.9 漏洞,PHP-5.3.9远程执行任意代码漏洞(CVE-2012-0830) 详解
  8. api-ms-win-crt-process-l1-1-0.dll 丢失的处理,遇到问题和完美解决
  9. SESSION 与 COOKIE的区别是
  10. angularjs 滑块验证码 移动端_仿支付宝滑块验证码效果的手机端实现
  11. 斐讯T1刷机详细指南
  12. 智能门锁与网关:海康萤石智能门锁的网关分析(二)
  13. 中维监控显示无法连接服务器失败,中维远程监控系统服务器端
  14. xp系统遭遇STOP 0X0000007B蓝屏,附解决方案
  15. android barchart设置标题,android - 如何设置MPAndroidChart BarChart的高度和宽度? - 堆栈内存溢出...
  16. 泛微oa流程表单之明细表下拉框事件
  17. 英语微课-Speaking Confidently
  18. seata之jvm参数解析
  19. ai将会怎样影响计算机的发展,AI再升级!人工智能会对我们的未来产生怎样的影响?...
  20. Qt项目-------掌上银行(客户端)

热门文章

  1. C#中的线程lt;一gt;
  2. windows 2003 server IIS权限设置
  3. smtp、esmtp、pop3命令使用
  4. Python 画数学函数图像 matplotlib.pyplot
  5. java判断1到1000素数_JAVA作业.找出1~1000以内的质数
  6. linux使用中的问题 --- (cp: missing destination file operand after xxxx)
  7. ORM的个人简单理解以及持久化和持久层的简单理解、Hibernate的简单理解,mybatis 的好处通俗易懂
  8. 51单片机怎么显示当前时间_我电脑时间显示坏了,怎么修改不了?该怎么办?详细图文教你解决...
  9. python图形编程环境环境_Python开发环境Wing IDE matplotlib 2D绘图库代码调试技巧小结...
  10. invest模型_ARK Invest最新报告 :AI训练成本下降了100倍,但训练最先进AI模型的成本惊人...