【发布时间】:2010-11-22 19:01:12
【问题描述】:
我正在使用 Angel LMS 及其构建在 SQL Server 平台上。我相信它是 2005 年,但不是 100% 肯定。
无论如何,也许我的伪代码会阐明这个答案。字符串也必须使用单引号,连接字符是+。
我需要每天运行 2-5 次(频率尚未确定,但你明白了)。这是交易块/伪代码:
BEGIN TRANSACTION
BEGIN TRY
<select statement>
<update statement>
<delete statement>
<insert statement>
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
DECLARE @Msg NVARCHAR(MAX)
SELECT @Msg=ERROR_MESSAGE()
RAISERROR('Error Occured: %s', 20, 101,@msg) WITH LOG
END CATCH
我对数据库的唯一访问权限是运行 sql 命令的文本框。我可以创建和删除表、运行事务块,并且显然可以选择/插入/更新/删除。我找不到任何创建代理的命令,只有在您使用企业管理器或任何 GUI 调用时的步骤。
此外,有关如何操纵代理的时间安排的一些参考资料也会有所帮助。当我测试它时,我想将它设置为每十五分钟左右运行一次。
编辑
EXEC dbo.sp_add_job @job_name=N'test' 返回错误
找不到存储过程“dbo.sp_add_job”。
【问题讨论】:
-
以下编辑:尝试 EXEC msdb.dbo.sp_add_job @job_name=N'test'
-
对对象“sp_add_job”、数据库“msdb”、模式“dbo”的执行权限被拒绝。我会尝试强制自己获得权限
标签: sql command-line transactions sql-server-agent agent