gpt4 book ai didi

sql-server-2008 - 为什么我的 SQL 代理作业总是失败?

转载 作者:行者123 更新时间:2023-12-03 18:23:01 24 4
gpt4 key购买 nike

我有一个 SQL 代理作业,它只是按计划运行基本查询。它根据显示的查询更新信息。

USE DB
DECLARE @startDate AS DATETIME
DECLARE @endDate AS DATETIME
DECLARE @rcount AS VARCHAR(10)
SET @startDate = CAST(CONVERT(VARCHAR(10),GETDATE(),112) AS DATETIME)
SET @endDate = CAST(CONVERT(VARCHAR(10),GETDATE(),112) AS DATETIME)
--*********************************************************
-- *Run Query
--*********************************************************
UPDATE Table1
SET Table1.field1 = 'ZPR' + Left(Table1.field1,6),
Table1.field2 = '0',
Table1.field3 = '0'
WHERE Table1.GUID IN (SELECT GUID FROM Table1 T2
WHERE T2.Date >= @startDate
AND T2.Date <= @endDate
AND T2.complete = 0)
AND Table1.co IN (SELECT co FROM VIEW('ZERO'))
SELECT @rcount = CAST(@@ROWCOUNT AS VARCHAR(10)) + ' ' + 'row(s) affected by UPDATE';
--*********************************************************
--* Print Results
--*********************************************************
DECLARE @eSubject varchar(250)
DECLARE @emailTo varchar(250)
SET @eSubject = 'Number of rows updated'
SET @emailTo = 'me@me.com'
EXEC msdb.dbo.sp_send_dbmail @recipients=@emailTo,
@subject = @eSubject,
@body = @rcount,
@body_format = 'HTML';

当没有完成任何更新时,作业运行完美,但只要有更新就会失败。运行此作业的用户具有读写访问权限。我得到的错误是“字符串或二进制数据将被截断 [sql220001] [错误 8152]”。我不确定为什么它总是失败,任何帮助都会很棒!

******************更新**********

我要疯了。它作为计划作业失败,但在任何其他用户下作为直接查询完美运行。字段如下:

Table1.field1 = PK 长度为 10
Table1.field2 = 位长为 1
Table1.field3 = 位长为 1

无论我尝试或执行什么操作,SQL 作业都会失败并出现相同的错误,但是我可以自行运行查询并且可以完美运行,这让我很抓狂。

最佳答案

也许在 Table1 上设置了一些触发器导致了这个问题?如果有,你也应该检查那些代码。

关于sql-server-2008 - 为什么我的 SQL 代理作业总是失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23035864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com