实现sqlserver的高可用,数据库做热备,用日志传送
主服务器ip 192.168.190.3
备服务器ip 192.168.190.6
1、主库和备库服务器关闭防火墙
2、主库(192.168.190.3)创建共享文件夹DB_back,用于存放日志,授权administrator权限设为“读取/写入”,这里测试为了方便放在了c盘,现场不建议放在c盘。
3、备库(192.168.190.6)创建日志目标文件夹DB_back,并授权给sqladmin用户读取和写入权限,这里测试为了方便放在了c盘,现场不建议放在c盘。
4、分别从主数据库服务器上和从数据库服务器上打开SQLServer配置管理器,将SQLServer服务和SQLServer代理服务的登录身份为administrator用户且启动模式为:自动
5、在主数据库服务器上配置(192.168.190.3)连接到本地SQL Server数据库服务器
在sql数据库的属性 --> 事务日志传送的配置
勾选“将此数据库启用为日志传送配置中的主数据库”,然后点击备份设置
填写备份路径,该路径是之前创建的共享文件夹
为了测试方便,在“计划”中修改备份时间,改为15秒1次,代表每隔15秒主库会将产生的日志存放到共享文件夹。
备份配置完成后,开始配置辅助数据库,点击“添加”
点击“连接”,输入辅助数据库(备库192.168.190.6)的连接信息
初始化辅助数据库。因为没有可用的备份,故勾选“是,生成主库的完整备份…”
复制文件。填写备库的目标文件夹,修改复制作业的时间为每15秒执行一次,代表每隔15秒,备库会将共享文件夹中的新日志复制到目标服务器的目标文件夹
还原事物日志。数据库状态改为备用模式,还原作业改为每隔15秒执行一次,代表每隔15秒,备库会将目标文件夹的日志进行还原操作
无恢复模式:用户不可以只读访问数据库;
备用模式 :备库处于只读状态。但是,备库值执行还原操作时,还原进程需要独占访问数据库,如果用户正在运行SQL语句,那么还原进程将无法还原数据库,还原作业会等到下一个还原间隔时再次尝试还原数据库。如果勾选了“在还原备份时断开数据库中用户的连接”,那么数据库在进行还原操作时,会断开用户的连接,保证还原操作正常进行。
最后点击确定即可
开始进行备库还原操作
备注:因为备机是克隆的主机,作业默认的主机名是主服务器的主机名,为了区分,需要到备机上修改下日志传送复制作业和日志传送还原作业的命令,把主机名改为备机的ip即可,如果是真实环境无需修改命令。
6、日志传送测试
添加新表
结果:主库添加新表,备库自动同步过去。
删除表
结果:主库删除表,备库也会自动删除。
修改表结构
结果:主库修改表结构,备库自动修改
插入、更新、删除数据
结果:主库执行插入、更新、删除操作,备库也会自动同步操作
truncate表
结果:主库执行truncate操作,备库也会同步操作
7、主库查看日志备份作业是否运行正常
打开主库SSMS“对象资源管理器”–>“SQL Server代理”–>”作业”,右键“查看历史记录”,即可看到日志备份作业的运行情况。