ᔈҔၗжำԄܭಔᙃπբૻϐीᆶჴբ
ഋࣂ౺ ৪ᔮШ
୯ҥ݅ࣽמεᏢၗૻᆅس
g9323211@yuntech.edu.tw
ǵhsujs@mis.yuntech.edu.tw
ᄔा
ගଯಔᙃΓޑπբਏᆶቚΓϐॄೢ ҺᄊࡋǴޔࢂᆅޣ܌ᜢϪޑᚒǶऩࢬำύޑ Πෞߐ໔πբՉคݤӵයӦճሒௗǴߐ ໔ޑݾϷڕೢҺޑඳஒόᘐӦख़ፄᄽǶฅ ԶᏤΕཥၗૻسٰᆅπբࢬำ٣୍ǴჹҾ ಔᙃٰᖱǴஒࢂᚳεޑҔЍрǶӢԜǴҁ ࣴزܭҾಔᙃԋҁҔޑԵໆǴаόᚐѦቚ уၗૻسҔϐচ߾ΠǴճҔၗжำԄϷ SQL Mail ޑ୍ܺۓǴٰჴբπբၻਔϐૻ೯ ޕǶԜीૈԖਏ่ӝಔᙃϣޑԖၗૻس ǴගٮߐΓπբࡋပࡕਔԾૻᆶՉ ࡕុଓᙫޑբǶ ᜢᗖຒǺπբࢬำǵၗжำԄǵSQL Mailǵ ԾૻǶAbstract
It has been the key issue of the manager to improve the work efficiency and responsibility of staff in organization all the time. If the interdepartmental work from upstream to downstream in the workflow can't be linked up smoothly on schedule, the situation of argument and shirking duty between each department will be occurred constantly. In organization, however, it would be a huge expense to introduce a new information system to manage the workflow affair.
The main consideration of this research focuses on the expenses of enterprises, without increasing the expenses of information system. We utilize database agent and SQL Mail service to implement alert notice that the work has not been finished on schedule. This design will combine with the existing information system effectively and provide automatic alert on work progress delay and go on follow-up tracking.
Keywords: Workflow, Database Agent, SQL Mail,
Automatic Alert.
1.
ق
ࣁΑߥಔᙃᝡݾΚǴӭҾதၸ௦ᖼ ཥၗૻس܈ϣԾՉ໒วཥسޑБԄǴٰᅈى ಔᙃϐ҅தᔼၮբǴаයၲډ࣪ΓΚǵऊԋ ҁǵගܹਏޑҞǶ೭٤εࠠޑၗૻس܌ගٮ ޑኳಔфૈǴࢂ٩ಔᙃϣޑπբࢬำٰฝϩځ ٬ҔޑߐϷᏹբޑΓǶ೭٤٬Ҕسޑߐ۶ Ԝ໔ΨԖ࣬ำࡋޑπբᜢᖄǴߐ໔ޑϕϷྎ ೯ҭሥࣁஏϪǶᖐٯٰᇥǴ䩤ߐޑπբҺ୍ࢂ܍ ុΌߐޑπբԶٰǴΌߐޑπբҺ୍ࢂ܍ុЧ ߐޑπբԶٰǶΨ൩ࢂᇥǴ䩤ߐΓϐπբा ຎΌߐΓϐπբࡋԶۓǴΌߐΓϐπբ ाຎЧߐΓϐπբࡋԶۓǴ٩ԜᜪǶऩࢂ πբࢬำޑෞߐࡋั༾ۯᒨǴஒೱቹៜࡕ ុπբࢬำޑΠෞߐπբՉǶӵՖૈዴߞπ ӵයֹԋځᔈޑ٣ǻჹᆅޣԶقǴࢂཱུࣁख़ा ޑǴ೭ΨࢂҾಔᙃ܈ࡹ۬ൂՏයࣰၲԋޑҞǶ ӢԜӧಔᙃύǴคό׆ఈၸঁسϯޑᆅ ᐒڋǴ҅ԄޑຑππբޑᕮਏǶ೭٤ᆅᐒ ڋޑҥǴҞޑόӧೀᆦπǴԶࢂाૈਔౢғ Ңаගᒬπᔈᅰޑက୍ᆶೢҺǶπբᆅس ёаҔٰևԖᜢܭΓπբᕮਏᆶӣ㎸ၗૻ [1]Ǵаၲډ׳ӳޑྎ೯ਏϷ׳זೲޑϸᔈǴ٠а Ԝڐշᆅޣڗளᕮਏׯ๓ϐࡌᆶᑽໆಔᙃΓ ϐวǶࣁԜӭҾѸΕᚐѦޑҔٰᏤ Εᆶᆅπբࢬำ࣬ᜢޑၗૻسǴႽࢂ Lotus NotesޕӜ೬ᡏسǶՠ೭٤س۳۳ᐱҥၮբǴ คݤԖਏӝಔᙃՉၮբύޑځдၗૻسǴႽ ࢂ ERP(Enterprise Resource Planning) س ǵPDM(Product Data Management)سǴҭό಄ӝ
ߐ໔ჴሞٯՉ܄πբҺ୍ϐሡǴᏤठӚߐΓ ѸӧՉޑᔼၮسϷཥᏤΕޑπբࢬำᆅ سύᒡΕख़ᙟޑၗǴόੁΓΚπਔǴჹܭ ཥᏤΕޑπբࢬำᆅسѝ௦ҔϩޑфૈǴӵ Ԝ׳ࢂੁၗૻسޑሽॶϷᏤΕҔǶ ᆕӝа܌قǴҁࣴزЬाаόᚐѦቚуၗૻ سҔࣁගǴޔௗ่ӝಔᙃϣᔼၮύޑၗૻ سǴஒၗၻਔ҂ೀϐղᘐᡄᒠቪԋႣӸำ ׇǴ٠ճҔၗжำԄ୍ܺۓਔҗ SQL Mail ஒ၌่݀วଌډႝηແҹ՛ܺᏔǴനࡕଌ೯ޕ ߞҹډ࣬ᜢߐΓޑႝηແҹߞጃǴаၲډВத πբࡋပࡕਔԾૻගᒬᆶଓᙫϐфਏǶ
2.
࣬ᜢמೌϷЎ
ҁകଞჹᆶҁࣴز࣬ᜢޑמೌϷЎՉ ǴЬाϩࣁѤεϩǶಃϩࣁπբࢬ ำϐۓကǴಃΒϩࣁ SQL Server AgentǴಃΟ ϩࣁ Stored ProcedureǴಃѤϩࣁ SQL MailǶ2.1 πբࢬำϐۓက πբࢬำࢂࡰԖಔᙃޑπբҺ୍ԏǴҔٰ ֹԋҾޑࢌ٤ࢬำ[5]ǶٰᇥǴπբҺ୍ ޑֹԋёаࢂঁ܈ӭঁ೬ᡏسǵൂঁΓ܈ ဂΓǴ܈ࢂ೭٤೬ᡏسکΓޑ่ӝ܌ӅӕֹԋǶ ӢԜǴπբࢬำࢂҗӚᅿٰྍᆅၰӝٳၗૻǴΨ൩ ࢂӧ٬Ҕޣᆶس໔ᙯ౽ၗૻ[4]Ƕڂࠠޑπբࢬำ ᔈҔำԄхࡴ߄ൂޑ᎙/ёǵЎҹޑᔠ᎙/วթ ϷୢᚒଓᙫǶӧҾಔᙃύǴӚߐ໔ޑπբ܄፦ ததԖπբࢬำޑӃࡕᜢ߯Ǵಔᙃࢬำύޑ ෞߐπբֹԋࡕǴௗុځࡕޑߐωૈ໒πբ Һ୍ޑՉǶҗԜىаᡉҢрπբࢬำޑᄣǴѸ ૈߦҾϣၗૻޑࢬ೯ǴԶၲډගϲҾғ ౢΚϷᝡݾΚǶ ӧჴሞޑҾಔᙃύǴπբೀޑၸำҗ ঁԖԛׇ܄ޑࢬำٰၲԋπբҞǶӧԜ ࢬำՉਔǴπբҺ୍ύ܌х֖ޑၗᆶၗૻஒ ٣ӃۓကӳޑࢬำׇǴ٩ԛଌԿΠࢬำޑ ୖᆶޣٰՉπբǶᙖҗႝတၗૻسϐำԄ ीǴёஒࢬำୖᆶޣ໔ޑၗǵЎҹǵၗૻϷπբ ำׇϒаीೕჄǴٰၲԋࢬำԾϯϐҞǶ 2.2 SQL Server Agent SQL Server Agent(жำԄ)Ьाॄೢۓ SQL Serverޑຼයࢲ௨ำǴૈஒ՛ܺᏔςวғ ޑୢᚒޕسᆅǶSQL Server Agent Ьाޑ фૈࣁբ௨ำǵՉբ(Job)ǵౢғҢ(Alert)ǵ ٣ҹวғ೯ޕᆅΓ܈ᏹբ(Operator)Ƕჴբ೭ ٤фૈޑ SQL Server жำԄϡҹ[3]ࣁǺ 1.Operator(ᏹբ)Ǻۓёှ،՛ܺᏔୢᚒޑ ᆅΓϷځ೯ૻБԄǶ՛ܺᏔวғୢᚒ ਔǴ೭٤ᏹբёаၸႝηແҹǵڥћ Ꮤǵnet send ᆛၡڮзԶԋࣁҢޑҞǶ 2.Job(բ)Ǻҗ܈ӭঁటՉϐᡯ܌ᄬԋ ޑςۓကނҹǴ೭٤ᡯࢂёՉޑ T-SQL ഋॊԄǶբёаۓ௨ำǴՉ௨ۓܭ ۓਔ໔܈ຼය໔܌วғޑ SQL Server π բǶբёۓԋԾϷЋٿᅿБԄǶ 3.Alert(Ң)Ǻଞჹวғۓރݩਔाวߞ๏ ᏹբ܌௦ڗޑբǶځۓޑБԄёଞჹ ࢌۓ٣ҹǴٯӵۓޑᒱᇤǵၗډၲ ςۓကޑёҔޜ໔ज़ڋǴ܈ࢂࡰۓ٣ҹޑ ᝄख़܄Ǵٯӵࢌᅿᝄख़܄ޑᒱᇤǶҢ วਔǴځ܌ा௦ڗޑբёҗᆅޣ٣Ӄ ܌ۓကǴٯӵଌႝηແҹǵڥћᏹբ܈ Չբٰှ،ୢᚒǶ SQL Server жำԄѸ٬Ҕىज़ޑ Windowsᆛୱဦٰ௴ǴԶߚ٬Ҕ SQL Server س ဦ[9]ǴӵԜ SQL Server жำԄޑϡҹωૈ҅ தၮբǶӧ Microsoft SQL ύǴբǵҢаϷᏹ բёаၸ SQL Server Enterprise ManagerǵSQL
ϩ ණ Ԅ ᆅ ނ ҹ (SQL-DMO) ᔈ Ҕ ำ Ԅ ǵ Transact-SQLᔈҔำԄБԄٰࡰۓǶ೭٤ۓကΨ ஒᓯӸܭ SQL Server ޑ msdb سၗύǴа ࡑ SQLServerAgent ୍ܺ௴ਔǴёܭԜ၌Ϸ،ۓ ܌ा௴ҔޑբکҢǶၗ Server Ԗރݩว ғਔǴஒሀ٣ҹ๏жำԄǴжำԄΨஒ ٩բ௨ำޑਔ໔ٰՉբ܈ࢂՉҢǵวଌ
SQL Mailा๏ SQL ServerǴаϷଌ net send ᆛ
ၡڮз๏ Windows ܈ࢂᙖշႝηແҹٰޕᏹբ ǶଞჹॊޑբǵҢаϷᏹբϐۓကᆶ բ܌٬ҔޑЬाϡҹǴёҗკ 1 ٰևǶ კ 1 բǵҢаϷᏹբϐۓကᆶբ܌ ٬ҔޑЬाϡҹ ၗٰྍǺMicrosoft SQL Server ጕᇥܴ 2.3 Stored Procedure Stored Procedure(ႣӸำׇ)ࢂಔࣁΑֹԋ ۓфૈޑ T-SQL(Transact-SQL)ڋڮзᇟݤǴஒ ٤ ቪ ӳ ޑ T-SQL ڮ з ᇟ ݤ х း ԋ ঁ ำ ׇ (Procedure)ᓯӸӧၗύǴךॺёаஒத ሡाೀޑ٤բቪԋႣӸำׇǴаБߡ۳ࡕϐ Չ[2]ǶҗܭቪӳޑႣӸำׇࢂᓯӸӧ Database Server ǴஒёуזӸڗၗޑਏаϷБߡВ ࡕᆅǶٰᇥǴႣӸำׇڀԖаΠᓬᗺǺ(1) ෧ϿϷᗉխᔈҔำԄϐঅׯϷख़ཥǵ(2)ჴၨ זޑՉೲࡋǵ(3)෧Ͽᆛၡࢬໆǵ(4)բࣁᅿӼӄ ᐒڋٰкϩճҔǶ ӵ߄ 1 ܌ҢǴջࢂֹޑႣӸำׇࡌҥᇟݤ [6]ǴӧԜᙁܰᇥܴӵࡕǶࡌҥႣӸำׇޑ௶ॊڮз
ࢂа CREATE PROCEDURE ܈ CREATE PROC ໒ ۈ[7]ǴځࡕௗႣӸำׇޑӜᆀ,ҭёӧԜำׇӜᆀ ϐࡰۓځᏱԖޣ(Owner)Ƕᒧ܄ኧॶ[;number] ёҔٰࡌҥಔႣӸำׇǴٯӵǴspList;1ǵspList;2Ƕ ќѦΨёࣁႣӸำׇࡰۓୖኧǴхࡴᒡΕୖኧکᒡ рୖኧǴ೭٤ࡰۓୖኧޑӜᆀӚձࢂа@ࣁᏤӷ ϡǴঁୖኧޑࡕय़ሡᆙௗୖኧޑၗࠠᄊǴऩ
၀ୖኧࢂٮӣॶҔਔǴёܭځࡕу OUTPUT ߄ҢǶ٬Ҕ WITH ENCRYPTION ૈჹႣӸำׇำ ԄዸуஏǴ٬Ҕ WITH RECOMPILE ߾ԛ٬ҔႣ Ӹำׇਔமॐख़ཥጓǶќѦӧၗՉፄቪ
(Replication)ਔǴ٬Ҕ FOR REPLICATION ٰೀᑔ
ᒧǶനࡕӧ AS ᜢᗖӷࡕय़ޑϣ߾ࢂ၀ႣӸำׇ ޑЬᡏϩǴࡰۓำׇ܌ाՉޑբǴхࡴӧำ ׇύޑҺՖ T-SQL ഋॊԄޑኧҞ܈ၗࠠᄊǶ
߄ 1 ֹႣӸำׇࡌҥᇟݤ
CREATE PROC[ EDURE ] procedure_name [ ; number ]
[
{ @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] 2.4 SQL Mail SQL MailගٮΑᅿவ SQL Server วଌک᎙ ᠐ႝηແҹޑᙁൂБݤǴᙖҗႝηແҹҔЊᆄٰԏ วႝηແҹǶҗܭ SQL Mail ࢂঁ MAPI(Mail
Application Programming Interface)ᔈҔำԄǴӢԜ
՛ܺᏔѸӸӧ MAPI ηس[8]Ǵٯӵ Microsoft
Outlookϐᜪޑ MAPI ࠼ЊᆄǶόӕܭ SQL Server Agent ແҹфૈ(SQLAgentMail)ѝૈวߞ೯ޕس ᏹբǴSQL Mail ନΑёаวଌႝηແҹǴҭёа ӧଌύх֖ঁ่݀(Result Set)Ǵஒϣ֖၌ ڮзޑႝηແҹଌ๏ SQL ServerǴҗ SQL Server ஒڮзೀၸࡕӆၸ SQL Mail аႝηແҹӣ ๏٬Ҕޣ[2]Ƕҗ܌ॊǴSQL Mail ᡣ SQL Server ёаᆶແҹ՛ܺᏔࡌҥҔЊᆄೱጕǴٰଌᆶௗԏ ႝηແҹǴЪ೯த܌٬Ҕޑແҹ՛ܺᏔԖ Microsoft
Exchange ServerǵMicrosoft Windows NT ແҹ܈ Post Office Protocol 3 (POP3)Ƕ
3.
سࢎᄬϷфૈჴբ
ӵკ 2 ϐࢎᄬკ܌ҢǴҁࣴز௦Ҕ Microsoft SQL Server 2000բࣁၗ՛ܺᏔ೬ᡏǴଛӝ SQL Mail୍ܺϐᔈҔǴ٠ۓૻೀೕ߾Ǵӆᙖҗж ำԄۓբ௨ำਔ໔ǴԾՉૻೀ բǴനࡕஒ၀բೀ่݀วଌډແҹ՛ܺᏔǴа ၲډૻ೯ޕޑфૈǶ კ 2 سࢎᄬკ 3.1 سՅ ҁࣴزϐૻᐒڋࢂࢎᄬӧ Microsoft SQLServer 2000Ϸ Microsoft Exchange 2000 Server Ǵ
ԜΒ՛ܺᏔբسࣣ௦Ҕ Microsoft Windows
2000 ServerǶၸԜΒ՛ܺᏔٰीϷჴբҁࣴ
زϐπբૻ೯ޕǴЬाҗ SQL Server ϐжำԄ ВమఃٰวԾुޑႣӸำԄǴଞჹၗύၻ ය҂ೀϐၗՉၸᘠᆶ༼ᕴࡕǴӆஒ܌ౢғޑ ่݀ၸ SQL Mail ଌډ Exchange ServerǶԜ ၮբኳԄӵკ 3 ܌ҢǴჴΑаಔᙃԖᔼၮύޑ سٰԾวଌπբૻ೯ޕޑфૈǶ
კ 3 ૻၮբҢཀკ
3.2 SQL Mailۓ
Microsoft SQL ServerගٮΑ SQL Mail ୍ܺǴ
ࣁΑ٬Ҕ SQL MailǴ२Ӄӧჴբޑ՛ܺᏔѸा Ԗ SMTP(Simple Mail Transfer Protocol)୍ܺǶҗܭ
Microsoft Windows 2000όගٮ MAPI ηسǴӢ
ԜǴךॺӃՉӼးΑ Microsoft Outlook բࣁ MAPI ࠼ЊᆄǶԜѦǴSQL Mail ሡाԖແֽೱጕǵແҹӸ ܫ(ߞጃ)ǵҔЊᆄແҹۓᔞ(Mail Profile)ᆶҔٰฦ Ε SQL Server Չঁᡏ(Instance)ޑ Windows ᆛୱ
Database SQL Mail ۓ/௴ ૻೕ߾ۓ жำԄ բ௨ำ SQL Server Mail Server วଌૻ৲ ແҹૻ৲ ೀ Exchange 2000 Server ႚಬᤞಛၡٙ ޢֲ堚ඣ ച۩ඈ࿓܂ᄐ SQL Server 2000 ᤞಛփ୲ ܂ᄐඈ࿓ࡳ
٬ҔޣЊǶӧӼးکۓӳ࠼Њᆄແҹۓᔞ ࡕǴࣁ٬ SQL Mail ૈڗளҗႝηແҹ܌ଌϐ ၌ाǴۘࡰۓ SQL Mail ಔᄊۓᔞǴӵკ 4 ܌ҢǶ კ 4 ࡰۓ SQL Mail ಔᄊۓ 3.3 ૻ೯ޕೕ߾ी ךॺޑҞࢂाᙖշ SQL Mail р၌ڮз ๏ SQL ServerǴᡣ SQL Server ೀֹڮзࡕᒿջஒ ၌่݀๏࣬ᜢޑߐΓǴаගᒬ࣬ᜢΓπ բೀϐࡋǶӢԜѸӃ๏ۓૻ၌ޑᡄᒠೕ ߾Ǵஒჴሞೀၗ၌ޑ SQL ᇟݤቪԋႣӸำ ׇǴٮัࡕ SQL Mail วଌ၌ڮзਔ٬ҔǴау זՉೲࡋϷБߡࡕុೕ߾অׯǶૻ೯ޕޑ၌ ೕ߾௶ॊӵΠǺ 1.ۓૻ೯ޕ܌ೕጄޑπբၻයϺኧ(аୖ ኧ@Term ٰࡰۓ)Ǵӕਔೕጄ೯ޕ Team Leader(аୖኧ@ CTLTermٰࡰۓ)аϷଯቫ Ьᆅ(аୖኧ@AdminTermٰࡰۓ)ϐၻයϺ ኧǴӵ߄ 2 ܌ҢǶ 2.வҾಔᙃԖޑᔼၮسၗύǴפр ၻය҂ೀޑၗ(ஒ၌ೕ߾ќቪԋႣӸ ำׇٰೀ)Ƕ 3.פрπբၻය҂ೀޑΓӜൂ(аୖኧ @Developer ٰᒵ)Ϸځႝηແҹ(аୖኧ @MyReceiverٰᒵ)Ƕ 4.פрπբၻය҂ೀޑΓ܌ჹᔈϐ Team Leaderႝηແҹ(аୖኧ@Mycopy_recipients ٰᒵ)Ƕ 5.ଌрႝηແҹाSQL ServerՉၗ၌ ༼ᕴǴ٠ஒ၌่݀Ծౢғߕᔞ೯ޕ࣬ᜢ ΓǶ ߄ 2 ૻ೯ޕीϐϩୖኧۓ /* ࠹ୖኧ */
DECLARE @AdminReceiver varchar(100) --ଯቫ
Ьᆅԏҹޣ
DECLARE @Pno int
DECLARE @Developer varchar(400) --πբၻය҂
ೀΓ
DECLARE @MyReceiver varchar(255) --ԏҹޣ DECLARE @Mycopy_recipients varchar(255) --ୋ
ҁԏҹޣ
DECLARE @MySubject varchar(255) --ແҹЬԑ /* ࡰۓୖኧॶ */
SET @Computetime =getdate() SET @Term=3 --ۓπբၻයϺኧ
SET @CTLTerm=9 --ۓ൳Ϻࡕ๏ Team Leader SET @AdminTerm=12 --ۓ൳Ϻࡕ๏ଯቫЬᆅ ၸॊೕ߾ۓࡕǴѝाӧҾಔᙃВதޑ ᔼၮسύǴπբၻය҂ೀϐ࣬ᜢΓǴϺஒ ԏډҗ SQL Server ܌วрޑૻ೯ޕǴޔԿ၀Γ ӧᔼၮسύஒځॄೢϐπբҺ୍ֹԋࣁЗǶࣁ ᗉխ၀ૻ೯ޕၸܭᓎᕷǴӕπբҺ୍ϐॄೢΓ Ϻԏډ࣬ӕޑૻ৲ǴόԋΓᆣեပǵᓸ ΚᡂεǴҭόΓ܄ǶӢԜӧૻ೯ޕೕ߾ύǴቚу Ȩ႖൳ϺගᒬԛȩޑۓǶऩȨҁԛૻวғ ϐВයȩࣁ AlertDateǴȨ၀πբԛϐଓᙫ୷ྗ Вයȩࣁ TraceDateǴȨૻ೯ޕຼයȩࣁ CycleǴ ߾Ԝཥቚޑೕ߾ёаϦԄ߄ҢࣁǺ
(AlertDate - TraceDate) % Cycle = 1
...ϦԄ(1)ӧϦԄ(1)ύޑ%߄Ңٿኧӷ࣬ନࡕڗᎩኧǶԖ ΑԜϦԄǴךॺߡёаࡐܰीᆉрҁԛૻวғ ਔǴᔈ၀ஒٗ٤҂ֹԋޑၻයၗӈΕૻ೯ޕǶ ଷҁԛૻวғϐВය(AlertDate)ࣁ 2005/6/6Ǵ ૻ೯ޕຼය(Cycle)ࣁ 3 ϺਔǴҔϦԄ(1)ёளډ (2005/6/6 - TraceDate) % 3 = 1 ܌аǴTraceDate = {2005/6/5, 2005/6/2, 2005/5/30, 2005/5/27, 2005/5/24, …} Ԝ่݀ࡰрǴӧᔼၮسύϩձឦܭ 2005/6/5ǵ 2005/6/2ǵ2005/5/30ǵ2005/5/27ǵ2005/5/24ǵ… ВයޑπբǴ೭٤ၻය҂ೀֹϐၗѸӈΕ ૻ೯ޕǶඤقϐǴऩᔼၮسύǴࢌπբԾவ ԛଓᙫ୷ྗВයख़ࡕǴޔ҂ॄೢΓೀֹ Ǵ߾аԜଓᙫ୷ྗВය۳ࡕᆉޑಃ 1ǵ4ǵ7ǵ 10ǵ...( Cycle ନǴᎩኧ֡ࣁ 1)Ϻޑၗஒ༼ᕴࡕ ౢғૻߕᔞǴԶЪߕᔞύ೭٤ၗޑॄೢΓΨஒ ԋࣁૻ೯ޕޑჹຝǴ೭٤ΓޑႝηແҹӦ֟ஒ ࡰۓډແҹԏҹΓύǴԾԏډπբۯᒨ ૻ೯ޕޑႝηແҹǶૻ೯ޕޑϩᡄᒠೕ߾ी ӵ߄ 3 ܌ҢǶ
߄ 3 ૻ೯ޕीϐϩᡄᒠೕ߾
/* פрπբၻය҂ೀΓӜӷϷځႝηແҹ */ Select @Pno=@pno+1, @Developer= @Developer + convert(varchar(2),@Pno)+'.'+( d.dvlptmp1) +' ', @MyReceiver = @MyReceiver + u.mailalias + ';' From colorspec s join pccdvlp d on
s.devlopid=d.devlopid and s.purpid=d.purpid join v_specusr u on d.dvlper=u.usracct
Where ( ( d.clrdel='C' ) and ( d.status<>'C' ) and ( s.usecheck<>'' ) and ( s.colorcfm is null ) and ( DATEDIFF(D, s.trace , @Computetime ) > @Term ) and (( DATEDIFF(D, s.trace , @Computetime ) % @Term ) = 1) ) Group By d.dvlptmp1, u.mailalias
/* פрπբၻය҂ೀΓځ܌ჹᔈޑ Leader */ Select @Mycopy_recipients =
@Mycopy_recipients + ';' + t.ctlemail From colorspec s join pccdvlp d on
s.devlopid=d.devlopid and s.purpid=d.purpid join v_specusr u on d.dvlper=u.usracct join team t on d.dvlpgrp=t.dvlpgrp
Where ( ( d.clrdel='C' ) and ( d.status<>'C' ) and ( s.usecheck<>'' ) and ( s.colorcfm is null ) and ( DATEDIFF(D, s.trace , @Computetime ) > @CTLTerm ) and (( DATEDIFF(D, s.trace , @Computetime ) % @Term ) = 1) )
Group By d.dvlpgrp, t.ctlemail
/* פрҁԛπբၻය೯ޕૻϐӜᆀ */ Select @MySubject = JobName
From JobList
Where JobId = 'ClrunCFM' /* ଌрႝηແҹ๏ SQL Server */
Exec master.dbo.xp_sendmail @recipients = @MyReceiver , @copy_recipients =
@Mycopy_recipients , @message = @MyContent, @query = 'sp_ClrunCFM', @subject = @MySubject, @attach_results='true',@attachments='unCFM.xls', @no_header='false',@width=2000,@separator=' ' 3.4 жำԄۓ ֹԋΑॊޑीբǴךॺᗋሡाՉж ำԄޑۓωૈၸ௨ำфૈᡣSQL ServerԾۓ යೀۓޑբǶךॺஒ٩ׇࡌҥբޑۓကǴ ۓՉޑᡯǴۓբޑ௨ำǴඓբֹ ԋǵԋфаϷѨ௳ਔޑ೯ޕૻ৲Ƕӧკ 5 ܌Ңޑж ำԄբ(Job)ύǴሡࡰۓբޑᡯӜᆀǵڮз ᅿᜪǵሡाೀޑၗаϷགྷाՉޑำԄ(ӧԜ ᒡΕ exec sp_mailClrunCFMǴٰՉךॺ܌Ծुޑ ႣӸำׇ)Ƕനࡕӆཥቚբ௨ำǴࡰۓբՉޑ ਔ໔Ϸᓎ(ӧԜۓϺϱ 6 ᗺՉբ)Ǵ٠ ௴ҔԜ௨ำǴֹԋϐۓӵკ 6 ܌ҢǶฅǴࣁዴ ߥբՉѨ௳ਔૈஒૻ৲ޕسᆅаբ ᆙ࡚ೀǴךॺΨёӧკ 7 ޑᒧύҭՉ࣬ᜢ ۓբǶ კ 5 ཥቚբᡯ კ 6 ௨ۓբՉਔ໔Ϸᓎ კ 7 բՉࡕޕૻ৲ۓ
4.
سфૈჴٯ
ࣁΑᡍҾಔᙃϣᔼၮسޑၗၗ ǴૈҗжำԄԾۓයว SQL Mail วଌ ၌ڮз๏ SQL ServerǴஒၻය҂ೀޑၗǴ٩ Ᏽ๏ۓޑೕ߾చҹٰᑔᒧрٰ٠рႝηແҹ ૻ೯ޕ࣬ᜢޑΓǴҁࣴزаҾϣҞჴሞᔼ ၮޑسࣁٯٰՉჴբǶԜسޑၗύԖ ԭၗǴځύԖӭԐςຬၸځᔈ၀ॄೢΓೀԶϝ҂ೀޑၗǴΨ҅ӢࣁԖ೭٤ჴሞޑၗ Ǵᡣҁჴᡍޑၮբ่݀ڙډߐϣ୷ቫΓޑख़ ຎᆶᡋǴ׳ڙډଯቫЬᆅޑᜢϪᆶЍǶᢀჸჴ ሞวଌрٰޑૻ೯ޕແҹύ(ӵკ 8 ܌Ң)ǴϣЎ ύዴჴѝஒπբ҂ӵයֹԋޑॄೢΓӜൂӈрǴ٠ ஒ೭٤ΓޑႝηແҹӦ֟ࡰۓډԏҹޣޑӦБǴዴ ߥдॺૈԏډૻ೯ޕǴ٠Ъёа໒௴ߕᔞϐ Excel(ӵკ 9 ܌Ң)ٰᔠຎၻය҂ֹԋޑπբϣǶ კ 8 ૻ೯ޕແҹ კ 9 ၻය҂ֹԋޑπբϣ
5.
่ፕᆶ҂ٰࣴزБӛ
ҁࣴزޑଅЬाࣁԖਏ่ӝಔᙃϣϐᔼ ၮسޑၗၗǴ٠ᔈҔၗжำԄܺ ୍Ǵམଛ SQL Mail ޑۓǴٰჴբπբၻਔϐ ૻ೯ޕǶԜΓπբۯᒨૻ೯ޕޑфૈीǴ ёᗉխቚуҾಔᙃᏤΕཥၗૻسޑҔаϷ Γख़ፄᒡΕၗϐπբॄǴ٠ගٮкҽёޑ ၻයၗϣٰܴૻ೯ޕޑ҅ዴ܄Ƕҗܭ҂Ꮴ ΕԜфૈϐǴߐᆶߐ໔ਔதӢࣁෞߐ πբ౧۹҂ࡪਔֹԋǴᏤठΠෞߐπբคݤ҅த ሒௗԶᎁڙଯቫЬᆅޑೢഢǴ׳ёૈԋౢࠔۯᒨ ډᣁрԶ٬ҾᕇճཞѨǶҁЎ܌ჴբϐфૈ ҞςӧҾಔᙃϣճၮբǴ٠ԋࣁભЬᆅ ԵਡឦπբᕮਏϐୖԵǴΨቚҾಔᙃڐፓӝ բϷၗྍճҔޑਏҔǶ ନΑ MS SQL Server ϐѦǴځдޑၗᆅ سΨԖжำԄޑᐒڋǴٯӵӧ Oracle EnterpriseManager(OEM)ࢎᄬύǴ Intelligent Agent ௗԏډ
җ Management Server ܌ଌԶٰޑڮз܈ Job ਔǴߡѐՉ೭٤ڮзǴஒՉ่݀ӣ๏
Management ServerǴ٠ёၸ Email БԄр่
݀೯ޕǶҁࣴزගрΑԜၮբᐒڋޑीϐࡕǴ ҂ٰයૈஒԜᐒڋᅌᘉԿځдޑಔᙃϷሦ ୱǴᡣၗޑжำԄόӆѝࢂଞჹ՛ܺᏔ౦ தਔޑૻ৲ޕǴ܈ࢂၗύբՉֹԋޑӣ ൔբԶςǴ׳ाஒځ፟ϒཥޑ٬ڮٰബр׳Ԗ ሽॶޑᔈҔǶ
ୖԵЎ
[1]݅ࡌྦྷጓǶ2002ǶжᆅᏢǶੀЎϯ٣ ϦљǶѠчǶ [2]ࡼ࠶ሎࣴز࠻Ƕ2001ǶSQL Server 2000 ᆅჴ ୍ǶᄡрހިҽԖज़ϦљǶѠчǶ [3]ഋߪྍǶ2001ǶSQL Server سᆅჴ୍Ƕޕࠤ ኧՏࣽמǶѠчǶ[4]C. Frye, “Move to Workflow Provokes Business Process Scrutiny,” Software Magazine, April, 1994.
[5]D. Georgakopoulos, M. Hornick and A. Aheth, "An Overview of Workflow Management:From Process Modeling to Workflow Automation Infrastructure," Distributed and Parallel Databases, Vol. 3, No. 2, pp. 119-153, 1995.
[6]Dejan Sunderic, Tom WoodheadǶֆܿ፣ Ƕ 2001ǶSQL Server 2000 ႣӸำׇำԄीǶഝ
ᛥ׆ᅟǶѠчǶ
[7]Ken Henderson. 2002. SQL Server Stored Procedure Basics: Creating a Stored Procedure.
TU
http://www.informit.com/articles/article.asp?p=25 288&seqNum=4UT
[8]Mark Linsenbardt, Shane StiglerǶඵහ Ƕ 2001ǶSQL Server 2000 سᆅ-ᄇۭࣴزǶഝ
ᛥ׆ᅟǶѠчǶ
[9]SQL Server Reference Guide: SQL Mail.
TU
http://www.informit.com/guides/content.asp?g=sql server&seqNum=31&rl=1UT