SQL2008双机热备方案_第1页
SQL2008双机热备方案_第2页
SQL2008双机热备方案_第3页
SQL2008双机热备方案_第4页
SQL2008双机热备方案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL2008 双机热备方案Question0Sign in to vote 公司要上一套系统, DB 用 SQL2008 ,怎么 实现双机热备?一种方案是用 windows 的故障转移群集搭配 SQL 自己的群 集功能,这种方案需要有共享存储,我现在在虚拟测试环境 没办法做实验,所以暂时先不考虑这个。另外一种是用镜像的方式做双机热备, DB 都放在服务器上, 不用外接存储,主节点服务器 DB 实时复制到备用节点中, 主节点故障后自动跳到备用节点,不会出现服务中断的问题。 这种方式能否实现,该如何操作?因为没做过这种,所以思 路有些乱,需要高手们给点指引,谢谢啦。Friday, Novembe

2、r 09, 2012 7:42 AMReplyQuoteRik1012 10 PointsAnswers0Sign in to vote 你好, 你的方法是不是要有 3 台服务器安装 SQL ,一台主机, 一台备机, 一台做见证, 安装完 SQL 后, 打开 SQL 输入你提供的命令,来实现镜像功能?因为以前 没做过这块,所以比较小白,想细致了解一下,高手有空来 指点指点,谢谢了。你好, 那个见证服务器是可选的,你可以选择安装也可以不安装, 见证服务器的作用就是,如果主机出错,那见证服务器就会 自动地实现故障转移,然后使备机转化成主机,代替主机继 续工作,如果你不安装的就只好出错的时候,自己手

3、动转移 了。也不是说要输入命令, SSMS 里这些都有的, 你直接点击就 可以了,因为我配置的时候也不愿意敲代码,不过这里有现 成的你可以直接复制就好。这篇文档可以手把手教你如果配置,不用写命令,请参考: 。 有什么不清楚的,在问我们,大家相互学习啦。Thanks,Amy Peng立刻免费下载 TechNet 论坛好帮手 Marked as answer by Rik1012Tuesday, November 13, 2012 1:50 AMMonday, November 12, 2012 2:52 AMReplyQuote Amy Peng - MSFT 20,055 PointsAll

4、repliesOSign in to vote你说的故障转移群集和共享存储是HA,微软集群不是个什么好东西,个人看法 只热备的话应该部署镜像 Try SQL Server 2OO8 QQ:315O544O3 dgdbaFriday, November O9, 2O12 9:56 AMReplyQuote dgdba OEM 制造行业 1,480 Points0Sign in to voteAgree, books online tells you how to set db mirroring step by step.Friday, November 09, 2012 1:47 PMRepl

5、y|Quote rmiao News 32,240 Points0Sign in to vote 微软集群不是个什么好东西, dgdba 大侠你 也太偏激了吧我做过 SQL2005 的镜像, 不过步骤跟 2008 应该差不多, 给 你一些示例代码,网上找的,自己亲自测试成功数据库: S_C_SC网段: 192.168.1.X-SQL2005 数据库镜像的步骤-1、检查 SQL Server 2005 数据库-只有 SQL Server 2005 标准版、企业版和开发版才可以建 立数据镜像。-其他版本即 Express 只能作为见证服务器-要保证打上 SP2 补丁 SELECTSERVERPRO

6、PERTY(productlevel)-2 、主备实例互通 -实现互通可以使用域或证书来实现,考虑实现的简单,以 下选取证书的方式实现。注意: 实现“主备数据库实例互通”的操作只需要做一次,每一对主 备 实例(不是数据库)做一次互通。-1、设置镜像数据库为完整恢复模式alter DATABASE S_C_SC set recovery FULL-2、创建证书(主备可并行执行)-主机执行USE master;CREATE MASTER KEY ENCRYPTION BY PASSWORD= joe;CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = HOS

7、T_A certificate ,START_DATE = 2012-09-25;-备机执行USE master;CREATE MASTER KEY ENCRYPTION BY PASSWORD= joe;CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = HOST_B certificate ,START_DATE = 2012-09-25;-见证执行USE master;CREATE MASTER KEY ENCRYPTION BY PASSWORD= joe;CREATE CERTIFICATE HOST_C_cert WITH SUBJECT =

