gpt4 book ai didi

sql - 2012 SQL作业问题

转载 作者:行者123 更新时间:2023-12-04 02:17:20 24 4
gpt4 key购买 nike

我在 SQL 2012 上度过了一段糟糕的时光。我习惯了使用 SQL 2000 进行作业调度和自动化,但我是 2012 的新手。

我写了一个非常基本的脚本(见下文),无论我做什么,脚本作为工作的第一步都会失败,但在查询窗口中作为独立查询运行良好。

任何帮助都会大有帮助。

declare @AccountID as int
declare @ID as int
declare @SaleDate as datetime
declare @todaysdate as datetime
declare @sentdate as datetime
declare @writeToFile as int
begin
set @todaysdate = getdate()
set @writeToFile = 0
select @id = ID, @AccountID = AccountID, @SaleDate = SaleDate from TransHeader where Transheader.ID = 19680
--print @@ROWCOUNT

select AccountID, max(SurveySent) as "THEFINALDATE" from tbl_survey_email where AccountID = @AccountID AND datediff(dd, SurveySent, @todaysdate) <= 182 Group By AccountID
set @writeToFile = @@ROWCOUNT
--print @writeToFile

if (@writeToFile = 0)
begin

insert into tbl_survey_email ('AccountID','TransactionID', 'datetime') VALUES (@AccountID, @ID, @SaleDate)
end

end

enter image description here

enter image description here

经过数小时的尝试使这项工作成功,它仍然无法正常工作。我什至将 SQL Server 代理服务更改为以我的身份运行(域管理员)

我什至将我的脚本更改为仅作为插入脚本,但仍然出现几乎相同的错误。有任何想法吗? enter image description here

enter image description here

enter image description here

最佳答案

您必须授予 NT SERVICE 用户访问数据库中表的权限。您的 Keith 用户有权限,但 NT SERVICE 没有。它应该具有这样的权限:

enter image description here

当然,在我的屏幕截图中,用户与我认为的用户并不完全相同,但您明白了。

关于sql - 2012 SQL作业问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130857/

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