数据库镜像:同一台机器的两个不同实例上配置数据库镜像 + 另一台见证服务器

1、基本的信息本文主要是在2台笔记本上配置数据库镜像,通过证书来实现验证,而不是用域账户来实现。

另外,本文配置的是高安全性的数据库镜像,能实现自动秒级切换,需要2台机器。

注意:主体、镜像实在同一台服务器上的两个实例上的。

主体服务器ip:192.168.1.101 实例:MSSQLSERVER 文件目录:c:\share镜像服务器ip:192.168.1.101 实例:SQL2008R2 文件目录:e:\share见证服务器ip:192.168.1.102 文件目录:c:\注意:下面所有的代码,都需要按照(编号)的顺序,在相应的服务器上执行。

比如:(1)是在主体服务器上执行的,(2)是在镜像服务器上执行的,(3)又是在主体服务器执行的,所有的操作必须要按照(编号)中的编号的顺序来执行。

2、主体服务器的配置需要把数据库备份文件c:\share\DB_Mirror.bak 复制到到e:\share\DB_Mirror.bak:-- ===========================================-- 无论是主体服务器、镜像服务器, 还是见证服务器-- 除特别说明外,均需要保证下面的操作在master库中执行USE masterGO-- ===========================================--(1)建立镜像主体数据库-- 此操作主体服务器上执行-- a. 建立测试数据库CREATE DATABASE DB_MirrorON(NAME = DB_Mirror_DATA,FILENAME = N'c:\share\DB_Mirror.mdf')LOG ON(NAME = DB_Mirror_LOG,FILENAME = N'c:\share\DB_Mirror.ldf')--设置数据库的恢复模式是完全模式ALTER DATABASE DB_Mirror SETRECOVERY FULLGO-- b. 完全备份,需要把这个完全备份文件,传输到镜像服务器上BACKUP DATABASE DB_MirrorTO DISK = N'c:\share\DB_Mirror.bak'WITH FORMATGO执行代码后,需要把c:\share\CT_Mirror_SrvA.cer证书文件,复制到e:\share\CT_Mirror_SrvA.cer:-- ===========================================--(3)主体服务器上的数据库镜像端点及身份验证用的证书-- 此操作主体服务器上执行-- a. 用于数据库镜像端点身份验证的证书IF NOT EXISTS( -- 使用数据库主密钥加密证书SELECT * FROM sys.symmetric_keysWHERE name = N'##MS_DatabaseMasterKey##')CREATE MASTER KEYENCRYPTION BY PASSWORD = N'wcis123'--drop certificate ct_mirror_srvaCREATE CERTIFICATE CT_Mirror_SrvAWITHSUBJECT = N'certificate for database mirror',START_DATE = '19990101',EXPIRY_DATE = '99991231'GO-- b. 备份证书, 以便在与此端点通信的另一端建立此证书BACKUP CERTIFICATE CT_Mirror_SrvATO FILE = 'c:\share\CT_Mirror_SrvA.cer'GO--drop endpoint edp_mirror-- c. 数据库镜像端点CREATE ENDPOINT EDP_MirrorSTATE = STARTEDAS TCP(LISTENER_PORT = 5022, -- 镜像端点使用的通信端口LISTENER_IP = ALL) -- 侦听的IP地址FOR DATABASE_MIRRORING(AUTHENTICATION = CERTIFICATE CT_Mirror_SrvA, -- 证书身份验证ENCRYPTION = DISABLED, -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法ROLE = ALL) -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)GO把镜像创建的证书文件e:\share\CT_Mirror_SrvB.cer复制到到c:\share\CT_Mirror_SrvB.cer 后,运行如下代码:-- ===========================================--(6)在主体服务器上完成镜像服务器数据库镜像端点的传输安全模式配置-- 此操作主体服务器上执行-- a. 建立主体服务器上的证书(假设镜像服务器上备份的证书已经复制到c:\share\CT_Mirror_SrvB.cer)CREATE CERTIFICATE CT_Mirror_SrvBFROM FILE = 'c:\share\CT_Mirror_SrvB.cer'-- b. 建立登录,用这个login来登录到镜像服务器上CREATE LOGIN LOGIN_Mirror_SrvBFROM CERTIFICATE CT_Mirror_SrvB-- c. 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvBGO注意,主体和镜像是在同一台服务器上的,我就把连接字符串写成了这样:'TCP://192.168.1.101,14335:5023'这里的14335是SQL2008R2这个实例的端口,但是这么写提示找不到镜像服务器。

