三个SQL Server 2005的实例在同一台机器上存在的方法(不允许端口相同)

来源:互联网 发布:淘宝美工首页 编辑:程序博客网 时间:2024/04/28 08:33

/*
三个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;"

原创粉丝点击