SQL作业仅在特定实例上失败

时间:2013-08-28 05:14:31

标签: sql sql-server tsql

我们有一个应用程序,其中应用程序的会话数据存储在一个表中,从该表中我们有一个SQL作业,它将上面的数据放在另一个表中,更有意义地隔离它。

当我们创建作业时,作业在DEV环境和TEST中传递,但是当我们在生产和阶段中实现作业时,作业失败并出现以下错误。

  

从字符转换日期和/或时间时转换失败   串

我们尝试将数据库还原到除应用程序数据库所在的其他实例以及SQL作业成功完成之外的其他实例。作业仅在应用程序DB所在的实例中失败。

我们尝试过的步骤: 我们尝试将成功完成作业的实例的SQL配置与失败的实例进行比较,没有差异 我们尝试手动执行存储过程来编写一些打印语句以查看它是否真的是代码问题,这对我们没有帮助,因为作业没有针对特定会话GUID失败并且同样的步骤在DEV环境中传递。

我们无法弄清楚为什么只在应用程序数据库所在的实例上发生这种情况。

2 个答案:

答案 0 :(得分:0)

“从字符串转换日期和/或时间时转换失败”。这是基于数据的错误。它有一个字符串,不需要格式转换为数据。问题不在于代码,而在于数据。添加预处理步骤以将数据转换为需要格式。

答案 1 :(得分:0)

检查正在运行作业的服务器帐户的默认语言 - 我的猜测类似于DEV / TEST的帐户设置为英式英语,而LIVE设置为英语。 但是,即使是这种情况,这仍然只能说明问题出现在LIVE上的原因。你需要做的就是要纠正这个问题,确保你的工作不做任何关于日期格式的假设,不进行任何隐式日期转换,并且在日期变量/列中保存日期,而不是字符变换。