我在网上搜索了一下,没找到什么有用的资料,于是我想通过图形化界面来设置,当设置到镜像服务器时,提示:如果主体、镜像或者见证,在同一个机器上时,那么必须使用不同的数据库镜像连接端口,也就是比如:主体的监听端口是:5022镜像的监听端口是:5023见证的监听端口是:5022所以,需要通过如下的连接字符串来设置数据库镜像,意思就是连接到5023端口,因为数据库镜像在这个端口进行监听:-- ===========================================--(8)在主体服务器上启用数据库镜像(默认为高安全性模式,所以不用进行模式设置)-- 此操作主体服务器上执行ALTER DATABASE DB_Mirror SETPARTNER = 'TCP://192.168.1.101:5023'GO把在见证服务器上创建的证书,复制到主体服务器上的c:\share\CT_Mirror_SrvWitness.cer,然后执行如下代码:-- ===========================================--(11)在主体服务器上完成见证服务器数据库镜像端点的传输安全模式配置-- 此操作主体服务器上执行-- a. 建立见证服务器上的证书(假设见证服务器上备份的证书已经复制到c:\share\CT_Mirror_SrvWitness.cer)CREATE CERTIFICATE CT_Mirror_SrvWitnessFROM FILE = 'c:\share\CT_Mirror_SrvWitness.cer'-- b. 建立登录CREATE LOGIN LOGIN_Mirror_SrvWitnessFROM CERTIFICATE CT_Mirror_SrvWitness-- c. 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvWitnessGO-- ===========================================--(12)在主体服务器上为数据库镜像启用见证服务器-- 此操作主体服务器上执行ALTER DATABASE DB_Mirror SETWITNESS = 'TCP://192.168.1.102:5022'GO3、镜像服务器的配置把数据库备份文件c:\share\DB_Mirror.bak 复制到到e:\share\DB_Mirror.bak后,再执行下面的代码:-- ===========================================-- 无论是主体服务器、镜像服务器, 还是见证服务器-- 除特别说明外,均需要保证下面的操作在master库中执行USE masterGO-- ===========================================--(2)初始化镜像主体数据库-- 此操作镜像服务器上执行-- 假设主体数据库的完全备份已经复制到 e:\share\DB_Mirror.bak -- SQL Server必须使用相同的账户名来启动RESTORE DATABASE DB_MirrorFROM DISK = 'e:\share\DB_Mirror.bak'WITH REPLACE, NORECOVERY-- 如果镜像数据库文件要放在指定位置, 则启用下面的 Move 选项, MOVE 'DB_Mirror_DATA' TO N'e:\DB_Mirror.mdf', MOVE 'DB_Mirror_LOG' TO N'e:\DB_Mirror.ldf'GO-- ===========================================--(4)镜像服务器上的数据库镜像端点及身份验证用的证书-- 此操作镜像服务器上执行-- a. 用于数据库镜像端点身份验证的证书IF NOT EXISTS( -- 使用数据库主密钥加密证书SELECT * FROM sys.symmetric_keysWHERE name = N'##MS_DatabaseMasterKey##') CREATE MASTER KEYENCRYPTION BY PASSWORD = N'wwwwc123'CREATE CERTIFICATE CT_Mirror_SrvBWITHSUBJECT = N'certificate for database mirror',START_DATE = '19990101',EXPIRY_DATE = '99991231'GO-- b. 备份证书, 以便在与此端点通信的另一端建立此证书BACKUP CERTIFICATE CT_Mirror_SrvBTO FILE = 'e:\share\CT_Mirror_SrvB.cer'GO注意,数据库镜像端点的监听端口是 5023-- c. 数据库镜像端点CREATE ENDPOINT EDP_MirrorSTATE = STARTEDAS TCP(LISTENER_PORT = 5023, -- 镜像端点使用的通信端口LISTENER_IP = ALL) -- 侦听的IP地址FOR DATABASE_MIRRORING(AUTHENTICATION = CERTIFICATE CT_Mirror_SrvB, -- 证书身份验证ENCRYPTION = DISABLED, -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法ROLE = ALL) -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)GO把镜像创建的证书e:\share\CT_Mirror_SrvB.cer复制到c:\share\CT_Mirror_SrvB.cer后,再执行下面的代码:-- ===========================================--(5)在镜像服务器上完成主体服务器数据库镜像端点的传输安全模式配置-- 此操作镜像服务器上执行-- a. 建立主体服务器上的证书(假设主体服务器上备份的证书已经复制到C:\CT_Mirror_SrvA.cer)CREATE CERTIFICATE CT_Mirror_SrvAFROM FILE = 'e:\share\CT_Mirror_SrvA.cer'-- b. 建立登录CREATE LOGIN LOGIN_Mirror_SrvAFROM CERTIFICATE CT_Mirror_SrvA-- c. 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvAGO-- ===========================================--(7)在镜像服务器上启用数据库镜像-- 此操作镜像服务器上执行ALTER DATABASE DB_Mirror SETPARTNER = 'TCP://192.168.1.101:5022'GO把见证服务器上的证书,拷贝到镜像服务器上后,再执行下面的代码:-- ===========================================--(10)在镜像服务器上完成见证服务器数据库镜像端点的传输安全模式配置-- 此操作镜像服务器上执行-- a. 建立见证服务器上的证书(假设见证服务器上备份的证书已经复制到c:\CT_Mirror_SrvWitness.cer)CREATE CERTIFICATE CT_Mirror_SrvWitnessFROM FILE = 'e:\share\CT_Mirror_SrvWitness.cer'-- b. 建立登录CREATE LOGIN LOGIN_Mirror_SrvWitnessFROM CERTIFICATE CT_Mirror_SrvWitness-- c. 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvWitnessGO4、见证服务器的配置把主体服务器和镜像服务器上的证书,拷贝到见证服务器上后,再执行下面的代码:-- ===========================================-- 无论是主体服务器、镜像服务器, 还是见证服务器-- 除特别说明外,均需要保证下面的操作在master库中执行USE masterGO-- ===========================================--(9)配置见证服务器-- 此操作在见证服务器上执行-- a. 完成见证服务器上数据库镜像端点的传输安全模式配置-- (a). 用于数据库镜像端点身份验证的证书IF NOT EXISTS( -- 使用数据库主密钥加密证书SELECT * FROM sys.symmetric_keysWHERE name = N'##MS_DatabaseMasterKey##')CREATE MASTER KEYENCRYPTION BY PASSWORD = N'abc.123'CREATE CERTIFICATE CT_Mirror_SrvWitnessWITHSUBJECT = N'certificate for database mirror',START_DATE = '19990101',EXPIRY_DATE = '99991231'GO-- (b). 备份证书, 以便在与此端点通信的另一端建立此证书BACKUP CERTIFICATE CT_Mirror_SrvWitnessTO FILE = 'c:\CT_Mirror_SrvWitness.cer'GO-- (c). 数据库镜像端点CREATE ENDPOINT EDP_MirrorSTATE = STARTEDAS TCP(LISTENER_PORT = 5022, -- 镜像端点使用的通信端口LISTENER_IP = ALL) -- 侦听的IP地址FOR DATABASE_MIRRORING(AUTHENTICATION = CERTIFICATE CT_Mirror_SrvWitness, -- 证书身份验证ENCRYPTION = DISABLED, -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法ROLE = ALL) -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴)GO-- b. 完成主体服务器上数据库镜像端点的传输安全模式配置-- (a). 建立主体服务器上的证书(假设主体服务器上备份的证书已经复制到C:\CT_Mirror_SrvA.cer)CREATE CERTIFICATE CT_Mirror_SrvAFROM FILE = 'C:\CT_Mirror_SrvA.cer'-- (b). 建立登录CREATE LOGIN LOGIN_Mirror_SrvAFROM CERTIFICATE CT_Mirror_SrvA-- (c). 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvAGO-- c. 完成镜像服务器上数据库镜像端点的传输安全模式配置-- (a). 建立镜像服务器上的证书(假设镜像服务器上备份的证书已经复制到C:\CT_Mirror_SrvB.cer)CREATE CERTIFICATE CT_Mirror_SrvBFROM FILE = 'C:\CT_Mirror_SrvB.cer'-- (b). 建立登录CREATE LOGIN LOGIN_Mirror_SrvBFROM CERTIFICATE CT_Mirror_SrvB-- (c). 授予对数据库镜像端点的 connect 权限GRANT CONNECT ON ENDPOINT::EDP_MirrorTO LOGIN_Mirror_SrvBGO5、配置完成后的图主体:镜像:如果这个时候,主体服务器挂了会怎么样呢?这里,通过关闭服务来模拟主体服务器故障的情况:我们会发现,镜像自动变为主体:再次启动MSSQLSERVER实例的服务器,也就是启动原主体,我们发现原来的主体,自动变为镜像:当然,这里也可以进行手工故障转移,在SQL2008R2实例的主体上执行如下的代码,可以实现手工故障转移到镜像服务器,也就是当主体挂掉后,自动把镜像转为主体,继续提供数据库服务:alter database db_mirrorset partner failoverMSSQLSERVER 从镜像变为主体:SQL2008R2 从主体变为镜像之所以能自动切换的原因是,本文配置的是高安全模式,再加上见证服务器,就可以实现秒级的自动故障转移,这个可以设置为高安全模式:alter database db_mirrorset safety full如果配置的是高可用性模式,可以使用强制故障转移:--设置为高可用性模式alter database db_mirrorset safety off--当主体数据库未出现故障时,不能故障转移到镜像数据库--当主体数据库出现故障时,在镜像数据库中可以强制故障转移到镜像服务器alter database db_mirrorset partner force_service_allow_data_loss--当原来的主体数据库重新进入服务状态,并且能和新的主体服务器连接时--可以恢复数据库镜像,但是会导致所有未发送的日志记录、对应的更新丢失alter database db_mirrorset partner resume。

