求一个批处理 备份sqlserver数据库问题
我想用批处理来实现数据库的备份 
 请有经验的指教~   
 如果ip是本机,帐户密码都为sa,数据库名test 
 网上查了些总会出些问题,请老鸟指教!
------解决方案----------------------通过SQL脚本创建作业 
 --创建作业基本要领 
 --> 执行 sp_add_job 创建作业 
 --> 执行 sp_add_jobstep 创建一个或多个作业步骤 
 --> 执行 sp_add_jobschedule 创建作业调度    
 if exists (select * from dbo.sysobjects  
 where id = object_id(N '[dbo].[p_createjob] ') and OBJECTPROPERTY(id, N 'IsProcedure ') = 1) 
 drop procedure [dbo].[p_createjob] 
 go   
 create proc p_createjob 
 @jobname varchar(100),             --作业名称 
 @sql varchar(8000),                --要执行的命令 
 @serverName sysname= ' ',            --job server名 
 @dbname sysname= ' ',                --默认为当前的数据库名 
 @freqtype varchar(6)= 'day ',        --时间周期,month 月,week 周,day 日 
 @fsinterval int=1,                 --相对于每日的重复次数 
 @time int=170000                   --开始执行时间,对于重复执行的作业,将从0点到23:59分 
 as 
 if isnull(@dbname, ' ')= ' ' set @dbname=db_name()   
 --创建作业 
 exec msdb..sp_add_job @job_name=@jobname   
 --创建作业步骤 
 exec msdb..sp_add_jobstep @job_name=@jobname, 
         @step_name =  '数据处理 ', 
         @subsystem =  'TSQL ', 
         @database_name=@dbname, 
         @command = @sql, 
         @retry_attempts = 5, --重试次数 
         @retry_interval = 5  --重试间隔   
 --创建调度 
 declare @ftype int,@fstype int,@ffactor int 
 select @ftype=case @freqtype when  'day ' then 4 
                                         when  'week ' then 8 
                                         when  'month ' then 16 end 
         ,@fstype=case @fsinterval when 1 then 0 else 8 end 
 if @fsinterval <> 1 set @time=0 
 set @ffactor=case @freqtype when  'day ' then 0 else 1 end   
 exec msdb..sp_add_jobschedule @job_name=@jobname,  
         @name =  '时间安排 ', 
         @freq_type=@ftype ,                        --每天,8 每周,16 每月 
         @freq_interval=1,                          --重复执行次数 
         @freq_subday_type=@fstype,                 --是否重复执行 
         @freq_subday_interval=@fsinterval,         --重复周期 
         @freq_recurrence_factor=@ffactor, 
         @active_start_time=@time                   --下午17:00:00分执行   
 if @servername= ' ' 
 set @servername=@@servername 
 exec msdb..sp_add_jobserver @job_name = @jobname,  
      @server_name = @servername 
 go    
 --调用 
 --每天执行的作业 
 exec p_createjob @jobname= 'dd ' 
                  ,@sql= 'insert B select convert(char(10),getdate(),120),1+(select max([text]) from B) ' 
                  ,@servername= 'job服务器名 ' 
                  ,@dbname= '数据库名 ' 
                  ,@freqtype= 'day ' 
                  ,@time= '000000 ' 
 --查看作业 
 select * from sysjobs   
 --更新作业(更名及禁用该作业) 
 use msdb 
 exec sp_update_job  
 @job_name =  'dd ',  
 @new_name =  'ee ',   
 @description =  'change name for new job ', 
 @enabled = 0   
 --删除作业 
 use msdb 
 exec sp_delete_job @job_name= 'dd '