其实这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!写的很乱,有机会来更新了!