8、 HOST_C certificate ,START_DATE = 2012-09-25;-3、创建连接的端点(主备可并行执行)-主机执行:USE masterCREATE ENDPOINT Endpoint_MirroringSTATE = STARTEDASTCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )FORDATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );-备机执行:

9、USE masterCREATE ENDPOINT Endpoint_MirroringSTATE = STARTEDASTCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )FORDATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );-见证执行 :USE masterCREATE ENDPOINT Endpoint_MirroringSTATE = STARTEDASTCP ( LI

10、STENER_PORT=5022 , LISTENER_IP = ALL )FORDATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE HOST_C_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = WITNESS );-4 、备份证书以备建立互联 (主备可并行执行)-主机执行:USE master-BACKUP CERTIFICATE HOST_A_cert TO FILE = D:SQLBackupHOST_A_cert.cer;BACKUP CERTIFICATE HOST_A_cert T

11、O FILE = D:HOST_A_cert.cer;-备机执行:USE masterBACKUP CERTIFICATE HOST_B_cert TO FILE = D:SQLBackupHOST_B_cert.cer;-见证执行 :USE masterBACKUP CERTIFICATE HOST_C_cert TO FILE = D:SQLBackupHOST_C_cert.cer;-5、互换证书-将备份到的证书进行互换,即HOST_A_cert.cer复制 (是复制不是剪切 )-到备机的。HOST_B_cert.cer 复制(是复制不是剪切 ) 到主机的 D:SQLBackup- 见证

12、的证书HOST_C_cert.cer 复制到主机和备机 ,主机和备机复制到见 证-6 、添加登陆名、用户(主备见证可并行执行)-以下操作只能通过命令行运行,通过图形界面无法完成。(截至文档编写结束, SQL Server2005 的版本号为 SP2 )-主机执行:USE masterCREATE LOGIN HOST_B_login WITH PASSWORD = test;CREATE USER HOST_B_user FOR LOGIN HOST_B_login;-CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM F

13、ILE = D:SQLBackupHOST_B_cert.cer;CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = D:HOST_B_cert.cer;GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_B_loginUSE masterCREATE LOGIN HOST_C_login WITH PASSWORD = test;CREATE USER HOST_C_user FOR LOGINHOST_C_login;CREATE CERTIFICAT

14、E HOST_C_cert AUTHORIZATION HOST_C_user FROM FILE = D:HOST_C_cert.cer; GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_C_login;GO-HOST_B_cert 是第一步创建的证书-备机执行:USE masterCREATE LOGIN HOST_A_login WITH PASSWORD = test;CREATE USER HOST_A_user FOR LOGIN HOST_A_login;-CREATE CERTIFICATE HOST_A_cert AU

15、THORIZATION HOST_A_user FROM FILE = D:SQLBackupHOST_A_cert.cer;CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = D:HOST_A_cert.cer;GRANT CONNECT ON ENDPOINT:Endpoint_MirroringTO HOST_A_login;USE masterCREATE LOGIN HOST_C_login WITH PASSWORD = test;CREATE USER HOST_C_user FOR LOGIN

16、 HOST_C_login;CREATE CERTIFICATE HOST_C_cert AUTHORIZATION HOST_C_user FROM FILE = D:HOST_C_cert.cer;GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_C_login;GO-见证执行 :USE masterCREATE LOGIN HOST_A_login WITH PASSWORD = test;CREATE USER HOST_A_user FOR LOGIN HOST_A_login;-CREATE CERTIFICATE HOST_

17、A_certAUTHORIZATION HOST_A_user FROM FILE = D:SQLBackupHOST_A_cert.cer; CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = D:HOST_A_cert.cer; GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_A_login;USE masterCREATE LOGIN HOST_B_login WITH PASSWORD = test;CREATE USER HOST_B_use

18、r FOR LOGIN HOST_B_login;-CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = D:SQLBackupHOST_B_cert.cer;CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = D:HOST_B_cert.cer;GRANT CONNECT ON ENDPOINT:Endpoint_Mirroring TO HOST_B_login;-注意 : 这里添加的登录名和用户是添加在 master 数

