作业的操作
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)" --如:下面的SQL腳本
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名 ... --该存储过程用于创建表
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行
设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
-- 以下代码放在作业里做调度,自动备份、自动删除4天前备份
-- 以下代码放在作业里做调度,自动备份、自动删除4天前备份
-- 创建映射
exec master..xp_cmdshell ' net use w: /DatabaseBackup$ "password"/user:Roy ' ,NO_OUTPUT
go
-- ---2000用游标:
declare @s nvarchar ( 200 ), @del nvarchar ( 200 )
select @s = '' , @del = ''
declare datebak cursor for
select
[ bak ] = ' backup database ' + quotename (Name) + ' to disk = '' w: ' + Name + ' _ ' + convert ( varchar ( 8 ), getdate (), 112 ) + ' .bak '' with init ' ,
[ del ] = ' exec master..xp_cmdshell '' del w: ' + Name + ' _ ' + convert ( varchar ( 8 ), getdate () - 4 , 112 ) + ' .bak '' , no_output '
from master..sysdatabases where dbid > 4 -- 不备份系统数据库
open datebak
fetch next from datebak into @s , @del
while @@fetch_status = 0
begin
exec ( @del )
exec ( @s )
fetch next from datebak into @s , @del
end
close datebak
deallocate datebak
go
-- 删除映射
exec master..xp_cmdshell ' net use w: /delete '
go
-- 2005用max支持2G的字符串
declare @s nvarchar ( max ), @del nvarchar ( max )
select @s = '' , @del = ''
select
@s = @s +
char ( 13 ) + ' backup database ' + quotename (Name) + ' to disk = '' w: ' + Name + ' _ ' + convert ( varchar ( 8 ), getdate (), 112 ) + ' .bak '' with init ' ,
@del = @del +
char ( 13 ) + ' exec master..xp_cmdshell '' del w: ' + Name + ' _ ' + convert ( varchar ( 8 ), getdate () - 4 , 112 ) + ' .bak '' , no_output '
from master..sysdatabases where dbid > 4 order by dbid asc
exec ( @del )
exec ( @s )
本文链接:https://www.kinber.cn/post/2462.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: