Sqlserver日志传送高可用搭建
1.原理
主数据库定时备份事务日志到共享文件夹,辅助数据库定时从共享文件夹把事务日志备份复制到本地文件夹中,辅助数据库定时将本地文件夹中的事务日志备份还原到数据库上。
2.修改服务启动账户
2.1.为什么修改
如果使用默认的NT SERVICE\MSSQLSERVER用户启动SQLServer,NT SERVICE\SQLSERVERAGENT用户启动SQLServer代理,那么即使共享目录Everyone都有读写权限也不可以,报错如下:
2.2.修改步骤
主数据库和辅助服务器都要做,而且用户要相同,密码相同
点击检查名称后,点击确定,然后输入密码和确认密码,主数据库和辅助数据库这里的密码要相同
点击应用即可,这时候SQL Server代理服务会自动停止,修改SQL Server代理服务启动账号与SQLServer相同
最终效果
2.3.新增用户
如果不想用管理员账户,也可以新增一个专门的账户来负责服务的开启
搜索框搜算【计算机管理】---》右键新增用户---》将用户添加到Administrators组
3.新增共享文件夹
4.配置日志复制
4.1.主服务器设置
备份设置
4.2.辅助服务器设置
4.3.最终效果
5.关闭日志传送
主数据库---》右键,属性---》事务日志传送---》取消勾选【将此数据库启用为日志传送配置中的主数据库】复选框
6.复原sqlserver和sqlserver代理服务运行账户
sqlserver配置管理器---》双击服务---》浏览(NT SERVICE\MSSQLSERVER启动sqlserver服务,NT SERVICE\SQLSERVERAGENT启动sqlserver代理服务,密码留白)
7.报错
主数据库备份正常,辅助数据库的复制和还原也都正常,主库也同步到了备库。但是查看事务日志传送状态报错,查看警告作业记录也是红的,查看备份记录虽然时绿的,但是中间有报错。
备份记录的报错:
日志传送代理无法将历史记录和错误信息记录到 SQL Server 2019
DateTime * * * 错误:无法将参数值从 a 转换为 SqlGuid 的字符串。(System)
DateTime * * * 错误:对象必须实现 IConvertible。(mscorlib) * * *
解决方法:打补丁
参考:KB4537869-修复:日志传送代理无法将历史记录和错误信息记录到 SQL Server 2019
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
2021-11-23 Oracle审计表清理脚本
2021-11-23 DG(DataGuard)正常切换