合集下载

镜像双机热备方案

镜像双机热备方案

镜像双机热备方案概述镜像双机热备方案是一种实现高可用性和数据冗余的解决方案。

在这种方案中,使用两台服务器通过实时数据同步来实现热备。

当一台服务器发生故障时,另一台服务器能够马上接管服务并继续提供服务,以确保系统的连续性和可用性。

方案架构主服务器主服务器是整个方案的核心部分,它负责处理所有的请求和事务。

主服务器将数据实时同步到备用服务器上,以保持数据的一致性。

主服务器需要足够的计算和存储资源来处理大量的请求。

备用服务器备用服务器是主服务器的镜像,它与主服务器保持实时数据同步。

备用服务器处于待命状态,可以随时接管主服务器的服务。

备用服务器必须与主服务器具备相同的计算和存储资源,以确保能够处理所有的请求。

数据同步为了实现数据的实时同步,可以使用多种方法,包括文件级别的同步、数据库级别的同步或者应用程序级别的同步。

具体的选择取决于系统的需求和数据的特点。

心跳检测为了保证镜像双机热备方案的可靠性,需要通过心跳检测来监控主服务器的状态。

主服务器会定期向备用服务器发送心跳信号,以确认主服务器的状态。

如果主服务器出现故障,备用服务器将立即接管服务。

