数据库镜像在SQL Server

时间:2016-04-10 07:17:17

标签: sql-server database sql-server-2012

我有两个SQL Server 2014标准版实例

  1. MSSQLSERVER(PRIMARY)
  2. 192.168.10.131/MIRROR(MIRROR)
  3. WINDOWS SERVER 2012 R2同一台机器上的所有数据库

    首先,我从MSSQLSERVER(PRIMARY)备份 AdventureWorks2014 ,然后在中恢复数据库 192.168.10.131/MIRROR RESTORE WITH NO RECOVERY

    还原数据库中的

    - >选项 - >恢复状态 - >没有恢复的恢复

    然后我备份日志 MSSQLSERVER(PRIMARY)

    backup log [AdventureWorks2014] to disk ='c:\LOGBACKUP\AdventureWorks2014.trn'
    

    然后我将日志恢复为 192.168.10.131/MIRROR(MIRROR)

    restore log [AdventureWorks2014] from disk ='c:\LOGBACKUP\AdventureWorks2014.trn' with norecovery
    

    好的。然后 AdventureWorks2014中 MSSQLSERVER(PRIMARY)

    RIGHT CLICK->TASK->MIRROR and CONFIGURE SECURITY option
    

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    enter image description here

    但是,当我启动镜像时,它会显示以下窗口

    enter image description here

    单击是后出现错误消息 enter image description here

    我的过程有什么问题???我应该做什么配置?

3 个答案:

答案 0 :(得分:2)

您可能还想检查端口5023是否已打开。

  1. 从命令提示符 - 键入以下内容。
  2. Telnet Waltonserver 5023

    2。如果您没有安装telnet,请首先执行以下操作,这是方向。

    https://technet.microsoft.com/en-us/library/cc771275(v=ws.10).aspx

    1. 安装telnet后,在您知道在端口1433上运行的服务器上测试您的telnet
    2. Telnet ServerName 1433

      如果这样可行,您将弹出一个可以输入的打开框。如果失败,您将收到一条消息....无法打开端口1433上的主机连接。如果您可以通过端口1433 telnet到其他服务器而不是端口5023,那么您知道该端口未打开。然后让管理员打开端口5023.

答案 1 :(得分:1)

转到services.msc并检查sql server是在哪个帐号下运行的。确保sql server和sql server agent服务应使用相同的凭据运行。

在镜像数据库服务器中,您应该执行与步骤1相同的步骤。提供与主体服务器相同的凭据。如果该用户不存在,则在具有相同凭据的两台服务器上创建一个新用户。

现在有了主服务器并在sql server中添加了新安装的登录 - >登录。将服务器角色授予Sysadmin和public。在镜像服务器上添加相同的用户。

现在在主体数据库中执行镜像。你没有收到任何错误。

答案 2 :(得分:1)

以下是您可能想要尝试的一些事项:

1)确保防火墙没有阻止您的SQL端口。转到具有高级安全性的Windows防火墙 - >入站\出站规则 - >新规则 - >端口 - >特定的本地端口:设置5022,5023 - >允许连接

2)检查在每个实例上创建的Login是否具有sysadmin角色: 在Management Studio中连接到每个实例 - >安全 - > “your_login” - >属性 - >服务器角色 - >系统管理员。 此外,在配置镜像时,在“服务帐户”选项卡中,应将您的帐户凭据放在“主体”和“镜像”框中。

3)转到SQL Server配置管理器,确保您的实例和SQL代理在同一帐户(最好是您的帐户)下运行。 如果启用了TCP \ IP协议,还要检查每个实例的SQL Server网络配置。

4)在每个实例上尝试删除并重新创建镜像端点。在具有相应端口号的两个实例上运行以下脚本:

DROP ENDPOINT  Mirroring
GO

CREATE ENDPOINT Mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 5022 )
FOR DATABASE_MIRRORING 
(ENCRYPTION = DISABLED,ROLE=ALL)
GO

希望其中一条建议有所帮助。祝你好运!