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
--自动转换实现: