2015-10-14 2 views
3

я в есть ужасное время с SQL 2012. Я используется для планирования заданий и автоматизации с SQL 2000, но я новичок в 20122012 Проблемы SQL вакансии

Я написал очень простой сценарий (см. ниже), и независимо от того, что я делаю, сценарий выходит из строя как первый шаг задания, но отлично работает как отдельный запрос в окне запроса.

Любая помощь может пройти долгий путь.

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 для запуска как меня (domain admin)

Я даже изменил свой скрипт только как скрипт вставки, но все же получаю почти такую ​​же ошибку. Есть идеи? enter image description here

enter image description here

enter image description here

+0

Вы знаете, что с правильным ограничением вы могли бы переписать всю эту работу в один оператор, верно? –

ответ

4

Вы должны дать пользователю полномочия NT службу для доступа к таблицам в базе данных. У вашего пользователя Keith есть разрешения, но NT SERVICE этого не делает. Он должен иметь права доступа, как это:

enter image description here

Конечно, в моем скриншоте, пользователь не точно такой же, как то, что я думаю, что ваш есть, но вы получите идею.

+3

Или, лучше, задайте конкретного пользователя для задания. –

Смежные вопросы