SQL Server 2005
高可用性模式下创建数据库镜像
高可用性模式下创建数据库镜像
第一步:
--
创建镜像用数据库
―
在主服务器上操作
create database db_mirror
on
(
name = db_mirror_data,
filename = N'c:\db_mirror.mdf'
)
log on
(
name = db_mirror_log,
filename = N'c:\db_mirror.ldf'
)
go
alter database db_mirror set recovery full
go
--
备份数据库
---
在主服务器上操作
use master
go
backup database db_mirror
to disk = N'c:\db_mirror.bak' with format
go
--
服务器上的镜像端点
create endpoint edp_mirror
state = started
as tcp(
listener_port = 5022,
listener_ip = all
)
for database_mirroring(
authentication = windows ntlm,
encryption = disabled,
role = all
)
Go
第二步
--
恢复数据库
----
在从服务器上操作
use master
go
restore database db_mirror
from disk = 'c:\db_mirror.bak'
with replace,norecovery,
move 'db_mirror_data' to N'c:\db_mirror.mdf',
move 'db_mirror_log' to N'c:\db_mirror.ldf'
go
--
创建端点
主
-
从
create endpoint edp_mirror
state = started
as tcp(
listener_port = 5022,
listener_ip = all
)
for database_mirroring(
authentication = windows ntlm,
encryption = disabled,
role = all
)
go
第三步
--
启用镜像数据库所在服务器的数据库镜像
从
alter database db_mirror set partner = 'tcp://192.168.23.11:5022'
go
--
启动主体数据库服务器的数据库镜像
主
alter database db_mirror set partner = 'tcp://192.168.1.251:5022'
go
alter database db_mirror set safety off
go
故障转移
--1
、当主体数据库和镜像数据库均正常工作时实现故障转移
--
设置高可用性
alter database db_mirror set safety off
go
--
在高安全模式下,当主体数据库和镜像数据库均正常工作时,可以随时将故障转移到镜像
--
服务器
--
主体服务器上执行
(
可以进行多次转换主体和镜像角色
)
use master
go
alter database db_mirror set partner failover
go
2
、当主体数据库出现问题时,可以在镜像服务器上执行语句进行强制性故障转移到镜像数据库
--
强制故障转移(在镜像服务器上运行)
alter database db_mirror set partner force_service_allow_data_loss
go
停止和移除镜像
(
可在主体或镜像服务器上运行
)
alter database db_mirror set partner off
--
停止和移除见证服务器
(
在主体服务器上运行,也可在镜像服务器上运行
)
alter database db_mirror set witness off
go
restore log db_mirror
--
如出
"
现正在恢复
",
则执行如下语句
set partner off
--
自动转换实现
:
本文出自 “李晨光原创技术博客” 博客,谢绝转载!