实施步骤步骤一:规划架构在实施镜像双机热备方案之前,首先需要对系统和网络进行规划。

确定主服务器和备用服务器的硬件配置需求以及网络连接方式。

步骤二:安装配置主服务器在主服务器上安装操作系统和所需的软件。

配置主服务器的网络设置,并确保主服务器能够正常工作。

步骤三:安装配置备用服务器在备用服务器上安装操作系统和所需的软件。

配置备用服务器的网络设置,并确保备用服务器能够正常工作。

步骤四:配置数据同步选择适合系统的数据同步方式,并进行相应的配置。

确保主服务器上的数据能够实时同步到备用服务器上。

步骤五:配置心跳检测配置心跳检测机制,以确保能够实时监控主服务器的状态。

当主服务器故障时,备用服务器能够自动接管服务。

步骤六:测试和优化进行系统测试,确保镜像双机热备方案能够正常工作。

根据测试结果进行优化,以达到更高的性能和稳定性。

SQLServer2008数据库镜像(带见证服务器)

SQLServer2008数据库镜像(带见证服务器)

SQLServer 数据库镜像一、环境IP和计算机名分配:二、说明:SQLServer数据库镜像分为三种模式:高性能(异步)、不带自动故障转移功能的高安全(同步)、带自动故障转移的高安全(同步)--需要见证服务器本实验采用第三种模式,配置带自动故障转移的数据库镜像,主要操作都在证书交换和用户创建上。

注意创建端点时见证服务器端点类型为WITNESS 主端和镜像端端点类型为PARTNER 。

三、配置前期操作将需要镜像的数据库设置为“完整恢复模式”ALTER DATABASE aaa SET RECOVERY FULL;1、备份主端数据库:BACKUP DATABASE aaa TO DISK=’D:\aaa.bak’;2、将备份文件拷贝到镜像端3、用with norecovery 参数还原主端备份到镜像端RESTORE DATABASE aaa FROM DISK=’ D:\aaa.bak’ WITH REPLACE,NORECOVERY;此时,镜像端数据库处于正在还原模式,数据库不可用主端配置:USE[master]--创建MASTER KEY--DROP MASTER KEYCREATE MASTER KEY ENCRYPTION BY PASSWORD='mirror'--创建证书--SELECT * FROM sys.CERTIFICATESDROP CERTIFICATE Host_A_CertCREATE CERTIFICATE Host_A_CertWITH SUBJECT='Host_A_Cert',START_DATE='2013-05-01';--创建端点SELECT*FROM SYS.endpointsDROP ENDPOINT EndPoint_MirroringCREATE ENDPOINT EndPoint_MirroringSTATE=STARTEDAS TCP(LISTENER_IP=ALL,LISTENER_PORT=5522)FOR DATABASE_MIRRORING(AUTHENTICATION=CERTIFICATE Host_A_Cert,ENCRYPTION=REQUIRED ALGORITHM AES,ROLE=PARTNER--端点类型);--创建用户--DROP LOGIN Host_A_LoginCREATE LOGIN Host_A_Login WITH PASSWORD='mirror';--DROP USER Host_A_UserCREATE USER Host_A_User FOR CERTIFICATE Host_A_Cert;--授予对远程镜像端点的登录名的CONNECT 权限。