19、据库里 的不是要做镜像的那个数据库-这里添加的登录名和用户是用来做连接的,下面建立镜像 关系才是修复孤立用户才是-修复要做镜像的那个数据库的孤立用户 !- 建立镜 像关系 -以下步骤是针对每个数据库进行的, 例如:如果主机中有 5 个数据库以下过程就要执行 5 次。-7 、 手工同步登录名和密码-在前面提到数据库镜像的缺点之一是无法维护登录名,所 以需要我们手工维护登录解决孤立用户。-在主数据库中执行如下语句:USE master;select sid,name,dbname from syslogins WHERE dbname= 要做镜像的数据库名 USE master;select si

20、d,name,dbname from syslogins WHERE dbname=S_C_SC-查找出要做镜像的那个数据库里面有哪些用户名和sid ,例如:上述的 myuser -在备库中执行如下语句:USE master;exec sp_addloginloginame = <LoginName>, passwd = <Password>, sid = <sid> ;-8、准备备机数据库-主库要备份两个 bak 文件-第一个:完整备份-第二个:事务日志备份,截断事务日志-( 1 )先在备机还原完整备份,“restore with norecovery和覆

21、盖现有数据库-做了第一步之后, 钮才可用S_C_SC- 任务 -还原 -事务日志 按-( 2 )再还原事务日志,“ restore with norecovery 和时间” 点:最近状态-如果执行成功备机数据库将会变成正在还原 - 由于是实验,没有为服务器配置双网卡, IP 地址与图有点不一样,但 是原理一样。-9 、必须要在镜像数据库中先设置好伙伴后, 才能在主体服 务器执行-再在主体服务器实例上, 将 备机上的服务器实例设置为伙 伴-备机执行USE masterALTER DATABASE S_C_SC SET PARTNER = TCP:/00:5022-主机执行U

22、SE masterALTER DATABASE S_C_SC SET PARTNER = TCP:/03:5022-10 、在主机执行设置见证服务器ALTER DATABASE S_C_SC SET WITNESS = TCP:/01:5022;GO-此时主: S_C_SC( 主体,已同步 ) 备: S_C_SC( 镜像,已 同步 /正在还原 )-TCP:/00: 主-TCP:/03: 备 -如果删除不了正在还原的备库, 那么可以重启 SQL 服务,就可以删除了! !-故障解决 : ping ip teln

23、et 5022 端口 测试 -默认情况下,事务安全级别的设置为FULL ,即同步运行模式,而且 SQL Server 2005 标准版只支持同步模式。-关闭事务安全可将会话切换到异步运行模式,该模式可使 性能达到最佳。USE master;ALTER DATABASE S_C_SC SET PARTNER SAFETYFULL - (默认)事务安全 ,同步模式 镜像的更改和主体的 更改都同步ALTER DATABASE S_C_SC SET PARTNER SAFETY OFF - 事务不安全 ,异步模式 只有主体的更改同步-1、主备互换-主机停掉 SQL 服务-2 、主服务器 Down 掉

24、,备机紧急启动并且开始服务-备机执行:USE master;ALTER DATABASE S_C_SC SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;ALTER DATABASE S_C_SC SET ONLINE-3 、开启主机的 SQL 服务,原来的主服务器恢复 ,可以继续 工作 ,需要重新设定镜像-备机执行:USE master;ALTER DATABASE S_C_SC SET PARTNER RESUME; - 恢复镜像ALTER DATABASE S_C_SC SET PARTNER FAILOVER;-切换到主机-4 、原来的主服务器恢复 ,

25、可以继续工作 -查看当前服务器做 了镜像 partner 的那个服务器SELECT * FROM sys.database_mirroring 删除镜像 -查看终端点select * from sys.endpoints-删除某终端点 ( 终端点不带引号 )drop ENDPOINT endpoint_Mirroring -删除证书 在 master | Security | Certificates-删除用户 在 master | User-然后可以删除登录名drop login <login_name>-修改 master key :alter master key drop

26、encryption by service master key- 删除 master key :drop master key-删除镜像的命令 :ALTER DATABASE S_C_SC set partner OFFRESTORE DATABASE S_C_SC WITH recovery - 放弃 事务,立刻还原 解除数据库镜像 ALTER DATABASE S_C_SC SET PARTNER OFF 给我写 信:QQ 我: Friday, November 09, 2012 2:02 PMReplyQuote 桦仔 DBA (MVP) 5,380 Points0Sign in to

