摘要:?SQL Server?database mirroring with?local user account(no domain name).
使用说明:
本章将介绍如何在利用"本机账号"(或是在没有Domain Name 环境)来设定 SQL Server 镜像
(注:设定 SQL Server 镜像主要有三种方式:
1. 在有 Domain Name?环境可以透网域账号来设定
2.?在没有 Domain Name 环境可以每台电脑的本机账号来设定
3. 透过凭证的方式进行)
?
环境说明:
第一台角色作用:?Principal Server
电脑名称: PC1
数据库名称: TestDB
本机账号: PC1admin1
数据库: SQL Server 2014?Developer Edition
操作系统: Windows 7 Service Pack 1
第二台
角色作用:?Mirroring Server
电脑名称: PC2
本机账号: PC2admin1
数据库: SQL Server 2014?Developer Edition
操作系统: Windows 7 Service Pack 1
(注: Principal 和?Mirroring 要使用相同的 SQL Server 版本)
第三台
角色作用:?Witness Server
电脑名称: PC3
本机账号: PC3admin1
数据库: SQL Server 2014?Express?Edition
操作系统: Windows 7 Service Pack 1
如果有防火墙请记得开启 SQL Server TCP Port(默认:1433) 和 镜像端点 Port(默认:5022)
?
设定教学说明:
将对 PC1 的 数据库 TestDB 设定镜像。
Step 1-1.
将 PC1、PC2 的 " SQL Server 服务"和 "SQL Server Agent 服务" 的登入身份 都改为的本机账号 admin1,如下图:
?
Step 1-2.
PC3 的 " SQL Server 服务" 的登入身份 改为的本机账号 admin1,如下图:
Step 2.
将 PC1 的数据库TestDB做 完整备份 与 事务纪录备份?后,在 PC2 做备份还原动作,
PC2 做还原 "完整备份" 时,请记住要到还原的"选项"页面,选择 RESTORE WITH NORECOVERY 做还原的项目,如下图:
PC2 做 "事务纪录"?还原时,请也记住要到还原的"选项"页面,选择 RESTORE WITH NORECOVERY 做还原的项目,如下图:
如果成功做完还原动作,PC2 的 "TestBD"数据库状态会是"正在还原…",如下图:
Step 3.
对 PC1、PC2、PC3 加入登入身份,分别是自己的本机账号 admin1(如:PC1要加入?PC1admin1,PC2要加入?PC2admin1,PC3要加入?PC3admin1),
如果SQL Server 已经有加入自己的本机账号 admin1,Step 3.就可以忽略不用重复做了,如下图:
Step 4.
在 PC1 做镜像设定动作,如下图(step by step):
由于在?No Domain Name 环境下,所以下图的服务账户无作用,因此皆留空白(在后面会透过手动方式对"端点"加入本机账号 admin1连入的权限)
按下"完成"按钮,即会跳到下图,这时候按下"不要启动镜像"按钮(因为后面步骤我们要手动对"端点"加入 本机账号admin1 连入的权限,所以等加入账号连入权限后再来操作此画面)
按下"不要启动镜像"按钮,即会跳到下图,这时候先不要按下任何按钮,先保留此画面(后面Step 6?会用到)
Step 5.
我们要手动对 "Mirror"端点?加入 本机账号admin1 可以连入的权限,
因此对 PC1 执行下面的 SQL命令
USE [master] GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC1admin1]
对 PC2 执行下面的 SQL命令
USE [master] GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC2admin1]
对 PC3 执行下面的 SQL命令
USE [master] GRANT CONNECT ON ENDPOINT::[Mirror] TO [PC3admin1]
如下图:
Step 6.
就下来准备启动镜像,这时候我先回到 Step4 最后所停留的画面,如下图,按下 "启动镜像" 按钮
如果出现提示 "缺少完整域名(FQDN)" 时,请下按"是"按钮
启动成功后,PC1 的 TestDB 数据库状态为"主体,已同步处理",PC2 的 TestDB 数据库状态为"镜像,已同步处理/正在还原...",如下图
注:如果发生 1418 错误时,请重新检查 Step1 或 Step5 有没有遗漏做的动作,或是 Port?1433、5022 被防火墙挡住。
主要参考:
SQL Server - 如何建立 Database Mirroring
[Windows][SQL]架设 DB Mirroring 的环境在 Windows 2012 ( 1/2 )
[Windows][SQL]架设 DB Mirroring 的环境在 Windows 2012 ( 2/2 )
[SQL]在 Workgroup 环境下设定 SQL Server 数据库镜像 ( Database Mirroring )
SQL Server 2008R2 Mirroring with No Domain (SQL 镜像)
mirror:error-1418
※在此感谢所有的帮助者,感谢~
原文:大专栏 [MSSQL]利用 本机账号(No Domain Name 环境) 设定 SQL Server 镜像(Database Mirroring)