配置数据库镜像

配置数据库镜像
2.在代码编辑区域中输入代码:
USE MASTER
GO
Alter database adventureWorks set recovery full with no_wait
go
3.按F5键执行代码,确认代码执行成功后,关闭代码编辑窗口
在主体服务器创建镜像通讯端点,并授予用户访问权限
4.在SQL Server Management Studio的工具栏中选择新建查询,在服务器名称中选择SQLDEMO,在身份验证中选择“Windows验证”
25.可通过查看SQLDEMO和SQLDEMO\MIRROR两实例AdventureWorks数据库的状态来确定数据库镜像的角色和状态
执行手动故障切换
26.在SQL Server Management Studio的工具栏中选择新建查询,在服务器名称中选择SQLDEMO,在身份验证中选择“Windows验证”
go
alter database AdventureWorks set partner='tcp://sqldemo:5023'
alter database AdventureWorks set partner='tcp://sqldemo:5024'
go
24.按F5键执行代码,确认代码执行成功后,关闭代码编辑窗口
go
grant connect on endpoint::endpoint_mirroring to [builtin\administrators]
go
6.按F5键执行代码,确认代码执行成功后,关闭代码编辑窗口
在镜像服务器创建镜像通讯端点,并授予用户访问权限
7.在SQL Server Management Studio的工具栏中选择新建查询,在服务器名称中选择SQLDEMO\MIRROR,在身份验证中选择“Windows验证”

Sql2022数据库镜像配置详细教程

Sql2022数据库镜像配置详细教程

Sql2022数据库镜像配置详细教程数据库镜像配置实施步骤:本文档主要讲解如何用SQLServer管理台配置数据库镜像主服务器:tb-develop镜像服务器:tb-guangi见证服务器:taobao-guangi1.备份数据库及传输日志首先全备份数据库.选择备份目录,备份类型选择Full然后备份传输日志2.在镜像服务器上还原数据库在镜像服务器上新建数据库右键选择还原数据库选定还原地址.注意:一定要选择NORECOVERY模式还原还原完后数据库显示模式如下3.在主数据库上配置回到主数据库上,点击镜像点击ConfigureSecurity设置下一步如果不需见证服务器此处选择No,本示例应用见证服务器下一步下一步点击连接,输入登录密码下一步设置见证服务器连接下一步如果3台服务器上运行SQLServer的用户不一致,请在此处分别设置运行用户.此处尤为重要,建议分别在服务器上运行SQLServer的账户设置为同一用户.Ne 某tFinih点击[开始镜像]立即运行配置好的镜像通过Failover,可手工切换主-镜像服务器.如果配置了见证服务器,当主数据库出现异常后,见证服务器会自动切换镜像服务器为主服务器.时间为10秒以内.(官方给出的时间更短)此tab页中的其它功能不在一一介绍.Q&A1.Q:当配置数据库镜像时出现无法启动镜像的异常是什么原因A:当配置数据库镜像时,MS默认将机器名做为服务器名称,所以会依赖于DNS解析.这样会导致无法定位到具体服务器.请尽量固定3台服务器的IP,如果IP发生变化,本机无法解析时,要去DNS上清除缓存,并重新注册客户端DNS.2.Q:镜像已经配置成功,启动时会报权限错误,是什么原因A:最经常出现的原因是3台服务器上的运行用户不一致,配置数据库镜像时也没有指定运行帐号.请到服务中修改MSSQLServer的运行账户,则可解决.3.Q:还原数据库时,报错无法还原,日志版本不一致,什么原因A:备份数据库时,一定要备份传输日志,并还原到镜像数据库.否则无法将此数据库作为镜像数据库。

数据库镜像

数据库镜像

数据库镜像概述“数据库镜像”是用于提高数据库可用性的主要软件解决方案。

镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。

简单恢复模式和大量日志恢复模式不支持数据库镜像。

因此,有大容量操作始终被完整地记入日志。

数据库镜像可使用任意支持的数据库兼容级别。

数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不用的SQL Server 数据引擎服务器实例上。

通常,这些服务器实例驻留在不同位置的计算机上。

其中一个服务器实例服务于客户端(“主体服务器”),另一个股务器实例则根据镜像会话的配置和状态,充当热备用或备用服务器(“镜像服务器”)。

同步数据库镜像会话时,数据镜像提供热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。

为同步会话时,竞相服务器通常用作备用服务器(可能造成数据的丢失)。

数据库镜像的优点数据库镜像是一种简单的策略,具有下列优点:∙增强数据保护功能。

