求教 DTS导入/导出问题,如何将作业的调度时间修改为:每天的每一秒,而不是每天的一分钟,(急)

xiaohuajx 2004-12-21 07:44:30
如题:
我自己在Sql server上试验了如下方法:
1、Sql Server自带的只能设置到一分钟;或一小时;
2、在调度中设置为:“每当cpu休闲时启动”,然后修改:Sql Server代理的CPU闲置条件(最少必须设置为20s),而且设置后运行老出错;
...全文
132 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2004-12-22
  • 打赏
  • 举报
回复
--至于存储过程中调用DTS包的问题,你可以用xp_cmdshell配合dtsrun来实现

示例

--若要执行保存为 COM 结构化存储文件的 DTS 包,请使用:
exec master..xp_cmdshell 'dtsrun /Ffilename /Npackage_name /Mpackage_password'


--若要执行保存在 SQL Server msdb 数据库中的 DTS 包,请使用:
exec master..xp_cmdshell 'dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password'


--若要执行保存在 Meta Data Services 中的 DTS 包,请使用:
exec master..xp_cmdshell 'dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Rrepository_name'


有关dtsrun的具体语法,请参见SQL联机帮助
zjcxc 2004-12-22
  • 打赏
  • 举报
回复
--用存储过程配合作业实现一秒一次处理

--示例存储过程
create proc p_test
as
declare @dt datetime
set @dt=dateadd(minute,1,getdate())
while @dt<getdate()
begin
....--这里放上你的导入处理
waitfor delay '00:00:01' --处理完成后延时1秒
end
go

--然后创建一个每分钟执行一次的作业调用上述存储过程即可
zjcxc 2004-12-22
  • 打赏
  • 举报
回复
1秒一次导入? 你的SQL服务器光处理导入估计就玩完了吧?

SQL的作业确实最小只能1秒一次

如果你是需要即时的导入,将导入改在存储过程中去处理
xiaohuajx 2004-12-21
  • 打赏
  • 举报
回复
我也是怕影响性能,但我一个搞电信的朋友说,使用oracle可以到几百ms;我不知道是不是真的,
NinGoo 2004-12-21
  • 打赏
  • 举报
回复
什么job要一秒钟运行一次?

换个思路吧,这样就算能实现也超严重影响性能
xiaohuajx 2004-12-21
  • 打赏
  • 举报
回复
最多不能超过5s 否则客户肯定不答应!
guanshiyu123 2004-12-21
  • 打赏
  • 举报
回复
设置到每一秒,这个好像是办不到的

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