SQL2005开始镜像时出错

时间:2021-05-14 17:11:43
都配置成功了,如图:
SQL2005开始镜像时出错

出现如下错误,文本:
标题: 数据库属性
------------------------------

开始镜像时出错。

------------------------------
其他信息:

更改 对于 数据库“Demo_Test”失败。  (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476

------------------------------

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

没有为数据库镜像配置数据库 "Demo_Test"。 (Microsoft SQL Server,错误: 1416)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=1416&LinkId=20476

------------------------------
按钮:

确定
------------------------------

出错图片:

SQL2005开始镜像时出错

10 个解决方案

#1


学习一下

#2


给予补充:  如第二张图所示wed8-ha-db1为主服务器  wed8-ha-db2为镜像服务器 wed-db-witness为见证服务器
镜像布骤:  1.在wed8-ha-db1上建了一个库名为:Demo_Test放在本机D:/db目录下 将此库备份放在本机D:/bak目录下
            2.到wed8-ha-db2上将wed8-ha-db1上D:/bak目录下的Demo_Test.bak备份文件考到了wed8-ha-db2本机的D:/bak目录下,并在本机上也建了一个库为:Demo_Test放在了wed8-ha-db2本机D:/db目录下并还原wed8-ha-db2本机的D:/bak目录下的Demo_Test.bak
           3.到wed8-ha-db1上开始镜像Demo_Test数据库 过程都ok 如以上图一,点开始镜像时出错如图二

#3


--“数据库镜像”是一个主要用于提高数据库可用率的软件解决方案。镜像是基于每个数据库执行的,
--仅适用于使用完整恢复模式的数据库。简单恢复模式和大容量日志恢复模式不支持数据库镜像。





/* 
三个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;" 
参照下吧

#4


学习一下~

#5


有学过,没应用过,关注中

#6


帮顶。

#7


你这个说的也太笼统了吧,网上这种资料一收一大堆,我现在需要的是怎么解决我现的问题

#8


我也遇到一样的问题.楼主找到解决方法了吗?赐教

#9


引用 8 楼 fifthelement 的回复:
我也遇到一样的问题.楼主找到解决方法了吗?赐教



找到了

#10


我现在正遇到这个问题,楼主给个联系方式可以吗??QQ也行,我的QQ是;675921088 邮箱是:cenchengguang@sina.com 。跪谢!!!

#1


学习一下

#2


给予补充:  如第二张图所示wed8-ha-db1为主服务器  wed8-ha-db2为镜像服务器 wed-db-witness为见证服务器
镜像布骤:  1.在wed8-ha-db1上建了一个库名为:Demo_Test放在本机D:/db目录下 将此库备份放在本机D:/bak目录下
            2.到wed8-ha-db2上将wed8-ha-db1上D:/bak目录下的Demo_Test.bak备份文件考到了wed8-ha-db2本机的D:/bak目录下,并在本机上也建了一个库为:Demo_Test放在了wed8-ha-db2本机D:/db目录下并还原wed8-ha-db2本机的D:/bak目录下的Demo_Test.bak
           3.到wed8-ha-db1上开始镜像Demo_Test数据库 过程都ok 如以上图一,点开始镜像时出错如图二

#3


--“数据库镜像”是一个主要用于提高数据库可用率的软件解决方案。镜像是基于每个数据库执行的,
--仅适用于使用完整恢复模式的数据库。简单恢复模式和大容量日志恢复模式不支持数据库镜像。





/* 
三个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;" 
参照下吧

#4


学习一下~

#5


有学过,没应用过,关注中

#6


帮顶。

#7


你这个说的也太笼统了吧,网上这种资料一收一大堆,我现在需要的是怎么解决我现的问题

#8


我也遇到一样的问题.楼主找到解决方法了吗?赐教

#9


引用 8 楼 fifthelement 的回复:
我也遇到一样的问题.楼主找到解决方法了吗?赐教



找到了

#10


我现在正遇到这个问题,楼主给个联系方式可以吗??QQ也行,我的QQ是;675921088 邮箱是:cenchengguang@sina.com 。跪谢!!!