数据库镜像提供完整或接近完整的数据冗余,具体取决于运行模式是高安全性还是高性能。

∙提高数据库的可用性。

发生灾难时,在具有自动故障转移功能的高安全性模式下,自动故障转移可快速是数据库的备用副本联机(而不会发生丢失数据)。

在其他运行模式下,数据库管理员可以选择强制服务(可能丢失数据),以代替数据库的备用副本。

∙提高数据库在升级期间的可用性。

若要尽量减少镜像服务器的停机时间,你可以按顺序升级与数据库镜像会话的SQL Server 实例。

这样只会导致一个故障转移的停机时间。

这种形式称为“滚动升级”。

数据镜像库的工作方式在“数据库镜像会话”中,主体服务器和镜像服务器作为“伙伴”进行通信和协作。

两个伙伴在会话中扮演互补的角色:“主体服角色”和“镜像角色”。

在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。

每个伙伴拥有其当前角色。

拥有主体角色的伙伴成为“主体服务器”,其数据库副本为当前的主体数据库。

拥有镜像角色的伙伴称为“镜像服务器”,其数据库副本为当前的镜像数据库。

SQLServer2008数据库镜像设置文档

SQLServer2008数据库镜像设置文档

SQLServer2008数据库镜像设置方法一、域内两台服务器镜像--为确保连接正常两台服务器环境设置步骤:1.SQL Server 服务密码同步账号使用域登陆名.密码为登陆密码.2.SQL Server配置管理TCP/IP协议开启3.数据库方面DAC连接开启.(防止远程无法连接问题)一.数据库设置步骤:1.Sa身份或Windows身份登陆,添加本地服务器独立镜像访问用户并配置相应权限(sysadmin必要):数据库映射可为空镜像的连接权为必要.2.要做镜像的主体数据库镜像用户设置增加本地镜像用户保持用户名一致属性或权限可不做变更二.数据库镜像处理1.主服务器主体数据库完整备份2.主服务器主体数据库事务日志备份3.在镜像服务器(备份服务器)恢复备份复制两个备份文件至镜像服务器,先进行完整备份还原两项必选项提示还原成功后数据库状态为正在还原再对事务日志进行还原一项必选项提示还原成功后可运行语句进行调试(镜像数据库名及主体数据IP)主体服务器也可用镜像服务器IP进行调试ALTERDATABASE PlayNowFinance SETPARTNER='TCP://10.126.64.16:5022';4.主体数据库进行镜像设置若无见证服务器进行否选默认5022端口连接镜像服务器(使用镜像用户名)使用主体数据库中已加入的镜像用户若不开始镜像可选择高性能(异步)进行数据库镜像操作状态提示已同步:数据库已完全同步时镜像完成主:镜像:做故障转移时必须选择”高安全(同步)”才可正常转移到镜像此时镜像服务器数据库变成可用状态(主体与镜像互换)欠缺见证服务器设置与不同域服务器证书设置使用镜像:使用或者SQL Native Client能够自动连接到故障转移后的伙伴,连接字符串如下所示:ConnectionString="DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;" DataSource= A;这个就是我们常用的主数据库的ip地址,Failover Partner=B;这个填写的就是镜像数据库的ip地址,一旦出现了连接错误,会在超时以后自动去连接镜像数据库。

SQLServer2012数据库镜像配置完整篇

SQLServer2012数据库镜像配置完整篇“数据库镜像”是⼀种提⾼ SQL Server 数据库的可⽤性的解决⽅案。

镜像基于每个数据库实现,并且只适⽤于使⽤完整恢复模式的数据库。

数据库镜像维护⼀个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上。

通常,这些服务器实例驻留在不同位置的计算机上。

启动数据库上的数据库镜像操作时,在这些服务器实例之间形成⼀种关系,称为“数据库镜像会话”。

其中⼀个服务器实例使数据库服务于客户端(“主体服务器”),另⼀个服务器实例则根据镜像会话的配置和状态,充当热备⽤或温备⽤服务器(“镜像服务器”)。

具有⾃动故障转移功能的⾼安全性模式要求使⽤第三个服务器实例,称为“见证服务器”。

主体服务器 (principal server)在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。

镜像服务器 (mirror server)在数据库镜像配置中,镜像数据库所在的服务器实例。

见证服务器 (Witness)仅⽤于⾼安全性模式,SQL Server 的⼀个可选实例,它能使镜像服务器识别何时要启动⾃动故障转移。

与这两个故障转移伙伴不同的是,见证服务器并不能⽤于数据库。

见证服务器的唯⼀⾓⾊是⽀持⾃动故障转移。

所有数据库镜像会话都只⽀持⼀台主体服务器和⼀台镜像服务器。

