我在sqlserver中创建了一个job,然后把它导出成sql脚本,现在我想在另一台服务器上运行这个job,但不想把这段sql脚本放在服务器上的查询分析器中运行,只想通过网页来执行这段sql脚本,我试过把脚本读出来放在字符串中,再通过sql的exec命令执行这段字符串是不行的,请问有没有什么办法能够执行,谢谢!!!
解决方案 »
- .net做论坛疑问
- WebService 无法实力化
- 请大家帮忙解决文章分类的排序问题
- asp.net中execl转换html出错。。。
- [求助]在SQL_Server新建登陆用户时,在常规选项中的默认设置的数据库选项中我选了Master和选我针对的数据库效果是一样的。那是为什么??
- 如何从一个页面里清除另外一个页面里的gridview的数据?
- fineui添加的按钮实现关闭当前窗口遇到问题
- 请问如何在程序中往datagrid里面动态的添加模板列,并且在模板列中加入某个控件
- 我是新手,谁能给我一段代码
- NameValueCollection在哪个命名空间中呀?
- 问下行情 向这样的一个页面多少钱
- .NET 讀取 Excel單元格
string infile=System.Web.HttpContext.Current.Server.MapPath("test.sql");
Process sqlprocess=new Process();
sqlprocess.StartInfo.FileName="osql.exe";
sqlprocess.StartInfo.Arguments=String.Format("-U {0} -P {1} -S {2} -i {3}","sa","123456","192.168.0.28",@infile); //U为用户名,P为密码,S为目标服务器的ip,infile为数据库脚本所在的路径
sqlprocess.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;
sqlprocess.Start();
sqlprocess.WaitForExit(); //等待程序执行.Sql脚本
sqlprocess.Close();
Response.Write("<script>alert(’Ok.’);</script>");
上传
aspx/cs内用io打开文件read到一个字符串 然后 用ADO.NET执行。
http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=UploadAndExecute
create proc p_createjob
@jobname varchar(100),--作业名称
@sql varchar(8000),--要执行的命令
@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分执行
-- 添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
@job_name = '数据处理' ,
@server_name = N'(local)'
有没有不用另外加工具的方法