其实这3种方式网上都有很详细的说明,是哪3种方法呢?

1.证书方式

2.域环境方式

3.非域环境非证书方式

第一种和第二种方法网上都有很详细的说明,这里就不多说了,有问题的大家可以一起讨论下

我这里要说的是第三种方式,如何实现的呢?

其实第三种方式实现数据库镜像同第二种方式如出一辙,只是有些细节的地方需要注意,下面讲讲如何配置(无见证服务器)

第一步.

首先是添加这两台工作组计算机的DNS后缀,方法是

主机和备机依次执行,

桌面->我的电脑->属性->计算机名->更改->其他->添加计算机的主DNS后缀名,如:phoenix.com

添加计算机的主DNS后缀名后就相当于该主机在网络上的名称变成了xxxx.phoenix.com

第二步.

在主机和备份的hosts文件中分别添加双方的IP地址和计算机名映射

hosts路径:c:\Windows\system32\drivers\etc\

主机和备机均需添加的内容如下:

10.12.0.12    sqlmirror1.phoenix.com

10.12.0.13    sqlmirror2.phoenix.com

第三步.

以相同的帐号来启动SQLSERVER服务

这里相同的帐号表示:帐号名称相同、密码也相同(这里我是使用Administrator用户来启动的SQLServer服务的,其实这并不是最好的选择),修改服务的启动帐号后,需要重新启动服务以生效。

第四步.

全备份主库并立即做日志备份

backup database xxx to disk='xxxxxx.bak' with format;

backup log  xxx to disk='xxxxxxx.bak' with format;

将备份文件拷贝到备机并立即还原(with norecovery;)

restore database xxx from disk='xxxxxx.bak' with norecovery;

restore log xxx from disk='xxxxxx.bak' with norecovery;

第五步.

配置数据库镜像

通过Microsoft SQL Server Management Studio来进行数据库镜像配置,那就相当简单了

需要注意的是:在连接备机实例的时候要选择使用Windows认证的方式

在镜像的配置过程中可能会报1468 的错误:

Database mirroring cannot be enabled because the database is an auto close database on one of the partners.

如何解决呢?

SELECT DATABASEPROPERTYEX('DBNAME','IsAutoClose')

(If it returns 0 then Autoclose option is disabled, else its in enabled state)

如果是1的话就执行:

ALTER DATABASE DBNAME SET AUTO_CLOSE OFF

然后呢?

Once the above completed, take a full backup of the db from principal and restore with norecovery and then take a log
backup then restore with norecovery and try configuring mirroring

....

OK!

还有很多细节需要注意的,比如说主机和备机的端口一定是要通的

1433、5022等

可以通过telnet IP port来测试如:telnet 10.12.0.12 5022

 

over!写的很乱,有机会来更新了!