当前位置:数据库 > SQLServer >>

根据当月数据库自动生成下个月数据库--3

答案:


--创建一个每月最后一个工作日执行的作业,调用上述存储过程实现自动创建数据库

use mastergo

--设置 SQL Agent 服务为自动启动exec msdb..sp_set_sqlagent_properties @auto_start=1go

--创建作业exec msdb..sp_add_job @job_name=N'自动建库处理'

--创建作业步骤declare @sql varchar(800),@dbname varchar(250)select @sql=N'exec sp_ProcCopyDb'  --调用自动建库的存储过程,@dbname=db_name()         --执行自动建库处理的数据库名

exec msdb..sp_add_jobstep @job_name=N'自动建库处理',@step_name = '建库处理',@subsystem = 'TSQL',@database_name=@dbname,@command = @sql,@retry_attempts = 5, --重试次数@retry_interval = 5  --重试间隔

--添加作业调度(每月最后一个工作日)EXEC msdb.dbo.sp_add_jobschedule @job_name = N'自动建库处理', @name = N'时间安排',@freq_type = 32, @active_start_time = 0,  --0点开始执行@freq_interval = 9,      --每月最后一个工作日@freq_subday_type = 1, @freq_subday_interval = 0, @freq_relative_interval = 16, @freq_recurrence_factor = 1

-- 添加目标服务器EXEC msdb.dbo.sp_add_jobserver @job_name = N'自动建库处理' ,@server_name = N'(local)'

/*--已知问题

由于sql生成脚本的BUG,有的数据库可能无法用生成脚本的方法进行处理

--*/

上一个:Sql Server中用变量名作为表名的解决方案
下一个:根据当月数据库自动生成下个月数据库--2

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,