SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败先感谢一下我的同事们最先发现此问题,鸣谢:向飞、志刚、海云 最近在生产环境发现一个诡异的问题; 环境:WINDOWS 2012+SQLSERVER 2012 SP1,双节点的故障转移群集+单节点的SQLS...
原文: SQLServer 2012异常问题(一)--故障转移群集+镜像环境导致作业执行失败

先感谢一下我的同事们最先发现此问题,鸣谢:向飞、志刚、海云

最近在生产环境发现一个诡异的问题;

环境:WINDOWS 2012+SQLSERVER 2012 SP1,双节点的故障转移群集+单节点的SQLSERVER 2012 SP1实例(镜像)

生产数据库是从SQLSERVER 2008R2迁移到2012的,迁移过程很顺利,按照一般经验,可能导致数据库所有者丢失,因此在迁移后手动修改数据库所有者为sa,与此同时还有个job在做这个库的归档(定期清理历史数据到本地的历史库中,delete、insert操作);

迁移后尝试运行job均可正常执行;第二天以镜像方式做灾备,搭建完镜像环境后,归档的job报错:无法登录到服务器“(local)”。

后测试尝试重建作业也无效,再创建一个新作业,只在这个做了镜像的库上执行“select 1”,同样报错(按理说select 1是不会记录日志的,因此也就不会影响到镜像)

最后通过查询代理错误日志,发现如下错误:

确实,MultiSubnetFailover参数必须要开启AlwaysOn属性后才能使用。但为何在只建立镜像的环境下,SQL Agent仍会通过这个连接选项连接到镜像实例?

 

此外,我又做了两个测试:

测试A:在开启过AlwaysOn选项的单实例(非群集环境)上,先关闭AlwaysOn选项,删除并重建端点,搭建镜像环境;

测试B:在从未开启过AlwaysOn选项的单实例(非群集环境)上(新装的虚机),搭建镜像环境;

上述两次测试,JOB均可顺利执行,并未出现此前在群集环境下的问题;

由此,基本可以排除此问题受AlwaysOn选项的影响的可能,反而是对群集环境才有此类的现象;

 

目前的群集环境不便开启AlwaysOn选项,因此无法做进一步测试来验证上面的观点,有兴趣的童鞋可以继续测试一下;

 

PS:经过陈桑的提点,这个问题可以曲线解决;

创建job步骤的时候,连接数据库选为非镜像库(如master),同时修改要执行的SQL,将对象名改为database.schema.object的格式即可;

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
4月前
|
Linux 数据库 数据安全/隐私保护
猿创征文|Linux centos7下利用docker快速部署SQLserver测试学习环境
猿创征文|Linux centos7下利用docker快速部署SQLserver测试学习环境
81 0
|
SQL 安全 关系型数据库
RDS SQL Server通过配置镜像为高性能模式提高写入性能
RDS SQL Server通过配置镜像为高性能模式提高写入性能
|
数据库 数据安全/隐私保护 Windows
成功解决启动SQLServer失败,根据错误信息判断错误故障
成功解决启动SQLServer失败,根据错误信息判断错误故障
|
SQL 监控 安全
SQL Server 高可用性(五)数据库镜像
数据库镜像是SQL Server 2005 sp1正式引入的一项数据库级的高可用性技术。
292 1
SQL Server 高可用性(五)数据库镜像
|
数据库 数据安全/隐私保护 Windows
成功解决启动SQLServer失败,根据错误信息判断错误故障
成功解决启动SQLServer失败,根据错误信息判断错误故障
|
SQL 弹性计算 数据库
|
SQL 网络协议 数据库
sql server 高可用故障转移(1)
原文:sql server 高可用故障转移(1) 群集准备工作        个人电脑 内存12G,处理器 AMD A6-3650CPU主频2.6GHz         虚拟机 VMware Workstation 12        数据库  sql server 2008 r2     ...
851 0
|
SQL 存储 监控
sql server 高可用故障转移(3)
原文:sql server 高可用故障转移(3) 虚拟磁盘创建           前面我们已经搭了域和两台sql 服务器, 下面我们准备让DC域服务器除了担当域控制器外,还行使另一个职能:充当集群共享存储。
854 0
|
SQL 网络协议 测试技术
sql server 高可用故障转移(2)
原文:sql server 高可用故障转移(2)   添加网卡心跳线     目标: 二台sql服务器需要添加网卡心跳线,用于sql server内部数据传输      计算机名 Ip信息 心跳线 Hsr1 192.
778 0
|
SQL 网络协议 数据库
sql server 高可用镜像
原文:sql server 高可用镜像 一、什么是数据库镜像     基本软件的高可用性解决方案   快速的故障转移恢复(3秒转移),低硬件成本   基于数据库级别的实现 二、数据库镜像中的服务器角色         主体服务器     承载主体数据库     接受用户连接和事务处理请求         镜像服务器     承载镜像数据库     作为主体数据库的热备份(主体数据库的变化及时传到镜像数据库中)     仅在故障转移后接受用户连接,事务处理请求。
1295 0