27、 vote 各有各立场和观察角度吧 如果你玩下虚拟化平台,再回头看下微软集群 对 MS Office/Win/SQL Server 偏爱,对 MSCS 偏厌 Try SQL Server 2008 QQ:315054403 dgdbaSaturday, November 10, 2012 3:09 AMReply|Quotedgdba OEM 制造行业 1,480 PointsOSign in to vote你说的故障转移群集和共享存储是HA,微软集群不是个什么好东西,个人看法 只热备的话应该部署镜像Try SQL Server 2008 QQ:315054403 dgdba 不管 MSCS

28、是不是好东西, SQL 的 Failover cluster 是依赖 于它的。做过大数据量高性能系统的就会知道, Mirror 不见得比 Failover cluster 好用。另外,没有什么是服务不中断的,只是时间长短而已。Hyper-V 虚拟机做共享存储非常简单。想不想时已是想,不 如不想都不想。 Saturday, November 10, 2012 5:29AMReply|0Sign in to vote 怡红公子大侠说得对,根据实际情况选择合 适的解决方案节省成本就使用 Mirror 高一点使用 MSCS 最高一点 虚拟化给我写信:QQ 我: Saturday, November 1

29、0, 2012 5:52 AMReplyQuote 桦仔 DBA (MVP) 5,380 Points0Sign in to voteAny reason give VM highest ranking? Dont know anyone use VM in large environment.Saturday, November 10, 2012 8:52 PMReply|0Sign in to voteAny reason give VM highest ranking? Dont know anyone use VM in large environment.看实际情况了,有些大客户会有

30、很多小系统的。比如海关、医院。想不想时 已是想,不如不想都不想。 Sunday, November 11, 2012 12:34 AMReply|Quote 怡红公子 (MVP) 6,410 Points0Sign in to vote 不一定是非常大的系统给我写信: QQ 我: Sunday, November 11, 2012 2:03 AMReplyQuote 桦仔 DBA (MVP) 5,380 Points0Sign in to voteThats why bothers me. How come VM get highest ranking, whats your standard

31、?Sunday, November 11, 2012 7:40 PMReply|Quote rmiao News 32,240 Points0Sign in to vote 公司要上一套系统, DB 用 SQL2008 ,怎么 实现双机热备?一种方案是用 windows 的故障转移群集搭配 SQL 自己的群 集功能,这种方案需要有共享存储,我现在在虚拟测试环境 没办法做实验,所以暂时先不考虑这个。 另外一种是用镜像的方式做双机热备, DB 都放在服务器上, 不用外接存储,主节点服务器 DB 实时复制到备用节点中, 主节点故障后自动跳到备用节点,不会出现服务中断的问题。 这种方式能否实现,该如何

32、操作?因为没做过这种,所以思 路有些乱,需要高手们给点指引,谢谢啦。你好,利用镜像来实现双机热备份这个方案是可行的,详细的信息 你可以参考下面这篇文档,这篇文章图文并茂的告诉你如何 配置数据库镜像: /3828341/Database-Mirroring-in-SQL-Server-2008.htm。Thanks ,Amy Peng 立刻免费下载 TechNet 论坛好帮手 Monday, November 12, 2012 1:37 AMReplyQuoteAmy Peng - MSFT 20,055 Points0Sign in to vote 你好, 你的方法是不是要有 3 台服务器安装

33、 SQL ,一台主机, 一台备机, 一台做见证, 安装完 SQL 后, 打开 SQL 输入你提供的命令,来实现镜像功能?因为以前 没做过这块,所以比较小白,想细致了解一下,高手有空来 指点指点,谢谢了。 Monday, November 12, 2012 2:24 AMReplyQuoteRik1012 10 Points0Sign in to vote 你好, 你的方法是不是要有 3 台服务器安装 SQL ,一台主机, 一台备机, 一台做见证, 安装完 SQL 后, 打开 SQL 输入你提供的命令,来实现镜像功能?因为以前 没做过这块,所以比较小白,想细致了解一下,高手有空来 指点指点,谢谢