下图显⽰了该配置:下图显⽰了包含见证服务器的配置:更多关于SQL数据库镜像概念请参考Technet⽹站,链接如下:*****************************************************************************************************整个SQL Server 2012 数据库镜像的配置分为以下6个⼩章节环境准备安装数据库功能启⽤TCP/IP协议和RemoteDAC数据库准备⼯作数据库镜像配置功能验证*****************************************************************************************1. 环境准备1.1 本次Demo使⽤的服务器清单如下:2. 安装数据库功能2.1 在SQL01、SQL02和SQL03三台数据库服务器,打开服务器管理器并根据向导完成.Net framework3.5的安装2.2在SQL01、SQL02和SQL03三台数据库服务器分别插⼊并运⾏SQL Server 2012 Enterprise SP1安装程序,点击“安装”—“全新SQL Server独⽴安装或向现有安装添加功能”,根据向导完成SQL功能的安装2.3 在”功能选择”页⾯,根据实际应⽤需求勾选所需的功能,下⼀步2.4 在”服务器配置”页⾯,修改服务账户为域账户(确保该账户密码永不过期),启动类型为”⾃动”2.5 根据向导在SQL01、SQL02、SQL03完成数据库功能的成功安装3. 启⽤TCP/IP协议和RemoteDAC3.1 在SQL01、SQL02、SQL03中分别打开SQL Server配置管理器,启⽤TCP/IP协议3.2 在SQL01、SQL02、SQL03中分别打开SQL Server Management Studio,右键实例选择“⽅⾯”3.3 选择“外围应⽤配置器”—将属性“RemoteDACEnabled”的值改为“True”(三台都要做)4. 数据库准备⼯作(创建、备份和还原数据库)4.1 在SQL01(主体服务器)右键”数据库”—“新建数据库”4.2 在”常规“页⾯输⼊数据库名称4.3 在”选项”页⾯确保恢复模式为”完整“4.4 右键”DB01”选择”任务“—”备份“4.5 备份类型选择”完整“,点击”确定“4.6 备份成功完成后点击”确定“4.7 选择备份类型为”事务⽇志“,点击”确定“完成对事务⽇志的备份4.8 将备份⽂件拷贝到镜像服务器对应的路径,默认备份路径为“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup”4.9 在镜像服务器打开SQL Server Management Studio,右键“数据库”选择“创建数据库”4.10 输⼊数据库名称,点击“确定”(此数据库名称必须与SQL01中创建的数据库名称保持⼀致)4.11 右键新创建的数据库“DB01”--选择“任务”—“还原”—“数据库”4.12 选择“设备”,点击右边“…”4.13 点击”添加”4.14 选择刚才从SQL01复制的备份⽂件,点击”确定”4.15 点击“确定”4.16 勾选要还原的备份集4.17 在“选项”页⾯勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进⾏结尾⽇志备份”,点击“确定”5. 数据库镜像配置5.1 在主体服务器右键“DB01”选择“任务”—“镜像”5.2 点击“配置安全性”6. 功能验证6.1 在主体服务器SQL01右键数据库“DB01”选择“任务”—“启动数据库镜像监视器”。

SQLServer镜像

一、镜像简介1、简介数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server 数据库中。

镜像不能直接访问;它只用在错误恢复的情况下才可以被访问。

要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境。

主服务器被称为“主机”,第二个服务器被称作“备机”。

主机数据库就是你实际用着的数据库,镜像数据库就是你的数据库的备用拷贝。

当事务写入你的基本服务器的时候,他们也同样被传送到并写入你的镜像数据库中。

除了基本和镜像之外,你还可以引入另一个可选的组件,名为“见证”。

见证服务器是第三个SQL Server 2005运行实例,它是在判断什么时候进行错误恢复的时候,用于基本和镜像之间内部交流。

只有当你想实现自动错误恢复的时候用到这个选项。

它实现了2比1投票的能力,当我的一个组件不可达,并因此需要进行错误恢复的时候。

见证服务器只有在你想实现自动错误恢复的时候才需要用到。

2、优点下表是SQL Server可用性官方解决方案的一个对照表,现时我中心使用的恢复模式是“冷备份”中的“备份/恢复”,通常来说“热备份”比“冷备份”的可用性更高,恢复更快,更适合我中心现时的实际情况。

如果不从成本考虑的话,“热备份”中的“故障转移群集”的可用性是最高的,但是故障转移群集需要借助磁盘阵列而且建设本身复杂性较高。

数据库镜像的建立并没有太多的硬件要求,最起码没有像“故障转移群集”需要共享存储这么高的要求。

2、缺点(1)由于SQL Server是一个实例多个数据库的产品,数据库镜像技术是基于数据库级别的,因此每次主数据库新增数据库都必须为备机增加数据库并且为新增的数据库建立镜像关系。

