愤怒的大鸟 发表于 2015-1-16 22:24:00

MSSQL网页编程之【xp_sqlagent_enum_jobs】获得SQL Ser...

支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统server|存储历程|实行xp_sqlagent_enum_jobs是微软未公然的存储历程,用于获得功课的相干信息,在本人举行调剂处置多功课时,用它来判别功课的实行情形再符合不外了。
createtable#help_job(
job_idUNIQUEIDENTIFIERNOTNULL,
last_run_dateINTNOTNULL,
last_run_timeINTNOTNULL,
next_run_dateINTNOTNULL,
next_run_timeINTNOTNULL,
next_run_schedule_idINTNOTNULL,
requested_to_runINTNOTNULL,--BOOL
request_sourceINTNOTNULL,
request_source_idsysnameNULL,
runningINTNOTNULL,--BOOL
current_stepINTNOTNULL,
current_retry_attemptINTNOTNULL,
job_stateINTNOTNULL
)--判别功课是不是正在运转
while@job_run_flag=1
begin
--删除一时表信息
delete#help_job
--增加信息
INSERTINTO#help_job
EXECUTEmaster.dbo.xp_sqlagent_enum_jobs1,sa

ifexists(select*frommsdb.dbo.sysjobsa,#help_jobbwherea.job_id=b.job_idanda.name=job1andb.job_state=4andb.request_source_idisnull)
begin
set@job_run_flag=0
end
else
begin
--延时一分钟
waitfordelay000:01:00
end
end
--实行其他功课
execmsdb.dbo.sp_start_job@job_name=job1
--更新服务器形态
--updateSYS_ServersetUpdateFlag=0wherePID=@PID
set@job_run_flag=1
b.request_source_idisnull必定要加上,不然屡次启动统一个功课的时分有大概报错。
我的存储历程,人人能够自创一下

CREATEPROCEDUREproc_pmis_main
AS
--更新筹办
execproc_pmis_updateready
--一时表
createtable#help_job(
job_idUNIQUEIDENTIFIERNOTNULL,
last_run_dateINTNOTNULL,
last_run_timeINTNOTNULL,
next_run_dateINTNOTNULL,
next_run_timeINTNOTNULL,
next_run_schedule_idINTNOTNULL,
requested_to_runINTNOTNULL,--BOOL
request_sourceINTNOTNULL,
request_source_idsysnameNULL,
runningINTNOTNULL,--BOOL
current_stepINTNOTNULL,
current_retry_attemptINTNOTNULL,
job_stateINTNOTNULL
)
--功课是不是正在运转
--1:正在运转;0:未运转
declare@job_run_flagint
set@job_run_flag=1
declare@PIDint
--轮回提取数据
declarearea_cursorcursorfor
selectPIDfromSYS_ServerwhereUpdateFlag=1andUseFlag=1orderbyPID
openarea_cursor
fetchnextfromarea_cursorinto@PID
while@@fetch_status=0
begin
--判别功课是不是正在运转
while@job_run_flag=1
begin
--删除一时表信息
delete#help_job
--增加信息
INSERTINTO#help_job
EXECUTEmaster.dbo.xp_sqlagent_enum_jobs1,sa

ifexists(select*frommsdb.dbo.sysjobsa,#help_jobbwherea.job_id=b.job_idanda.name=job_pmis_synchandb.job_state=4andb.request_source_idisnull)
begin
set@job_run_flag=0
end
else
begin
--延时一分钟
waitfordelay000:01:00
end
end
--实行同步功课
execmsdb.dbo.sp_start_job@job_name=job_pmis_synch
--更新服务器形态
--updateSYS_ServersetUpdateFlag=0wherePID=@PID
set@job_run_flag=1
--print(@PID)
fetchnextfromarea_cursorinto@PID
end
closearea_cursor
deallocatearea_cursor
droptable#help_job
GO

mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗

因胸联盟 发表于 2015-1-19 10:44:56

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

第二个灵魂 发表于 2015-1-28 05:58:12

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。

变相怪杰 发表于 2015-2-5 18:16:43

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

小妖女 发表于 2015-2-13 05:47:55

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

分手快乐 发表于 2015-3-3 16:13:35

呵呵,这就是偶想说的

再见西城 发表于 2015-3-11 12:19:03

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

再现理想 发表于 2015-3-18 13:28:33

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

不帅 发表于 2015-3-25 23:47:24

无法深入到数据库系统层面去了解和探究
页: [1]
查看完整版本: MSSQL网页编程之【xp_sqlagent_enum_jobs】获得SQL Ser...