首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

给windows 打补丁的时候,怎么保证自己的sqlserver(安装了分析服务,和数据库服务)一直在线

2012-01-09 
给windows 打补丁的时候,如何保证自己的sqlserver(安装了分析服务,和数据库服务)一直在线?本人的程序有OLT

给windows 打补丁的时候,如何保证自己的sqlserver(安装了分析服务,和数据库服务)一直在线?
本人的程序有OLTP程序,还有OLAP的cube, 用户程序是reporting service 和部分的excel 直接访问。现在的问题是客户要求无论在任何情况下都可以访问。如果我更新windows补丁的时候需要重启机器,这时候数据库和cube就不能访问了,或者在process cube的时候,cube就不能访问了。看了sqlserver 2008的always on似乎提到了可以做到,但是google了一下,没有发现具体的做饭,那位仁兄能给个提示? 为了实现这个目的,可以使用多个sqlserve服务器。

[解决办法]

SQL code
镜像应该可以。--“数据库镜像”是一个主要用于提高数据库可用率的软件解决方案。镜像是基于每个数据库执行的,--仅适用于使用完整恢复模式的数据库。简单恢复模式和大容量日志恢复模式不支持数据库镜像。/* 三个SQL Server 2005的实例,如果在同一台机器上不允许端口相同。 server1主数据库服务器        5011 server2备份数据库服务器   5022 jgj监视服务器                  5033 Server1上准备好要镜像的数据库,然后完整备份,将备份还原到Server2服务器上,注意使用NoRecovery选项 准备好以上后,开始执行代码: */ --创建端点 --Server1主数据库服务器 CREATE ENDPOINT DbMirroring AS TCP(LISTENER_PORT=5011)         FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED) Go Alter EndPoint DbMirroring STATE=STARTED Go --Server2备用服务器 CREATE ENDPOINT DbMirroring AS TCP(LISTENER_PORT=5022)         FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED) Go Alter EndPoint DbMirroring STATE=STARTED Go --JGJ见证服务器 CREATE ENDPOINT DbMirroring         STATE=STARTED AS TCP(LISTENER_PORT=5033)         FOR DATABASE_MIRRORING(ROLE=WITNESS,ENCRYPTION=SUPPORTED) go --配置安全性 --Server1 Use master Go Grant connect on endpoint::"DbMirroringEP" to "jgj\administrator" GO --Server2 Use master Go Grant connect on endpoint::"DbMirroringEP" to "jgj\administrator" GO --jgj Use master Go Grant connect on endpoint::"DbMirroringEP" to "jgj\administrator" GO --启动镜像 --Server2 ALTER DATABASE DBMirror SET PARTNER=N'TCP://jgj:5011' Go --Server1 ALTER DATABASE DBMirror SET PARTNER=N'TCP://jgj:5022' Go --指定见证服务器端点 ALTER DATABASE DBMirror SET WITNESS=N'TCP://jgj:5033' GO --配置数据库镜像事务安全级别 ALTER DATABASE DBMirror Set SAFETY Full GO --通过系统目录视图查看数据库镜像配置情况 Select * from sys.database_mirroring_endpoints Select * from sys.database_mirroring where database_id=(select database_id from sys.databases where name =’ DBMirror’) --数据库镜像角色手动切换 ALTER DATABASE DBMirror SET PARTNER FAILOVER --客户端重定向 --(使用ADO.Net或SQL Native Client能够自动连接到故障转移后的伙伴) ConnectionString="Data Source=A;Failover Partner=B;     Initial Catalog=AdventureWorks;Integrated Security=True;"
[解决办法]
双机热备简单的理解就是做个群集,两台服务器做相同的工作,通过一根心跳线连接起来,一台宕机另一台自动接管,不需要手工操作。

你可以搜索一下案例,看能不能满足你的需求。


[解决办法]
其实cluster更适合.因为cluster是整个sql server服务全部切换,而镜像仅仅是同步某个数据库.

热点排行