(2)数据库的登录名和用户是存储在master数据库,master数据库是不能做镜像的,所以每次操作数据库的登录名和用户也是需要多维护一份,(3)数据库作业不能得到相应的维护。

服务器镜像部署及克隆的方法

服务器镜像部署及克隆的方法在服务器管理和运维中,镜像部署和克隆是常见且重要的操作。

通过镜像部署和克隆,可以快速部署多台相同配置的服务器,提高工作效率,减少重复劳动。

本文将介绍服务器镜像部署及克隆的方法,帮助您更好地管理服务器资源。

一、服务器镜像部署的方法1. 准备工作在进行服务器镜像部署之前,首先需要准备好一台源服务器,该服务器已经配置好所需的操作系统、软件和设置。

确保源服务器的状态是您想要复制的标准状态。

2. 创建镜像在源服务器上使用相应的工具(如Ghost、Acronis True Image等)创建服务器镜像。

将源服务器的整个系统盘进行镜像备份,包括操作系统、应用程序、数据等内容。

保存镜像文件到可访问的位置,如外部硬盘、网络存储等。

3. 镜像部署将镜像文件部署到目标服务器上。

可以通过网络传输、光盘、U盘等方式将镜像文件传输到目标服务器,然后使用相应的工具将镜像还原到目标服务器的硬盘上。

在还原完成后,重新启动目标服务器,即可实现服务器镜像部署。

4. 配置网络和参数在部署完成后,需要根据实际情况配置目标服务器的网络参数、IP地址、主机名等信息,确保服务器能够正常工作并与其他设备通信。

5. 测试验证在完成镜像部署后,需要对目标服务器进行测试验证,确保服务器的功能和性能符合预期。

可以进行网络连接测试、应用程序测试、数据访问测试等,排查可能存在的问题并及时解决。

二、服务器克隆的方法1. 准备工作与镜像部署类似,服务器克隆也需要一台源服务器作为模板。

确保源服务器已经配置好所需的环境和设置,可以作为其他服务器的克隆对象。

2. 克隆操作使用相应的工具(如VMware vCenter Server、Hyper-V Manager等)进行服务器克隆操作。

在虚拟化环境中,可以通过创建虚拟机模板、复制虚拟机等方式实现服务器的克隆。

在物理服务器环境中,可以使用硬件克隆工具进行操作。

3. 配置参数在完成服务器克隆后,需要对新服务器进行参数配置。

数据库应用与安全管理课件2.5数据库镜像

数据库镜像概论 • 数据库镜像实际上就是在不同的SQL Setver数据库引
擎服务器实例上维护一个数据库的两个副本。通常在 正式企业环境中,这些服务器实例驻留在不同的计算 机上,甚至可能在不同地域的计算机上。其中一个服 务器实例是直接被客户端连接和使用的,被称为“主 服务器”,另一个服务器实例则根据镜像会话的配置 和状态,充当热备用或温备用服务器,并不被客户端 连接,称为“镜像服务器”。同步数据库镜像会话时, 数据库镜像提供热备用服务器,可支持在已提交事务 不丢失数据的情况下进行快速故障转移。未同步会话 时,镜像服务器通常用做备用服务器,这种情况下可 能造成数据丢失。作。在高安全性模式下, 当会话开始时,镜像服务器将进行初始化,将使镜像 数据库尽快与主体数据库同步。一旦同步了数据库, 事务将按照同步的方式在伙伴双方处提交,这会延长 事务滞后时间。
• 高性能模式,是异步运行。镜像服务器尝试与主体服 务器发送的日志记录保持同步,但主服务器并不会等 待镜像服务器返回成功消息。镜像数据库可能稍微滞 后于主体数据库。但是,数据库之间的时间间隔通常 很小。如果主体服务器的工作负荷过高或镜像服务器 系统的负荷过高,则时间间隔会增大。
使用T-SQL配置数据库镜像
• 数据库镜像的配置相对于备份、恢复等数据库操作来 说要复杂得多,为了便于读者理解,这里就去掉见证 服务器,以最简单的两台数据库服务器:主服务器和 镜像服务器的配置来进行讲解。
• 由于主服务器和镜像服务器都可以放在互联网上,所 以主服务器和镜像服务器之间通信的安全性尤为重要。 出于安全性的考虑,主服务器和镜像服务器之间的通 信必须是可信任的,所以系统要求主服务器和镜像服 务器最好是在同一个域中,通过域账户来进行验证。
使用SSMS配置数据库镜像
• 使用SSMS进行数据库镜像配置相对要简单一些,但是 总体的配置思路与使用T-SQL没有差别,都是建立证 书、交换证书、建立登录用户和建立镜像端点等操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档