如题
解决方案 »
- vs2005连接oracal数据库,如何引用OracalClient
- 正则表达式的问题,在线等
- 多个聊天室程序开发中碰到的js问题,在线等,立马结贴!
- image类型数据的存取问题
- 在一个页面保存多个数字,在另一个页面获取怎么实现?
- 网页脚本存储问题
- 问:Sql时间查询问题
- 急于联系 wj2929(*ヤRěйヤ*)兄,有问题请教,先赠40分!
- 新手请教有关datagird中动态控制单元格中的显示值
- 从asp.net 1.0 到2.0 转型遇到的问题,大家帮忙
- 5分再开一贴,召唤暮白、孟子,分数不再多,在于问题可以得到解决,明天就要交项目了,有点急!
- |M| 第二贴:如何将一个我用Repeater输出的Table转为Execl导出 谢谢 急
问题是现在要在asp.net中来创建和删除谢谢
DECLARE @jobid uniqueidentifier, @jobname sysname
SET @jobname = N'作业名称'IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name=@jobname)
EXEC msdb.dbo.sp_delete_job @job_name=@jobnameEXEC msdb.dbo.sp_add_job
@job_name = @jobname,
@job_id = @jobid OUTPUT--定义作业步骤
DECLARE @sql nvarchar(4000),@dbname sysname
SELECT @dbname=DB_NAME(), --作业步骤在当前数据库中执行
@sql=N'--作业步骤内容' --一般定义的是使用TSQL处理的作业,这里定义要执行的Transact-SQL语句
EXEC msdb.dbo.sp_add_jobstep
@job_id = @jobid,
@step_name = N'作业步骤名称',
@subsystem = 'TSQL', --步骤的类型,一般为TSQL
@database_name=@dbname,
@command = @sql--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type=4, --每天
@freq_interval=1, --指定每多少天发生一次,这里是1天.
@freq_subday_type=0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval=1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
string strBackup = string.Empty;
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
SQLDMO.Job oJob = new SQLDMO.JobClass();
SQLDMO.JobSchedule oJobSchedule = new SQLDMO.JobScheduleClass();
SQLDMO.JobStep oJobStep = new SQLDMO.JobStepClass();
try
{oSQLServer.LoginSecure = false;
oSQLServer.Connect(this.txtComputer.Text,this.txtUser.Text,this.txtPassword.Text);oJobSchedule.Name = "a";
oJobSchedule.Schedule.ActiveStartDate = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
oJobSchedule.Schedule.ActiveStartTimeOfDay = 230000;
oJobSchedule.Schedule.FrequencyType = SQLDMO.SQLDMO_FREQUENCY_TYPE.SQLDMOFreq_Daily;
oJobSchedule.Schedule.FrequencyInterval=1;strBackup = "declare @strDateTime varchar(100) " +
"select @strDateTime=convert(char(8),getdate(),112)+ '_' +replace(convert(varchar(10),getdate(),108),':','') "+
"declare @str varchar(100) " +
"set @str = 'd:\\" + this.txtDatabase.Text + "_'+@strDateTime+'.bak' " +
"backup database " + this.txtDatabase.Text + " to disk=@str";oJobStep.Command = strBackup;
oJobStep.DatabaseName = this.txtDatabase.Text;
oJobStep.StepID =1;
oJobStep.Name = "step" + DateTime.Now.ToString("yyyyMMddHHmmss");
oJob.Name ="job" + DateTime.Now.ToString("yyyyMMddHHmmss");oSQLServer.JobServer.Jobs.Add(oJob);
oJob.JobSteps.Add(oJobStep);
oJob.JobSchedules.Add(oJobSchedule);oJob.ApplyToTargetServer("demo");MessageBox.Show("任务添加成功");
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
2.Sql Server 自带的作业备份
3.自己建个windows服务来执行(vs2005下做windows服务很方便)