34、了。你好, 那个见证服务器是可选的,你可以选择安装也可以不安装, 见证服务器的作用就是,如果主机出错,那见证服务器就会 自动地实现故障转移,然后使备机转化成主机,代替主机继 续工作,如果你不安装的就只好出错的时候,自己手动转移 了。也不是说要输入命令, SSMS 里这些都有的, 你直接点击就 可以了,因为我配置的时候也不愿意敲代码,不过这里有现 成的你可以直接复制就好。这篇文档可以手把手教你如果配置,不用写命令,请参考: 。 有什么不清楚的,在问我们,大家相互学习啦。Thanks,Amy Peng立刻免费下载 TechNet 论坛好帮手 Marked as answer byRik1012Tu

35、esday, November 13, 2012 1:50 AMMonday, November12, 2012 2:52 AMReply|QuoteAmy Peng - MSFT 20,055 Points0Sign in to vote 你好,那个见证服务器是可选的,你可以选择安装也可以不安装,见证服务器的作用就是,如果主机出错,那见证服务器就会自动地实现故障转移,然后使备机转化成主机,代替主机继续工作,如果你不安装的就只好出错的时候,自己手动转移To HI , AMY,你提供的资料太有用了, 非常感谢你的帮助,不过我在做镜像的时候出了个问题,说是无法连接到镜像服务器(我账号没验证发布了图

36、。 。闷) 我根据提示去查了一下我的远程连接设置,基本都是正常的, 但是在主机的 SQL 设置中,查看数据库方面的选项里面没 有发现 RemoteAccessEnable 项目,是不是有哪里还需要设 置?在备机打开数据库方面选项的时候却提示不具备权限, 我的 SQL 管理账号是加在 Domain Admins 里面的,权限应 该够了吧。 Monday, November 12, 2012 8:24 AMReplyQuote Rik1012 10 Points0Sign in to vote 你好,你说你要找 RemoteAccessEnable ,打开 SSMS 后直接右击 服务器名,然后点击

37、“方面”“服务器配置”然后设置 RemoteAccessEnable 为 True ;TCP/IP 记得要 enable ,你可以根据我下面给的文章,看看 远程连接哪里没配置好(文章里就有介绍怎样设置RemoteAccessEnable ):d1.html 。如果还是报错,希望你可以把错误信息发一下给我们。Thanks,Amy Peng 立刻免费下载 TechNet 论坛好帮手 Monday,November 12, 2012 9:09 AMReply|QuoteAmy Peng - MSFT 20,055 Points0Sign in to vote 哈哈,终于搞定了,原来是 sql ser

38、ver browser 禁用了,没有搭见证服务器的已经弄好了,手动测 试故障转移也成功了,接下来做个见证服务器测试。太感谢 AMY 了,另外我还有点疑问想请教一下,这种 SQL 镜像是同时基于数据库和服务器的吗,我的意思是,如果主机上的 DB 坏了,他能启用备机的 DB ,如果主机的服务器 挂了, 备机是否也能正常转换角色。 Monday, November 12, 2012 9:43 AMReplyQuote Rik1012 10 Points0Sign in to voteDATABASE MIRRORING 是基于数据库级 别的 ,Cluster 是基于 Instance 级别的。镜像可

39、以自动转移也 可以手动转移,在于你选的是 High-performance 还是 High-safety 模式。在 DBConnection 中可以使用 Failover Partner 参数 Monday, November 12, 2012 1:49 PMReply|QuoteKevinLiu328 (MVP) 2,390 Points0Sign in to vote 哈哈,终于搞定了,原来是 sql server browser 禁用了,没有搭见证服务器的已经弄好了,手动测 试故障转移也成功了,接下来做个见证服务器测试。太感谢 AMY 了,另外我还有点疑问想请教一下,这种 SQL 镜像是

40、同时基于数据库和服务器的吗,我的意思是,如果主 机上的 DB 坏了,他能启用备机的 DB ,如果主机的服务器 挂了,备机是否也能正常转换角色。Depends on mirror config. If you set HS mode with witness,will switch all mirrored dbs to partner in case primaryserver goes down.Monday, November 12, 2012 2:15 PMReply|0Sign in to vote 哈哈,终于搞定了,原来是 sql server browser 禁用了,没有搭见证服务器的已经弄好了,手动测 试故障转移也成功了,接下来做个见证服务器测试。太感谢 AMY 了,另外我还有点疑问想请教一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论