不是存储过程,就是SQL语句,没有日期参数
解决方案 »
- (asp.net)我在看代码的时候发现后缀为.sql的文件
- sql查询语句问题
- 关于触发器的问题
- 在做表规范化时一般规范到第几范式就足够了?
- 使用SQL导入数据向导,图片显示为NULL值
- 我想找出时间最每 组中时间最靠后的记录,不要重复的,应该怎么写呢?
- 我想在不同的网段从客户端工具维护SQL server
- 未能找到 ID 为 65535 的数据库。可能该数据库尚未激活,也可能正在转换过程中。RESTORE DATABASE 操作异常终止。
- 快,我急,关于sql server 2000 的简单问题
- Microsoft SQL Server 2014 安装程序 出现以下错误:
- 缺少更新或刷新的键列信息,是什么意思呢?
- 这种情况你们遇到吗
-- 2003-12-31/8:35 上生成的脚本
-- 由: SHANGHAI2003\WLK
-- 服务器: SHANGHAI2003\NETSDKBEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1
EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]' -- 删除同名的警报(如果有的话)。
SELECT @JobID = job_id
FROM msdb.dbo.sysjobs
WHERE (name = N'数据库备份')
IF (@JobID IS NOT NULL)
BEGIN
-- 检查此作业是否为多重服务器作业
IF (EXISTS (SELECT *
FROM msdb.dbo.sysjobservers
WHERE (job_id = @JobID) AND (server_id <> 0)))
BEGIN
-- 已经存在,因而终止脚本
RAISERROR (N'无法导入作业“数据库备份”,因为已经有相同名称的多重服务器作业。', 16, 1)
GOTO QuitWithRollback
END
ELSE
-- 删除[本地]作业
EXECUTE msdb.dbo.sp_delete_job @job_name = N'数据库备份'
SELECT @JobID = NULL
END BEGIN -- 添加作业
EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT , @job_name = N'数据库备份', @owner_login_name = N'SHANGHAI2003\WLK', @description = N'没有可用的描述。', @category_name = N'[Uncategorized (Local)]', @enabled = 1, @notify_level_email = 0, @notify_level_page = 0, @notify_level_netsend = 0, @notify_level_eventlog = 2, @delete_level= 0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -- 添加作业步骤
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID, @step_id = 1, @step_name = N'1', @command = N'
declare @dbname varchar(100)
declare @dbbakname varchar(100)
set @dbname=''newdbpy''
set @dbbakname=replace(replace(replace(convert(datetime,getdate()) ,''-'',''''),'' '',''''),'':'','''')
exec(''BACKUP DATABASE ''+@dbname+'' TO DISK = N''''C:\publicdoc\数据库备份\''+@dbname+@dbbakname+''.bak'''' WITH NOINIT , NOUNLOAD , NAME = N''''''+@dbname+'' 备份'''', NOSKIP , STATS = 10, NOFORMAT '')
', @database_name = N'master', @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
EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -- 添加作业调度,在这里就可以把时间参数传进来
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID, @name = N'1', @enabled = 1, @freq_type = 4, @active_start_date = 20031209, @active_start_time = 80000, @freq_interval = 1, @freq_subday_type = 8, @freq_subday_interval = 1, @freq_relative_interval = 0, @freq_recurrence_factor = 0, @active_end_date = 99991231, @active_end_time = 190000
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback -- 添加目标服务器
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback END
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
更改指定作业的调度设置。
就和你调用sql语句一样
exec msdb..sp_add_job @job_name='数据处理'--创建作业步骤
declare @sql varchar(800),@dbname varchar(250)
select @sql='exec p_createxml' --数据处理的命令
,@dbname=db_name() --执行数据处理的数据库名exec msdb..sp_add_jobstep @job_name='数据处理',
@step_name = '数据同步',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔--创建调度
EXEC msdb..sp_add_jobschedule @job_name = '数据处理',
@name = '时间安排',
@freq_type=4, --4 每天,8 每周,16 每月
@freq_interval=1, --作业执行的天数
@freq_subday_type=0, --是否重复执行,0x1 在指定的时间, 0x4 分钟, 0x8 小时
@freq_subday_interval=1, --重复周期
@freq_recurrence_factor=1, --重复执行,则设置为1,否则设置为0
@active_start_time = 00000 --0点开始执行