Ако Enterprise Manager не е наличен за създаване на работа за обновяване на наличности,
можете да постигнете същото с T-SQL команди.
Кодът на работата по-долу ще направи пълно обновяване на наличностите. Можете да премахнете стъпки
които не са необходими.
Редактирайте следното, за да отговаря на вашата конфигурация.
- Име на сървъра - променете това на името на сървъра и инстанцията
в която работи вашата база данни.
- Име на БД - променете това на името на базата данни, където искате да
обновите наличностите.
Заменете всички срещания на двете с вашата конфигурация.
начало на транзакция
обяви
@JobID binary(16),
@ReturnCode int
set nocount on
select @ReturnCode = 0
-- създаване на заглавие на работа
изпълни @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID output,
@job_name = N'Обновяване на наличности - ежедневно', @enabled = 1,
@description = N'',
@category_name = N'[Некатегоризирано (Локално)]',
@notify_level_eventlog = 2, @delete_level= 0
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- стъпка 1 - обновяване на серийни номера
изпълни @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 1, @step_name = N'Обновяване на серийни номера',
@command = N'exec dl_PA_ObrProm_StetjeSerialNo '''', null, null
exec dl_PA_ObrProm_StatusSerialNo ''''', @database_name = N'Име на БД',
@server = N'', @database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- стъпка 2 - преизчисляване на цени
изпълни @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 2, @step_name = N'Преизчисляване на цени',
@command = N'exec dl_PA_ObrProm_CalcCen '''', null, null, ''''
exec dl_PA_ObrProm_CalcLastCen '''', null, null, ''''
exec dl_PA_ObrProm_PreracunNabCenZbirno ''''',
@database_name = N'Име на БД', @server = N'',
@database_user_name = N'',@subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- стъпка 3 - обновяване на наличности
изпълни @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 3, @step_name = N'Обновяване на наличности',
@command = N'exec dl_PA_ObrProm_ObnovitevZaloge ''''',
@database_name = N'Име на БД', @server = N'',
@database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- стъпка 4 - обновяване на заглавия на документи
изпълни @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 4, @step_name = N'Обновяване на заглавия на документи',
@command = N'exec dl_PA_ObrProm_PreracunBlagajna null, null
exec dl_PA_ObrProm_PreracunDenar null, null
exec dl_PA_ObrProm_PreracunNaroc null, null
exec dl_PA_ObrProm_PreracunNarocOdprem '''', null, null
exec dl_PA_ObrProm_PreracunPromet null, null, ''F''',
@database_name = N'Име на БД', @server = N'',
@database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- записване на началната стъпка в работата
изпълни @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- настройка на график
изпълни @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID,
@name = N'Ежедневно изпълнение в 01.00', @enabled = 1,
@freq_type = 4, @active_start_date = 20020103,
@active_start_time = 10000, @freq_interval = 1,
@freq_subday_type = 1, @freq_subday_interval = 0,
@freq_relative_interval = 0, @freq_recurrence_factor = 1,
@active_end_date = 99991231, @active_end_time = 235959
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
-- инициализиране на работата
изпълни @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID,
@server_name = N'Име на сървъра', @automatic_post = 0
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
select @JobID
if (@@ERROR <> 0 OR @ReturnCode <> 0)
goto QuitWithRollback
commit transaction
goto EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) rollback transaction
EndSave:
Същите бележки важат за тази работа, както за
работата, създадена с Enterprice Manager.