以下脚本,经我试验,不能实现,想请教高指正,或者能再写出能实现自动网络备份功能的批处理文件更好。脚本如下:
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
declare @strsql varchar(1000)
declare @strdirname varchar(50)
declare @strcmd varchar(50)
declare @strsend varchar(1000)
declare @strdate varchar(50)
exec master..xp_cmdshell 'net use \\192.168.0.151\d$ Password /user:192.168.0.151\administrator'
set @strsql='backup database new_his to disk=''\\192.168.0.151\d$\serverd\'
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12'
set @strcmd='md \\192.168.0.151\d$\serverd\'
set @strcmd=@strcmd+@strdirname
exec master..xp_cmdshell @strcmd
--print @strsql
set @strsql=@strsql+@strdirname+'\new_hisbackup.dat'' with init,nounload,noskip,noformat'
--print @strsql
exec (@strsql) ----其中写的IP地址及共享目录,自行修改,Password一定要正确--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
declare @strsql varchar(1000)
declare @strdirname varchar(50)
declare @strcmd varchar(50)
declare @strsend varchar(1000)
declare @strdate varchar(50)
exec master..xp_cmdshell 'net use \\192.168.0.151\d$ Password /user:192.168.0.151\administrator'
set @strsql='backup database new_his to disk=''\\192.168.0.151\d$\serverd\'
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12'
set @strcmd='md \\192.168.0.151\d$\serverd\'
set @strcmd=@strcmd+@strdirname
exec master..xp_cmdshell @strcmd
--print @strsql
set @strsql=@strsql+@strdirname+'\new_hisbackup.dat'' with init,nounload,noskip,noformat'
--print @strsql
exec (@strsql) ----其中写的IP地址及共享目录,自行修改,Password一定要正确--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
解决方案 »
- 哪位帮我看看这个范式的转换问题 谢谢啊
- 关于外键表添加数据问题
- select * from saleout where datetimes='2006-12-2'这个是查时间查不出东西
- 用sql语句按指定时间段分组统计
- 在线等!数据库连接问题:局域网可以访问,但外部公用网不能访问。求高手解答
- 求教简单问题 急 一旦解决马上结贴
- ORDER BY 字段里有数字和中文一起的 如何排序
- 一个简单的sql语句,不过我不知道怎么写
- 急,触发器问题!为什么在数据库里修改分值时组长的下平均分不会跟着变,关掉这个表后再打开这个表,里面的数据才变!
- 我想做个图书馆管理系统,并想实现一定的网络功能,我想用vc和sql server,请问用odbc,ole db哪个好
- 如何刷新指定列的数据?
- 求一方法将IQueryable 转换为DataTable
定时作业的制定企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名 ... --该存储过程用于创建表 --确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行 设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
你可以做一个windows计划任务,定期拷贝到异机如果确实有必要,你可以考虑用logshiping
比这个要简单