实战SQL 2008 数据库镜像功能
2011-11-03 18:06
387 查看
实战SQL 2008 数据库镜像功能 (轉)
数据库镜像相当于2台服务器提供容错功能,其实原理是进行日志文件的复制及恢复操作保持数据的同步 ,一般镜像服务2台服务器即可,但出现故障需要手动进行切换,如果增加一台见证服务器就形成了自动切换 的功能,见证服务器的自动切换操作一般在10秒内完成,所以对用户来所感觉不到任何异样。 为本次实验我搭建了3台虚拟机,均是windows2003+sql2008,各分配内存为500M。 拓补图如下: 计算机名分别是: sql-1===用作主服务器 =ip:10.40.1.10 sql-2===用作镜像服务器 =ip:10.40.1.11 sql-3===用作见证服务器 =ip:10.40.1.12 本次环境为工作组,为方便验证3台都已administrator来登入登入密码都一样 首先在对象资源管理器里分别连接到这3台服务器 若无法连接,请在各自服务器的sql网络配置里启动named pipes和tcp/ip协议 然后再SQL-1上建立一个测试用的数据库如:ositpro 并设置数据库恢复模式为完整 代码如下: alter database ositpro set recovery full with no_wait 图形界面的设置位置在数据库的属性-选项里,如下图 接着分别在SQL-1服务器的D盘根目录下建立存放备份的文件夹:sqlbak 在SQL-2服务器的D盘根目录下建立同样的目录并设置共享权限:sqlbak及保存镜像还原保存数据及 日志的文件夹:sqldata 文件夹建立后我们在SQL-1上备份刚才创建的ositpro数据库到sqlbak目录 backup database ositpro to disk='d:\sqlbak\ositpro.bak' 备份完毕后我们将数据拷到sql-2上的sqlbak目录下,然后再sql-1上直接还原数据库 选择目标数据库,源备份文件 将行数据及日志另存到D盘sqldata目录下,并选择恢复模式的第2条:restore with norecovery 还原完毕 接下来分别在3台服务器上创建用于侦听对象的TCP端点 因为3台SQL服务器所使用的实例都不一样,所以端口号可以相同,反之必须不同 SQL-1执行下面脚本 create endpoint endpoint_mirroring state=started as tcp(listener_port=5022) for database_mirroring(authentication=windows ntlm,encryption=supported,role=partner) go SQL-2执行下面脚本 create endpoint endpoint_mirroring state=started as tcp(listener_port=5022) for database_mirroring(authentication=windows ntlm,encryption=supported,role=partner) go SQL-3执行下面脚本 create endpoint endpoint_mirroring state=started as tcp(listener_port=5022) for database_mirroring(authentication=windows ntlm,encryption=supported,role=witness) go 在sql-2上设置主服务器 ALTER DATABASE ositpro SET PARTNER='TCP://sql-1:5022'; GO 在sql-1上设置镜像服务器及见证服务器 ALTER DATABASE ositpro SET PARTNER='TCP://sql-2:5022'; GO ALTER DATABASE ositpro SET WITNESS='TCP://sql-3:5022'; GO 此时sql-1上数据已显示为主体,已同步,查看3台服务器的对象如下 接下来进行模拟故障切换 首先在sql-2上打开数据库镜像监视器,此状态每10秒更新一次 此时sql-1为主体服务器,sql-2为镜像,下面我们禁用sql-1的网卡 由下图可以看到sql-1的数据库状态变成了正在恢复,sql-2变成了主体,因为没有了镜像服务器,所以显示 已断开连接 在sql-2上的镜像监视器里可以看到,sql-2当前脚色为主体,镜像状态为断开,见证服务器连接正常 此时如果sql-1的网卡回复正常sql-2还是主服务器,sql-1变成了镜像服务器了 2个不会恢复原始状态的,如需切换到初始环境使用下面代码在sql-1上执行即可 ALTER DATABASE ositpro SET PARTNER FAILOVER OK,使用3台服务器搭建自动切换镜像的实验完成 |
相关文章推荐
- 实战SQL 2008 数据库镜像功能
- 实战SQL 2008 数据库镜像功能
- 实战SQL 2008 数据库镜像功能
- [SQL]SQL Server 2008 通过配置数据库邮件实现发送邮件功能
- 设置了镜像的服务器的SQL 2008 数据库的收缩日志
- 实战 SQL Server 2008 数据库误删除数据的恢复 (转载至dudu http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html)
- 设置了镜像的服务器的SQL 2008 数据库的收缩日志
- sql server 2008 数据库镜像---镜像实战
- SQL 2008 R2 数据库操作,不允许保存更改。您所做的更改要求删除并重新创建一下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项
- 数据库SQL实战
- Gradle实战:执行sql操作hive数据库
- SQL 2008 附加数据库报5120的错误
- 【SQLServer 2008】数据库查看死锁、阻塞的SQL语句
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC SQLPERF提供所有数据库的事务日志空间使用情况统计信息
- BuildSql增加了【生成数据库文档】的功能了
- SQL 2008 手动修改数据库
- SQLServer 2008的数据库镜像实施笔记--转
- 实战 SQL Server 2008 数据库误删除数据的恢复
- Sql2005数据库邮件功能
- 【SQL Server高可用性】数据库镜像:在SQL Server 2008R2上的配置数据库镜像