dbms ไทย บทที่ 19 การทำงานโดยอัตโนมัติ

Post on 15-Jan-2016

256 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

DBMS ไทย บทที่ 19 การทำงานโดยอัตโนมัติ

TRANSCRIPT

บทท�� 19 การทางานโดยอั�ตโนมั�ต�

การก�าหนดงานแบบอั�ตโนมั�ต�ใน SQL Server มั�ขึ้��นมัา เพื่��อัทำ�าให�งานทำางด�านแอัดมั�น หร�อัเซิ�ร�ฟเวอัร�บางอัย่!างทำ��ทำ�าซิ��าเป็#นป็ระจำ�าทำ�างานได�แบบอั�ตโนมั�ต� ซิ��งส่!วนใหญ่!จำะเป็#นงานทำ��เราส่ามัารถคาดเดาได�ล่!วงหน�า เพื่��อัให�เราส่ามัารถใช้�เวล่าทำ��เหล่�อัเพื่��อัทำ�างานอั��นทำ��ส่�าค�ญ่กว!า เช้!น งานเก��ย่วก�บการพื่�ฒนาระบบแล่ะทำ�าการป็ร�บป็ร.งป็ระส่�ทำธิ�ภาพื่ขึ้อังระบบให�ด�ขึ้��น ต�วอัย่!างเช้!น ถ�าเราต�อังการทำ��จำะทำ�าการแบ1คอั�พื่เซิ�ร�ฟเวอัร�ทำ.กส่�ป็ดาห� หล่�งจำากช้��วโมังการทำ�างาน เราส่ามัารถก�าหนดเวล่าให�ทำ�างานน��โดย่อั�ตโนมั�ต�ได� โดย่ถ�าระหว!างการทำ�างานเก�ดป็2ญ่หาขึ้��น SQL Server จำะบ�นทำ�กเหต.การณ์�น��นไว�แล่ะแจำ�งให�เราทำราบได�ด�วย่

ส่�าหร�บใน SQL Server มั�เคร��อังมั�อัทำ��ช้!วย่ให�เราส่ามัารถทำ�างานแบบอั�ตโนมั�ต� ซิ��งก1ค�อั job เราส่ามัารถก�าหนด job เป็#นขึ้��นตอันการทำ�างานทำ��เราต�อังการ แล่ะย่�งส่ามัารถแจำ�ผู้5�ด5แล่ระบบเมั��อัทำ�างานส่�าเร1จำ หร�อัไมั!ส่�าเร1จำได� โดย่ SQL Server มั�เคร��อังมั�อัต!าง ๆ ทำ��ช้!วย่ให�เราทำ�างานก�บ job ได�อัย่!างส่ะดวก ซิ��งเราจำะได�ศึ�กษาก�นต!อัไป็

นอักจำากน��แล่�ว SQL Server ก1ย่�งมั� Alerts ทำ��ทำ�างานได�เป็#นอัย่!างด�ก�บระบบป็ฏิ�บ�ต�การ Windows 2003 / Vista โดย่ทำ�� Alerts จำะมั�การตอับส่นอังเมั��อัมั�เหต.การณ์�บางอัย่!างเก�ดขึ้��นมัา เช้!น เน��อัทำ��ขึ้อังด�ส่ก�ทำ��เก1บไฟล่�ขึ้�อัมั5ล่เก�ดเต�มัขึ้��นมัา เป็#นต�น โดย่เราต�อังตอับส่นอังต!อั Alert ด�วย่การก�าหนดให�ทำ�างานบางอัย่!างทำ��อัาจำจำะเป็#นการร�น job

หร�อัค�าส่��งส่คร�ป็ต� Transact-SQL บางอัย่!างโดย่อั�ตโนมั�ต�ก1ได�

ส่!วนป็ระกอับขึ้อัง SQL Server ทำ��ช้!วย่ในการทำ�างานแบบอั�ตโนมั�ต�ส่�าหร�บอังค�ป็ระกอับทำ��ช้!วย่ให�เราส่ามัารถจำ�ดการงานต!าง ๆ ใน SQL

Server ได�โดย่อั�ตโนมั�ต�มั�ด�งต!อัไป็น��

Job เป็#นงานทำ��เราต�อังการให� SQL Server ทำ�าให�ซิ��งอัาจำจำะเป็#นงานทำ��ส่ามัารถร�นหน��งคร��งหร�อัหล่าย่คร��งก1ได�ตามัเวล่าทำ��เราก�าหนด แล่ะจำะมั�การแจำ�งให�ทำราบด�วย่ว!าร�นได�ส่�าเร1จำหร�อัไมั! การร�น job จำะส่ามัารถทำ�าส่��งต!าง ๆ ด�งต!อัไป็น��

จำะทำ�าบนเคร��อังโล่คอัล่เคร��อังเด�ย่ว หร�อับนร�โมัทำเซิ�ร�ฟเวอัร�หล่าย่ๆ เคร��อังก1ได�

จำะทำ�าทำ��เวล่าใดเวล่าหน��ง หร�อัทำ�าซิ��า ๆ ก�นตามัเวล่าทำ��ก�าหนดก1ได�

Alert เป็#นส่�ญ่ญ่าณ์ทำ��เก�ดไมั!เป็#นเวล่า แต!เก�ดเมั��อัมั�เหต.การณ์�ทำ��เราได�ก�าหนดไว� เช้!น เน��อัทำ��ขึ้อังด�ส่ก�ทำ��เก1บไฟล่�ขึ้�อัมั5ล่เก�ดเต1มัขึ้��นมัา เป็#นต�น เราส่ามัารถก�าหนดเง��อันไขึ้ทำ��จำะทำ�าให�เก�ด Alert ขึ้��นมัาได� แล่ะให�ส่��งต!าง ๆ ต!อัไป็น��ทำ�างานเมั��อัเก�ด Alert ขึ้��น

แจำ�งเต�อันโอัเป็อัเรเตอัร�ทำ��ได�ก�าหนดไว� ให�จำ�ดการงานต!อัไป็

ร�น job ทำ��เราได�ส่ร�างไว� เพื่��อัตอับส่นอังต!อั

Alert น��น ทำ�าการส่!งอั�เว1นต�ไป็ย่�งเซิ�ร�ฟเวอัร�อั��นเพื่��อัให�

ทำ�างานทำ��ต�อังการต!อัไป็ Operators โอัเป็อัเรเตอัร�เป็#นบ.คคล่ทำ��

มั�หน�าทำ��ร �บผู้�ดช้อับในการด5แล่การทำ�างานขึ้อัง SQL Server

โดย่ทำ��โอัเป็อัเรเตอัร�จำะได�ร�บการเต�อันจำาก Alert ด�วย่ว�ธิ�ต!าง ๆ

ด�งต!อัไป็น�� ส่!งอั�เมัล่� เราส่ามัารถก�าหนดช้��อั

อั�เมัล่�ส่�าหร�บโอัเป็อัเรเตอัร�เป็#นกล่.!มัเด�ย่วก�น ซิ��งว�ธิ�น��จำะทำ�าให�โอัเป็อัเรเตอัร�หล่าย่ๆ คนได�ร�บการเต�อันในเวล่าเด�ย่วก�น

ส่!วนป็ระกอับต!างๆ ต!อัไป็น��ทำ��จำะช้!วย่ในการ

ส่!งเพื่จำเจำอัร�ไป็ให�ก�บโอัเป็อัเรเตอัร�

ส่!งขึ้�อัความัไป็ย่�งเคร��อังอั��น ๆในเคร�อัขึ้!าย่โดย่ใช้� Net send

ร5 �จำ�กก�บเซิอัร�ว�ส่ SQL Server Agent

ในการใช้� job แล่ะ Alert เราจำะต�อังทำ�างานก�บ SQL Server

Agent ซิ��งเป็#นเซิอัร�ว�ส่ทำ��ร �นบน Windows 2003 / Vista ทำ��ทำ�าหน�าทำ��ในการร�น job โดย่จำะทำ�าการตรวจำตราส่ถานะขึ้อัง SQL Server แล่ะทำ�าให�เก�ด Alert ขึ้��นเมั��อัมั�เหต.การณ์�ต!าง ๆทำ��งน��เราจำะต�อังส่��งให�เร��มัเซิอัร�ว�ส่ SQL Server Agent ก!อันจำ�งจำะร�นงานแบบอั�ตโนมั�ต�ได�

Note SQL Server Agent ส่น�บส่น.นการทำ�างานบน Windows XP

ด�วย่ แต! SQL Server Agent จำะไมั!ส่ามัารถใช้� Windows

Authentication ได� ทำ�าให�ต�อังใช้� SQL Server Authentication แทำน

เมั��อัร�น job ใด ๆ บน Windows XP

การเร��มัต�นเซอัร�วิ�ส SQL Server Agent

เราส่ามัารถเร��มัต�นการทำ�างานขึ้อังเซิอัร�ว�ส่น��ได�จำาก

Management Studio โดย่ให�เราทำ�าตามัขึ้��นตอันต!อัไป็น��

การก�าหนดค.ณ์ส่มับ�ต�ขึ้อัง SQL Server Agent

เราส่ามัารถก�าหนดค.ณ์ส่มับ�ต�ต!าง ๆ ขึ้อัง SQL Server Agent

ได�ด�งต!อัไป็น��

ให�เราคล่�กป็.;มัขึ้วาทำ�� SQL Server Agent

เล่�อัก Start เพื่��อัเร��มัต�นเซิอัร�ว�ส่

หน�าต!าง SQL Server Agent Properties มั�ส่!วนป็ระกอับต!างๆ ด�งน�� เพจ General ก�าหนดค!าพื่��นฐานทำ��วไป็ เพจ Advanced ก�าหนดค!าขึ้��นส่5ง ส่�าหร�บระบบซิ�บซิ�อัน เพจ Alert System ก�าหนดค!าเมัล่� ส่�าหร�บส่!งเมัล่�แจำ�งเต�อัน

การเก�ด Alert

เพจ Job Systemก�าหนดค!าการทำ�างานขึ้อัง Job

เพจ Connection ก�าหนดช้��อัเซิ�ร�ฟเวอัร� ช้��อัผู้5�ใช้� รห�ส่ผู้!านขึ้อังเซิ�ร�ฟเวอัร�ทำ��เราต�อังการร�น Job

1.ให�เราคล่�กป็.;มัขึ้วาทำ�� SQL Server Agent

เล่�อัก Properties เพื่��อัก�าหนดค.ณ์ส่มับ�ต�ต!าง

ๆ ให�ก�บ SQL Server

Agent

2.จำะป็รากฏิหน�าต!างให�เราก�าหนดค.ณ์ส่มับ�ต�ต!าง ๆ ขึ้อัง SQL Server

Agent

เพจ History ก�าหนดค!าการเก1บป็ระว�ต�การทำ�างานขึ้อัง Job

ส่�าหร�บในบางคร��ง เซิอัร�ว�ส่ SQL Server Agent อัาจำจำะจำ�าเป็#นต�อังต�ดต!อัก�บเซิอัร�ว�ส่ SQL Server เพื่��อัทำ�างานบางอัย่!างร!วมัก�น ซิ��งเราส่ามัารถก�าหนดล่1อักอั�นทำ��ใช้�เพื่��อัต�ดต!อัก�บเซิอัร�ว�ส่ SQL Server ให�ก�บเซิอัร�ว�ส่ SQL Server Agent ได�ด�งต!อัไป็น��

ในการก�าหนดรห�ส่ทำ��ใช้�ในการร�นเซิอัร�ว�ส่ SQL Server เราส่ามัารถก�าหนดได�ทำ��ง Windows Authentication หร�อั SQL Server

Authentication โดย่ให�เราใส่!ล่1อักอั�น แล่ะรห�ส่ผู้!านในช้!อัง Login

แล่ะ Password ตามัล่�าด�บเซิอัร�ว�ส่ SQL Server แล่ะเซิอัร�ว�ส่ SQL Server Agent จำะ

ทำ�างานร!วมัก�น โดย่ SQL Server Agent เป็ร�ย่บเหมั�อันผู้5�ใช้� (Robot) คนหน��งทำ��ใช้�ช้��อัล่1อักอั�น แล่ะรห�ส่ผู้!านทำ��เราก�าหนดให�ในเพื่จำ Connection ในการเช้��อัมัต!อัก�บเซิอัร�ว�ส่ SQL Server เพื่��อัทำ�างานทำ��เรา

ต��งเวล่าไว�

การกาหนดให�ร�นเซอัร�วิ�ส SQL Server Agent โดยอั�ตโนมั�ต�

1. เขึ้�าส่5!เพื่จำ Connection

2. .ให�เราก�าหนดรห�ส่ล่1อักอั�นทำ��เราจำะใช้�เมั��อัต�ดต!อัก�บเซิอัร�ว�ส่ SQL

ป็กต�เซิอัร�ว�ส่ SQL Server Agent จำะไมั!ร�นอั�ตโนมั�ต�เมั��อัเป็=ดว�นโดวส่� เราส่ามัารถต��งให�ทำ�างานอั�ตโนมั�ต�ได�ทำ��โป็รแกรมั SQL

Server Configuration Manager

ร��จ�กก�บ Job

1.เป็=ดโป็รแกรมั SQL

Server Configuration

Manager ขึ้ณ์ะทำ��เซิอัร�ว�ส่ SQL Server

Agent ทำ�างานอัย่5!

2. คล่�กเมัาส่�ป็.;มัขึ้วาเล่�อักค�าส่��ง Properties

3.ทำ��แทำ1บ Service เล่�อักต�วเล่�อัก Automatic ให�ก�บ Start Mode

4.คล่�กป็.;มั

เมั��อัเซิอัร�ว�ส่ SQL Server Agent ร�นอัย่5! เราส่ามัารถให�งานแอัดมั�น (Admin Job) ทำ�างานโดย่อั�ตโนมั�ต�ได�ด�วย่ Job โดย่เราส่ามัารถส่��งร�น Job ด�วย่ตนเอัง หร�อัต��งเวล่าร�น Job ไว� หร�อัให�ร�น Job เพื่��อัทำ��จำะตอับส่นอังต!อั Alerts ทำ��เก�ดก1ได�

Job ส่ามัารถร�นบนเซิ�ร�ฟเวอัร�เพื่�ย่งต�วเด�ย่ว หร�อับนเซิ�ร�ฟเวอัร�หล่าย่ๆ ต�วก1ได� เพื่��อัช้!วย่ให�การทำ�างานมั�ป็ระส่�ทำธิ�ภาพื่มัากย่��งขึ้��น

ส่�าหร�บการร�น Job บนเคร��อังเซิ�ร�ฟเวอัร�หล่าย่ ๆ เคร��อัง เราจำะต�อังก�าหนดอัย่!างน�อัย่เซิ�ร�ฟเวอัร�หน��งเคร��อังให�เป็#น Master Server เพื่��อัทำ�าหน�าทำ��กระจำาย่งานไป็ย่�งเซิ�ร�ฟเวอัร�อั��น

ทำ.กล่1อักอั�นใน SQL Server ส่ามัารถส่ร�าง Job ได� แต! Job จำะส่ามัารถแก�ไขึ้ได�โดย่เจำ�าขึ้อังทำ��ส่ร�าง Job น��นขึ้��นมัา แล่ะส่มัาช้�กขึ้อัง

Sysadmin Fixed Server Role เทำ!าน��น

การก�าหนดน�ย่ามัขึ้อัง Job

Job เป็#นช้.ดค�าส่��งการทำ�างานทำ��จำะถ5กทำ�าโดย่ SQL Server Agent

เราส่ามัารถใช้�ค�าส่��งต!าง ๆ เช้!น Transact – SQL ค�าส่��ง Command –

line ก�าหนดขึ้��นตอันการทำ�างานใน Job ได�เราส่ร�าง Job ขึ้��นมัาเพื่��อัร�นงานทำ��ต�อังทำ�าเป็#นป็ระจำ�า หร�อังานทำ��

ส่ามัารถก�าหนดตารางเวล่าให�ร�นได� โดย่จำะส่ามัารถแจำ�งให�ผู้5�ด5แล่ระบบทำราบถ�งส่ถานการณ์�ทำ�างานขึ้อังแต!ล่ะ Job โดย่การแจำ�งเต�อันผู้!านการใช้� Notifications ว!า Job น��นร�นส่�าเร1จำหร�อัไมั! ซิ��งเราจำะกล่!าวถ�งต!อัไป็

ขึ้��นตอันในการส่ร�าง Job ขึ้��นมัาใช้�งาน มั�ขึ้� �นตอันต!าง ๆ ด�งต!อัไป็น��

Note การแก�ไขึ้เจำ�าขึ้อัง (Owner) ขึ้อัง Job

ส่�าหร�บ Job ทำ��ส่ร�างขึ้��นมัาน��น จำะมั�เพื่�ย่งเจำ�าขึ้อัง Job หร�อัส่มัาช้�กขึ้อัง Sysadmin Fixed Server Role เทำ!าน��นทำ��ส่ามัารถเป็ล่��ย่น

1.ให�เราคล่�กป็.;มัขึ้วาทำ�� Job แล่ะเล่�อัก New Job

เพื่��อัส่ร�าง Job ใหมั!

Name ก�าหนดช้��อัขึ้อัง Owner ก�าหนดช้��อั

Category ก�าหนดหมัวดหมั5!ให�

Description ก�าหนดค�าอัธิ�บาย่

เพื่จำ General ก�าหนดขึ้�อัมั5ล่พื่��นฐานเก��ย่วก�บ Job

Enable เป็=ดให� Job ทำ�างานตามัป็กต� (หากไมั!เล่�อักไว�จำะเป็#นการ

น�ย่ามัขึ้อัง Job ทำ��มั�อัย่5! ส่��งเร��มัต�นการทำ�างาน Job หร�อัหย่.ดการทำ�างานขึ้อัง Job โอันส่�ทำธิ�ความัเป็#นเจำ�าขึ้อังให�ก�นคนอั��นได�

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Step

Job จำะป็ระกอับด�วย่ขึ้��นตอันการทำ�างานบนพื่��นฐานขึ้�อัมั5ล่ หร�อับนเซิ�ร�ฟเวอัร� โดย่แต!ล่ะ Job จำะต�อังมั�อัย่!างน�อัย่หน��งขึ้��นตอัน ซิ��งขึ้��นตอันน��นอัาจำจำะเร�ย่กโป็รแกรมัขึ้��นมัาทำ�างาน (ไฟล่�ทำ��มั�ส่!วนขึ้ย่าย่เป็#น

EXE) เร�ย่กค�าส่��ง Transact – SQL หร�อัส่คร�ป็ต�ขึ้อัง Microsoft

Active X ซิ��งส่!วนน��เราไมั!ขึ้อักล่!าวถ�ง

Note ส่�าหร�บขึ้��นตอันแต!ล่ะช้น�ด จำะมั�ราย่ล่ะเอั�ย่ดด�งต!อัไป็น�� ขึ้��นตอันทำ��เร�ย่กไฟล่�โป็รแกรมั (ไฟล่�ทำ��มั�ส่!วนขึ้ย่าย่เป็#น EXE)

ค�อัช้.ดค�าส่��งขึ้อังระบบป็ฏิ�บ�ต�การ หร�อัโป็รแกรมัทำ��ส่ามัารถร�นได� ซิ��งจำะเป็#นไฟล่�ทำ��ล่งทำ�าย่ด�วย่นามัส่ก.ล่ bat, cmd, com หร�อั exe

Job step list แส่ดงขึ้��นตอันการทำ�างานทำ��งหมัดขึ้อัง Job

Start step เล่�อักขึ้��นตอันเร��มัต�นในการทำ�า Job

Delete ป็.;มัล่บขึ้��นตอัน ใน Job

Edit ป็.;มัเป็ล่��ย่นแป็ล่งแก�ไขึ้ขึ้��นตอันใน

Insert ป็.;มัแทำรกขึ้��นตอันใน Job

New ป็.;มัเพื่��มัขึ้��นตอันใน Job

Move step ป็.;มัล่5กศึรขึ้��นเพื่��อัป็ร�บล่�าด�บการทำ�างานใน

เมั��อัส่ร�างขึ้��นตอันทำ��เป็#นค�าส่��งช้น�ดน�� จำะต�อังก�าหนดส่��งต!างๆ

ด�งต!อัไป็น�� ค!าส่!งกล่�บ ถ�าค�าส่��งน��นเส่ร1จำส่มับ5รณ์� ซิ��งเราส่ามัารถ

ตรวจำส่อับการทำ�างานได�จำากค!าน�� พื่าทำขึ้อังไฟล่�โป็รแกรมั เช้!น C:\ sqlcmd.exe -e -q

“sp_who” ขึ้��นตอันทำ��เร�ย่กค�าส่��ง Transact – SQL

เมั��อัเราส่ร�างขึ้��นตอันจำากค�าส่��ง Transact – SQL เราจำะต�อังก�าหนดส่��งต!าง ๆ ด�งต!อัไป็น��

ก�าหนดฐานขึ้�อัมั5ล่ทำ��จำะทำ�างานก�บ Job น��นๆ ก�าหนดช้.ดขึ้อังค�าส่��ง Transact – SQL ,

Stored Procedures ทำ��จำะเป็#นแต!ล่ะขึ้��นตอัน ใน Job

นอักจำากน�� เราย่�งส่ามัารถใช้�ไฟล่�ค�าส่��ง Transact – SQL

ทำ��มั�อัย่5!แล่�วเป็#นค�าส่��งส่�าหร�บขึ้��นตอันในการทำ�างานขึ้อัง

Job ก1ได� ขึ้��นตอันทำ��เร�ย่กส่คร�ป็ต�ขึ้อัง Microsoft

ActiveXในเพื่จำ Steps เมั��อัเราคล่�กป็.;มั New, lnsert หร�อั Edit จำะเขึ้�าส่5!

หน�าต!าง Job Step Properties ทำ��เราจำะส่ามัารถก�าหนดขึ้��นตอันการทำ�างานภาย่ใน job ได�

ราย่ล่ะเอั�ย่ดขึ้อังหน�าต!าง ๆ Job Step Properties

เพื่จำ General

Step name ต��งช้��อัขึ้��นตอัน Type ก�าหนดป็ระเภทำค�าส่��ง เช้!น

Operating System (cmdExec). Transact SQL หร�อัอั��นๆ

Run as ก�าหนดช้��อัส่มัาช้�กทำ��เป็#นผู้5�ส่� �งทำ�าค�าส่��งน��

Database ก�าหนดฐานขึ้�อัมั5ล่ทำ��ถ5กค�าส่��งน��กระทำ�า

Command ก�าหนดค�าส่��งทำ��ต�อังการทำ�าในช้!อังน��

Process exit code of a successful command ก�าหนดค!าทำ��ค�นกล่�บ เมั��อัขึ้��นตอันน��ทำ�างานส่�าเร1จำ (ป็รากฏิเมั��อัเราเล่�อัก Type เป็#น

Operating System (CmdExec)) Open, Select All, Copy, Paste เป็#นป็.;มัค�าส่��งทำ��ใช้�ก�บโค�ดใน

ช้!อัง Command

Parse เป็#นป็.;มัทำ��ใช้�ตรวจำความัถ5กต�อังขึ้อังร5ป็ป็ระโย่คค�าส่��งในช้!อัง

Command (ป็รากฏิเมั��อัเราเล่�อัก

Type เป็#น Transact-SQL)

เพื่จำ Advanced

On success action ก�าหนดส่��งทำ��จำะทำ�าเมั��อัค�าส่��งน��ทำ�าส่�าเร1จำ

Retry attempts ก�าหนดจำ�านวนคร��งทำ��พื่ย่าย่ามัทำ�าค�าส่��งน��ใหมั!เมั��อัล่�มัเหล่ว

Retry interval (minutes) ก�าหนดเวล่าห!างขึ้อังความัพื่ย่าย่ามัใหมั!แต!ล่ะคร��ง

On failure action ก�าหนดส่��งทำ��จำะทำ�าเมั��อัค�าส่��งน��ทำ�าไมั!ส่�าเร1จำ

Output file เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งในไฟล่�ทำ��ก�าหนดในช้!อังน��

Append output to existing file เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตแบบไมั!ทำ�บขึ้อังเด�มั แต!ตอัทำ�าย่ไฟล่�ไป็เร��อัย่ ๆ

Log to table เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งในตาราง

sysjobstepslogs ในฐานขึ้�อัมั5ล่

msdb Append output to existing entry in table เขึ้�ย่นขึ้�อัมั5ล่

เอัาทำ�พื่.ตต!อัทำ�าย่ตารางไป็เร��อัย่ ๆ Include step output in history เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งใน

job history Run as user ก�าหนดช้��อัส่มัาช้�กทำ��ทำ�าการร�นค�า

ส่��งน��

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัเก��ย่วก�บการส่ร�างขึ้��นตอันขึ้อัง job

ส่มัาช้�กใน Sysadmin Fixed Server Role ส่ามัารถส่ร�างขึ้��นตอันขึ้อัง Job ให�ทำ�างานในนามัขึ้อังส่มัาช้�กคนอั��นๆได� ต�วอัย่!างเขึ้!น

sa จำะส่ามัารถส่ร�างขึ้��นตอันการส่ร�างฐานขึ้�อัมั5ล่ในนามัผู้5�ใช้�ช้��อั

Tharin ได� ถ�า job หน��ง ๆ มั�หล่าย่ขึ้��นตอัน เราส่ามัารถจำ�ดล่�าด�บการทำ�างาน

ขึ้อังแต!ล่ะขึ้��นตอันได� แล่ะส่ามัารถเพื่��มัขึ้��นตอันใหมั! ล่บขึ้��นตอันทำ��มั�อัย่5! แล่ะก�าหนดล่�าด�บขึ้อังขึ้��นตอันใหมั!ได� ซิ��งการเป็ล่��ย่นแป็ล่งจำะมั�ผู้ล่ในคร��งต!อัไป็ทำ��มั�การร�น job น��

เราส่ามัารถก�าหนดส่��งทำ��จำะให�ทำ�า เมั��อัขึ้��นตอันน��นทำ�าส่�าเร1จำ หร�อัไมั!ส่�าเร1จำขึ้��นมัาได� แล่ะก�าหนดจำ�านวนคร��ง แล่ะช้!วงเวล่าระหว!างแต!ล่ะคร��งทำ��จำะร�นขึ้��นตอันทำ��ไมั!ส่�าเร1จำน��นใหมั!ได�ด�วย่

แต!ล่ะขึ้��นตอันใน job จำะต�อังมั�ความัส่มับ5รณ์�ในต�วมั�นเอัง โดย่

Job จำะไมั!ส่ามัารถส่!งค!าบ5ล่�น ขึ้�อัมั5ล่ หร�อัค!าต�วเล่ขึ้ระหว!างแต!ล่ะขึ้��นตอันได� อัย่!างไรก1ตามัเราส่ามัารถส่!งค!าทำ��ส่ร�างด�วย่ค�าส่��ง Transact – SQL จำาก Job หน��งไป็ย่�ง Job อั��นได� โดย่ใช้�การฝากใส่!ตาราง หร�อัตารางช้��วคราวแบบโกดบอับก1ได� นอักจำากน�� เราย่�งส่ามัารถส่!งค!าจำากขึ้��นตอันหน��งใน Job ไป็ย่�งขึ้��นตอันอั��นได� โดย่ใช้�การเก1บในไฟล่�ขึ้�อัมั5ล่ก1ได�

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Schedules

เพื่จำน��จำะเป็#นการต��งเวล่าการทำ�างานขึ้อัง Job โดย่เราส่ามัารถระบ.เวล่าได�หล่าย่ ๆแบบด�งต!อัไป็น��

ทำ�าทำ�นทำ�ทำ�� SQL Server Agent เร��มัต�นการทำ�างาน ทำ�าทำ�นทำ�ทำ��การใช้�งาน CPU อัย่5!ต��ากว!าระด�บทำ��เราก�าหนดว!า

ว!างงาน“ ”

ทำ�าเป็#นป็ระจำ�าทำ.กว�น ส่�ป็ดาห� เด�อัน หร�อัป็? ทำ�าคร��งเด�ย่ว ณ์ ว�นแล่ะเวล่าทำ��ก�าหนด

ในเพื่จำ Schedules เมั��อัเราคล่�กป็.;มั New หร�อั Edit จำะเขึ้�าส่5�หน�าต!าง Job Schedule Properties ทำ��เราจำะส่ามัารถก�าหนดเวล่าทำ��จำะให� Job

ทำ�างานได�

3.2 ก�าหนดค!าตามัต�อังการในหน�าต!าง Job Step Properties

เพื่จำ General

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Jov Step Properties

เพื่จำ General

Name ต��งช้��อัขึ้��นตอัน Type ก�าหนดป็ระเภทำค�าส่��งเช้!น

Operating System (CmdExec), Transact-SQL หร�อัอั��น ๆ

Run as ก�าหนดช้��อัส่มัาช้�กทำ��เป็#นผู้5�ส่!งทำ�าค�าส่��งน��

Database ก�าหนดฐานขึ้�อัมั5ล่ทำ��ถ5กค�าส่��งน��กระทำ�า

Command ก�าหนดค�าส่��งทำ��ต�อังการทำ�าในช้!อังน��

3.3 ก�าหนดค!าตามัความัต�อังการในหน�าต!าง Job Step

Properties เพื่จำ Advanced

Process exit code of a successful command ก�าหนดค!าทำ��ค�นกล่�บ เมั��อัขึ้��นตอันน��ทำ�างานส่�าเร1จำ (ป็รากฏิเมั��อัเราเล่�อัก

Type เป็#น Operating System

(CmdExec)) Open , Select All, Copy ,Paste เป็#น

ป็.;มัค�าส่��งทำ��ใช้�ก�บโค�ดในช้!อัง Command

Parseเป็#นป็.;มัทำ��ใช้�ตรวจำความัถ5กต�อังขึ้อังร5ป็ป็ระโย่คค�าส่��งในช้!อัง

Command(ป็รากฏิเมั��อัเราเล่�อัก Type เป็#น

Transact-SQL)เพื่จำ Advanced

On success action ก�าหนดส่��งทำ��จำะทำ�าเมั��อัค�าส่��งน��ทำ�าเส่ร1จำ

Retry attempts ก�าหนดจำ�านวนคร��งทำ��พื่ย่าย่ามัทำ�าค�าส่��งน��ใหมั!เมั��อัล่�มัเหล่ว

On failure action ก�าหนดส่��งทำ��จำะทำ�าเมั��อัค�าส่��งน��ทำ�าไมั!ส่�าเร1จำ

Output file เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งในไฟล่�ทำ��ก�าหนดในช้!อังน��

Append output to existing file เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตแบบไมั!ทำ�บขึ้อังเด�มั แต!ต!อัทำ�าย่ไฟล่�ไป็เร��อัย่ ๆ

Log to table เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งในตาราง sysjobstepslogs ในฐานขึ้�อัมั5ล่ msdb

Append output to existing entry in table เขึ้�ย่นเอัาทำ�พื่.ตต!อัทำ�าย่ตารางไป็เร��อัย่

include step output in history เขึ้�ย่นขึ้�อัมั5ล่เอัาทำ�พื่.ตล่งใน Job history

Rus as user ก�าหนดช้��อัส่มัาช้�กทำ��ทำ�าการร�นค�าส่��งน��

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัเก��ย่วก�บการส่ร�างขึ้��นตอันขึ้อัง Job

ส่มัาช้�กใน Sysadmin Fixed Server Role ส่ามัารถส่ร�างขึ้��นตอันขึ้อัง Job ให�ทำ�างานในนามัขึ้อังส่มัาช้�กคนอั��นได� ต�วอัย่!างเช้!น sa

จำะส่ามัารถส่ร�างขึ้��นตอันการส่ร�างฐานขึ้�อัมั5ล่ในนามัผู้5�ใช้�ช้��อั

Tharin ได� ถ�า Job หน��ง ๆ มั�หล่าย่ขึ้��นตอัน เราส่ามัารถจำ�ดล่�าด�บการทำ�างาน

ขึ้อังแต!ล่ะขึ้��นตอันได� แล่ะส่ามัารถเพื่��มัขึ้��นตอันใหมั! ล่บขึ้��นตอันทำ��มั�อัย่5! แล่ะก�าหนดล่�าด�บขึ้อังขึ้��นตอันใหมั!ได� ซิ��งการเป็ล่��ย่นแป็ล่งจำะมั�ผู้ล่ในคร��งต!อัไป็ทำ��มั�การร�น Job น��

เราส่ามัารถก�าหนดส่��งทำ��จำะให�ทำ�า เมั��อัขึ้��นตอันน��นทำ�าส่�าเร1จำ หร�อัไมั!ส่�าเร1จำขึ้��นมัาได� แล่ะก�าหนดจำ�านวนคร��ง แล่ะช้!วงเวล่าระหว!างแต!ล่ะคร��งทำ��จำะร�นขึ้��นตอันทำ��ไมั!ส่�าเร1จำน��นใหมั!ได�ด�วย่

แต!ล่ะขึ้��นตอันใน Job จำะต�อังมั�ความัส่มับ5รณ์�ในต�วมั�นเอัง โดย่

Job จำะไมั!ส่ามัารถส่!งค!าบ5ล่�น ขึ้�อัมั5ล่ หร�อัค!าต�วเล่ขึ้ระหว!างแต!ล่ะขึ้�นตอันได� อัย่!างไรก1ตามัเราส่ามัารถส่!งค!าทำ��ส่ร�างด�วย่ค�าส่��ง Transact-SQL จำาก Job หน��งไป็ย่�ง Job อั��นได� โดย่ใช้�การฝากใส่!ตาราง หร�อัตารางช้��งคราวแบบโกล่บอัล่ก1ได� นอักจำากน��เราย่�งส่ามัารถส่!งค!าจำากขึ้��นตอันหน��งใน Job ไป็ย่�งขึ้��นตอันอั��นได� โดย่การเก1บในไฟล่�ขึ้�อัมั5ล่ก1ได�

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Schedules

เพื่จำน��จำะเป็#นการต��งเวล่าการทำ�างานขึ้อัง Job โดย่เราส่ามัารถระบ.เวล่าได�หล่าย่ ๆ แบบด�งต!อัไป็น��

ทำ�าทำ�นทำ�ทำ�� SQL Server Agent เร��มัต�นการทำ�างาน ทำ�าทำ�นทำ�ทำ��การใช้�งาน CPU อัย่5!ต��ากว!าระด�บทำ��เราก�าหนดว!า “ว!าง

งาน” ทำ�าเป็#นป็ระจำ�าทำ.กว�น ส่�ป็ดาห� เด�อัน หร�อัป็? ทำ�าคร��งเด�ย่ว ณ์ ว�นแล่ะเวล่าทำ��ก�าหนด

ในเพื่จำ Schedules เมั��อัเราคล่�กป็.;มั New หร�อั Edit จำะเขึ้�าส่5!หน�าต!าง

Job Schedule Properties ทำ��เราจำะส่ามัารถก�าหนดเวล่าทำ��จำะให� Job

ทำ�างานได�

Schedule list แส่ดงการต��งเวล่าทำ��งหมัดเพื่��อัเร�ย่ก Job น��มัาทำ�างาน

Remove ป็.;มัล่บการต��งเวล่า

Edit ป็.;มัแก�ไขึ้การต��งเวล่า

Pick ป็.;มัก�าหนดการต��งเวล่า โดย่ใช้�การต��งเวล่าNew ป็.;มัก�าหนดการต��ง

ราย่ล่ะเอั�ย่ดขึ้อังหน�าต!าง Job Schedule

Name ต��งช้��อัการต��งเวล่าน�� Enabled เล่�อักถ5กต�อังการให�การต��งเล่า

น��มั�ผู้ล่ทำ�นทำ� แต!ถ�าถ5กเอัาอัอัก

การต��งเวล่าน��ก1จำะไมั!มั�ผู้ล่เมั��อัถ�งเวล่า Job ก1จำะไมั!ทำ�างาน

Schedule Type ก�าหนดร5ป็แบบกาต��งเวล่า Start automatically when

SQL Server Agent starts ทำ�าทำ�นทำ�ทำ�� SQL Server

Agent เร��มัต�นการทำ�างาน Star whenever the CPUs

became idle ทำ�าทำ�นทำ�ทำ��การใช้�งาน CPU อัย่5!ต��ากว!าระด�บทำ��เราก�าหนดว!า ว!าง“

งาน” Recurring ทำ�าเป็#นป็ระจำ�า

ทำ.กว�น ส่�ป็ดาห� เด�อัน หร�อัป็?

4.2 ก�าหนดค!าตามัต�อังการในหน�าต!าง Job Schedule

One time ทำ�าคร��งเด�ย่ว ณ์

ว�นแล่ะเวล่าทำ��ก�าหนดต�วเล่�อักทำ��ใช้�งานร!วมัก�บ Schedule Type แบบ One time

One – Time occurrence ก�าหนดว�น เด�อัน ป็?ป็ระจำ�าทำ��ทำ�า

Job น�� เช้!น ทำ.กว�นอัาทำ�ตย่� Frequency ก�าหนดเวล่าป็ระจำ�าทำ��ทำ�า Job น��

เช้!น ทำ.กว�นอัาทำ�ตย่� Daily frequency ก�าหนดเวล่าป็ระจำ�าทำ��ทำ�า Job น��

เช้!น ทำ.กว�นอัาทำ�ตย่�ตอันเทำ��ย่งค�น

Duration ก�าหนดระย่ะเวล่าทำ��จำะทำ�า Job น�� เช้!น ทำ.กว�นอัาทำ�ตย่�ตอันเทำ��ย่งค�น ต��งแต!อัาทำ�ตย่�ทำ�� 31/10/2550 เป็#นต�นไป็ ไมั!มั�ก�าหนดเล่�กทำ�า

Summary ส่ร.ป็ผู้ล่การต��งเวล่าเป็#นค�าบรรย่าย่ เพื่��อัตรวจำส่อับการต��งเวล่าว!าตรงก�บทำ��เราต�อังการหร�อัไมั!

การร�น Job ในช้!างทำ�� CPU ว!างงานเพื่��อัให�การใช้�งาน CPU มั�ป็ระส่�ทำธิ�ภาพื่ส่5งส่.ด เราส่ามัารถ

ก�าหนดเง��อันไขึ้ทำ��จำะบอักว!า CPU น��นอัย่5!ในช้!วงว!างงาน (Idle) หร�อัไมั! ซิ��งถ�าตรงตามัเง��อันไขึ้ทำ��เราก�าหนด SQL Server Agent ก1จำะร�น Job

น��นทำ�นทำ� ทำ��เห1นว!า CPU ว!างงานในการก�าหนดให� Job ร�นในช้!วงทำ�� CPU Idle เราจำะต�อังตรวจำ

ส่อับก!อันว!า ค!าการใช้�งาน CPU ทำ�� Job น��นต�อังการเป็#นเทำ!าไหร! โดย่ส่ามัารถใช้� SQL Server Profiler เพื่��อัตรวจำส่อับแบนว�ธิ แล่ะรวบรวมั

ส่ถ�ต�ต!าง ๆ ได� ซิ��งขึ้�อัมั5ล่ทำ��รวบรวมัมัาน��จำะถ5กน�ามัาใช้�เพื่��อัก�าหนดเง��อันไขึ้ทำ��บอักว!า CPU ก�าล่�ง Idle อัย่5! โดย่ให�เราก�าหนด

เป็อัร�เซิ1นต�ในการใช้�งาน CPU

ช้!วงเวล่าทำ�� CPU อัย่5!ในส่ถานะเทำ!าก�บ หร�อัต��ากว!าเป็อัร�เซิ1นต�ในขึ้�อัแรก ซิ��งเมั��อัเราอัย่5!ในส่ถานะน��เก�นช้!วงเวล่าทำ��ก�าหนด SQL

Server Agent ก1จำะเร��มัทำ�างานตามั Job ทำ��เราได�ก�าหนดให�ร�นในช้!วงทำ��มั� CPU Idle เก�ดขึ้��น

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัเก��ย่วก�บการส่��ง Job ทำ�างาน เราอัาจำจำะต�อังการร�น Job ในเวล่าอั��นนอักเหน�อัจำากช้!วงเวล่าทำ��

ก�าหนดไว� เช้!น เรามั�การก�าหนดให�ทำาการแบ1กอั�พื่ฐานขึ้�อัมั5ล่

1.ให�เราคล่�กเมัาส่�ป็.;มัขึ้วาทำ�� SQL Server Agent แล่ะเล่�อัก Properties

2.1 ทำ��แทำ1บ

2.2 ก�าหนดเป็อัร�เซิ1นต�การใช้� 2.3 ก�าหนดเง��อันไขึ้ทำ��จำะบอักให� CPU อัย่5!ในส่ถานะ Idle นานเทำ!าไรจำ�งร�น Job

Master ในตอันเย่1น แต!บางคร��งในกรณ์�ทำ��มั�การเป็ล่��ย่นแป็ล่งขึ้�อัมั5ล่เราอัาจำต�อังการส่��งแบ1กอั�พื่ขึ้�อัมั5ล่เล่ย่ ซิ��งเราก1ส่ามัารถทำ�าได� โดย่การคล่�กขึ้วาทำ�� Job น��นแล่ะเล่�อักค�าส่��ง Start Job at

Step… ถ�า Job น��นได�เร��มัต�นทำ�างานตามัตารางเวล่า เราจำะไมั!ส่ามัารถ

ส่��งร�น Job เด�ย่วก�นซิ��าบนเซิ�ร�ฟเอัร�เคร��อังเด�มัได�จำนหว!า Job

น��นร�นเส่ร1จำเร�ย่บร�อัย่แล่�ว เราส่ามัารถส่��งหย่.ด Job ในขึ้ณ์ะทำ��ร �นอัย่5!ได� ซิ��งในบางกรณ์� เมั��อั

เราอัอักค�าส่��งหย่.ด Job ค�าส่��งหย่.ดน��นอัาจำไมั!มั�ผู้ล่ในทำ�นทำ� เพื่ราะว!า Job น��นก�าล่�งทำ�างานบางอัย่!างอัย่5! เช้!น ค�าส่��ง BACKUP

หร�อัค�าส่��ง DBCC ซิ��งเราต�อังรอัให�ค�าส่��งเหล่!าน��ทำ�าเส่ร1จำก!อัน

Job จำ�งจำะหย่.ดตามัทำ��เราส่��ง แล่ะเมั��อัเราส่ามัารถหย่.ดการทำ�างานขึ้อัง Job น��นได� การหย่.ดแล่ะงานทำ��ทำ�าไป็แล่�วก1จำะถ5กบ�นทำ�กการทำ�างานไว�ใน Job History ด�วย่

อั�นทำ��จำร�งแล่�ว เมั��อัเราก�าหนดครบ 3 เพื่จำแรก Job ก1พื่ร�อัมัทำ�างานแล่�ว แต!ถ�าเราต�อังการส่��งงาน Job ให�ทำ�างานเฉพื่าะเจำาะจำงมัากย่��งขึ้��น เราส่ามัารถก�าหนดค!าใน 3 เพื่จำต!อัมัาได� ซิ��งมั�ราย่ล่ะเอั�ย่ดต!างๆ ด�งน��

Alert list แส่ดงราย่การ Alert

Remove ป็.;มัล่บ Add ป็.;มัเพื่��มั

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Alerts

ป็กต�เมั��อัมั�เหต.การณ์�ทำ��ตรงก�บทำ��เราระบ.ใน Alert เก�ดขึ้��น Alert

น��นจำะทำ�างาน แล่ะจำะไป็เร�ย่ก Job ต�วใดต�วหน��งขึ้��นมัาทำ�างานตอับส่นอังเหต.การณ์�น��น แต!ในกรณ์�ทำ��เราส่ร�าง Alert ภาย่ในหน�าต!าง Job Properties เมั��อัเราส่ร�างแล่�ว Alert ทำ��ได�จำะถ5กบ�งค�บให�ใช้� Job

ในหน�าต!างน��ตอับส่นอังต!อัเหต.การณ์�ทำ��เก�ดขึ้��นโดย่อั�ตโนมั�ต� ไมั!ส่ามัารถเป็ล่��ย่นได� เป็#นการส่ร�าง Alert เพื่��อัเร�ย่กให� Job ในหน�าต!างน��ทำ�างานน��นเอัง

เราไมั!ส่ามัารถส่ร�าง Alert บน Job ทำ��ย่�งไมั!ได�บ�นทำ�กได�โดย่เราต�อังคล่�กป็.;มั ok ทำ��หน�าต!าง Job Properties ก!อัน เพื่��อับ�นทำ�กแล่ะส่ร�าง Job จำากน��นเขึ้�าส่5!หน�าต!าง ๆ Job Properties ใหมั!อั�กคร��งในภาย่หล่�ง เพื่��อัเร��มัส่ร�าง Alert (การส่ร�าง Alert จำะขึ้อักล่!าวอั�กทำ�ในห�วขึ้�อัการส่ร�าง Alert)

Edit ป็.;มัแก�ไขึ้

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Notifications

ในการแจำ�งเต�อัน (Notifications) จำะเป็#นการแจำ�งเต�อันไป็ทำ��โอัเป็อัเรเตอัร� (Operator) หร�อัผู้5�ทำ��เก��ย่วขึ้�อังให�ร�บทำราบ ด�งน��นเราจำ�งต�อังส่ร�างโอัเป็อัเรเตอัร�ก!อัน จำ�งจำะมั�ค!าในช้!อังต!าง ๆ ให�เล่�อัก

(การส่ร�าง Operator จำะกล่!าวในห�วขึ้�อัต!อัไป็)

ในการส่!ง E-mail , Page , Net send , การเขึ้�ย่นล่1อักใน

Application event log หร�อัการล่บ Job จำะทำ�าก1ต!อัเมั��อัเง��อันไขึ้เป็#นจำร�ง โดย่เง��อันไขึ้การทำ�าจำะอัย่5!ในช้!อังด�านหล่�งขึ้อังแต!ล่ะห�วขึ้�อั

แล่ะมั�ต�วเล่�อักต!าง ๆ ให�เล่�อักเหมั�อัน ๆ ก�น ด�งน�� When the job succeeds เมั��อั Job ทำ�าส่�าเร1จำทำ.กขึ้��นตอัน When the Job fails เมั��อั Job ล่�มัเหล่ว When the Job completes เมั��อั Job ทำ�าครบ แต!อัาจำจำะไมั!

ส่�าเร1จำในบางขึ้��นตอัน

ความัต�อังการขึ้��นต��าเมั��อัเราใช้� Notifications

ถ�าส่!ง E-mail ด�วย่ฟ2งก�ช้��น Database Mail เราต�อังต�ดต��งโป็รแกรมัเมัล่�เซิ�ร�ฟเวอัร�ทำ��มั�การทำ�างานขึ้อัง SMTP (การใช้� Database Mail จำะกล่!าวในห�วขึ้�อัถ�ดไป็)

ถ�าส่!ง E-mail ด�วย่ฟ2งก�ช้��น SQL Mail เราต�อังเขึ้��อัมัต!อัการส่!งเมัล่�ไป็ทำ��เซิ�ร�ฟเวอัร�ขึ้อัง Microsoft Exchange แล่ะต�วเซิ�ร�ฟเวอัร�ทำ��ร �น SQL Server ต�อังต�ดต��งโป็รแกรมั Microsoft Outlook

แล่ะ Microsoft Exchange client ด�วย่ (ไมั!แนะน�าให�ใช้�ฟ2งก�ช้��น

SQL Mail เพื่ราะเป็#นฟ2งก�ช้��นเก!า แล่ะในอันาคตฟ2งก�ช้��นน��จำะถ5กต�ดอัอักจำากโป็รแกรมั SQL Server)

ถ�าส่!งเพื่จำเจำอัร� เราต�อังต�ดต��งซิอัฟแวร�จำากบร�ษ�ทำพื่�ฒนาซิอัฟทำ�แวร�อั�ส่ระ (Third – Party Pager-to-e-mail software)

หร�อัจำะเป็#นอั.ป็กรณ์�ฮาร�ดแวร�ได�

ถ�าส่!งผู้!าน Net send คอัมัพื่�วเตอัร�เคร��อังน��นต�อังอัน.ญ่าตให�ร�บขึ้�อัความัจำากโป็รแกรมั Windows Messenger ได� แล่ะโอัเป็อัเรเตอัร�ต�อังล่1อักอั�นใช้�เคร��อังน��นอัย่5!ด�วย่

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Targets

ก�าหนดเซิ�ร�ฟเวอัร�เป็Bาหมัาย่ขึ้อัง Job ทำ��เราส่ร�าง Target local server ร�น Job บนเคร��อังเซิ�ร�ฟเวอัร�น�� Target multiple server ร�น Job บนเซิ�ร�ฟเวอัร�ต�วอั��นในเคร�อั

ขึ้!าย่ ซิ��งเราส่ามัารถก�าหนดได�มัากกว!า 1 เซิ�ร�ฟเวอัร�

การใช้�งาน Database Mail

ในการใช้�งาน Notifications เพื่��อัส่!งการแจำ�งเต�อันผู้!านอั�เมัล่�น��น

เราจำะใช้�ความัส่ามัารถขึ้อัง Database Mail ซิ��งจำะส่ามัารถทำ�างานร!วมัก�บโป็รแกรมั SMTP Server ต�วใดๆ ก1ได� ไมั!จำ�าก�ดว!าต�อังเป็#น

Microsoft Exchange เทำ!าน��น ทำ�าให�เราส่ามัารถใช้�โป็รแกรมั SMTP

Server ทำ��เรามั�อัย่5!แล่�ว หร�อัหาดาวน�โหล่ดฟร�จำากอั�นเทำอัร�เน1ตมัาใช้�ร!วมัก�บ Database Mail ได�

Note ส่�าหร�บการต�ดต��งโป็รแกรมั SMTP Server น��น จำะเป็#นพื่��นฐานขึ้อังผู้5�ด5แล่ระบบอัย่5!แล่�ว จำ�งขึ้อัขึ้�ามัไป็ โดย่จำะถ�อัว!าขึ้� �นตอันหล่�งจำากน��ทำ��งหมัดกระทำ�าบนเคร��อังเซิ�ร�ฟเวอัร�ทำ��มั� SMTP Server ต�ดต��งพื่ร�อัมัทำ�างานแล่�ว

1. การใช้�งาน Database Mail น��น เร��มัต�นให�เราไป็ทำ�� All

Programs>Microsoft SQL Server 2005>Configuration Tools>SQL Server Surface Area Configuration จำะป็รากฏิหน�าต!าง SQL Server 2005 Surface Area Configuration

คล่�กทำ��ล่�งค� Surface Area Configuration for Features จำะป็รากฏิหน�าต!างด�งร5ป็ แล่�วทำ�าตามัขึ้��นตอันเพื่��อัเป็=ดการทำ�างานขึ้อัง Database Mail

2. จำากน��นไป็ทำ�� Management Studio ทำ��หน�าต!าง Object Explorer

ไป็ทำ�� Management>SQL Server Logs คล่�กขึ้วาทำ�� Database

Mail เล่�อักค�าส่��ง Configure Database Mail จำะป็รากฏิหน�าต!าง Database Mail Configuration Wizard ให�เราเล่�อักต�วเล่�อัก

Setup Database Mail by performing the following tasks เพื่��อัส่ร�าง Profile ใหมั! แล่ะ SMTP Account ใหมั!ในหน�าต!าง ๆ

New Database Mail Account ด�งร5ป็

3. จำากน��นกล่�บมัาทำ��หน�าต!าง Object Explorer อั�กคร��ง คล่�กเมัาส่�ขึ้วาทำ�� Database Mail เล่�อักค�าส่��ง Send Test E-mail … ล่อังส่!งเมัล่�ผู้!านโป็รแกรมั SMTP Server โดย่ส่!งในนามัผู้5�ใช้� SMTP

Account ทำ��ส่ร�างในขึ้��นตอันทำ��ผู้!านมัา ซิ��งถ�าโป็รแกรมัเช้1คเมัล่�ขึ้อังเรา เช้!น Microsoft Outlook ได�ร�บเมัล่� ก1แส่ดงว!าการส่ร�าง Profile แล่ะ SMTP Account ขึ้อังเราถ5กต�อัง แต!ถ�าไมั!ได�ร�บเมัล่�ก1กล่�บไป็แก�ไขึ้ในขึ้��นตอันทำ�� 2 ต!อัไป็

4. จำากน��นกล่�บมัาทำ��หน�าต!าง Object Explorer อั�กคร��ง คราวน��ไป็ทำ�� SQL Server Agent คล่�กขึ้วาเล่�อักค�าส่��ง Properties ไป็ทำ��เพื่จำ Alert System ก�าหนดค!าในส่!วน Mail session แล่�วทำ�าการร�ส่ตารทำ� SQL Server Agent หน��งคร��ง

5. ส่.ดทำ�าย่ล่อังส่ร�าง Job แล่ะก�าหนดในเพื่จำ Notifications ให�มั�การส่!งอั�เมัล่�ให�โอัเป็อัเรเตอัร�ทำราบ (การส่ร�างโอัเป็อัเรเตอัร�ด5ในห�วขึ้�อัต!อัไป็) จำากน��นล่อังส่��ง Job น��นทำ�างานโดย่การคล่�กขึ้วาทำ�� Job เล่�อักค�าส่��ง Start Job at Step… เมั��อั Job ทำ�างานเส่ร1จำเราจำะได�ร�บเมัล่�แจำ�งด�งร5ป็

ร5 �จำ�กก�บ Operators

ด�งทำ��ได�กล่!าวมัาแล่�วว!า เราส่ามัารถก�าหนดให�มั�การส่!งอั�เมัล่�ไป็ย่�งทำ�มังาน หร�อัผู้5�เก��ย่วขึ้�อังทำ��เร�ย่กว!าโอัเป็อัเรเตอัร� (Operator) ได� เมั��อั Job น��นทำ�างานส่�าเร1จำ หร�อัทำ�างานไมั!ส่�าเร1จำ ซิ��งในห�วขึ้�อัน��เราจำะมัาศึ�กษาก�นในเร��อังการก�าหนดโอัเป็อัเรเตอัร�ด�งห�วขึ้�อัต!าง ๆ ต!อัไป็น��

การส่ร�าง Operator

เราควรส่ร�างโอัเป็อัเรเตอัร�ก!อันทำ��เราจำะน�ย่ามั Job หร�อั Alert

โดย่จำะเร��มัจำาการก�าหนดค.ณ์ส่มับ�ต�พื่��นฐานขึ้อังโอัเป็อัเรเตอัร�ก!อัน

ซิ��งจำะมั�ช้��อัแล่ะขึ้�อัมั5ล่ทำ��ใช้�ในการต�ดต!อั แล่ะว�ธิ�การส่!งขึ้�อัความัไป็ถ�งโอัเป็อัเรเตอัร�น��น ๆ ได�แก!

ส่!งอั�เมัล่� ซิ��ง SQL Server Agent ต�อังการขึ้�อัมั5ล่อั�เมัล่�ทำ��ถ5กต�อัง เพื่��อัทำ��จำะใช้�ในการส่!งเมัล่�ให�ก�บโอัเป็อัเรเตอัร�

ส่!งทำางเพื่จำเจำอัร� ส่!งขึ้�อัความัผู้!านเคร�อัขึ้!าย่โดย่ใช้� Net Send แต!เราจำะต�อังร�นอัย่5!

บน Windows 2000 หร�อั5งกว!าจำ�งส่ามัารถใช้�ค�าส่��ง Set send ได�

Note ความัต�อังการด�านซิอัฟทำ�แวร� แล่ะฮาร�ดแวร�ขึ้� �นต��า เพื่��อัใช้�ส่!งขึ้�อัความัด�วย่ว�ธิ�ต!าง ๆ น��นจำะเหมั�อันก�นการใช้�เพื่จำ Notifications ในการส่ร�าง ๆ Job ซิ��งเรากล่!าวถ�งไป็แล่�ว

ส่�าหร�บการส่ร�างโอัเป็อัเรเตอัร�ให�เราทำ�าตามัขึ้��นตอันต!อัไป็น�� โดย่การต��งช้��อัโอัเป็อัเรเตอัร�จำะต�อังไมั!ซิ��าก�บทำ��มั�อัย่5!แล่�ว แล่ะไมั!เก�น

128 ต�วอั�กขึ้ระ

การแจำ�งเต�อัน Operator โดย่ใช้�เพื่จำเจำอัร�ในการใช้�เพื่จำเจำอัร�เราส่ามัารถก�าหนดในส่!วน Pager on duty

schedule ขึ้อังเพื่จำ General ส่�าหร�บโอัเป็อัเรเตอัร�แต!ล่ะคนแตกต!างก�นได� เช้!น OperatorA ทำ�างานเฉพื่าะว�นจำ�นทำร�ถ�งว�นพื่ฤห�ส่,

OperatorB ทำ�างานเฉพื่าะว�นศึ.กร� ด�งน��น เราจำ�งส่ามัารถก�าหนดขึ้อับเขึ้ตเวล่าในส่!วนขึ้อัง Pager on duty schedule ส่�าหร�บแต!ล่ะคน

แตกต!างก�น ตามัการทำ�างานจำร�ง แล่ะถ�าในกรณ์�ทำ��มั�การแจำ�งเต�อันเก�ดขึ้��นแต!ไมั!มั�ผู้5�ใด อัย่5!ในช้!วงเวล่าร�บเพื่จำเจำอัร� การแจำ�งเต�อันน��นก1จำะไป็ล่งทำ��โอัเป็อัเรเตอัร�ส่.ดทำ�าย่ทำ��เราเร�ย่กว!า Fail – Safe Operator

การก�าหนด Fail – safe Operator

Fail – safe Operator เป็#นโอัเป็อัเรเตอัร�คนส่.ดทำ�าย่ทำ��จำะถ5กแจำ�งเต�อัน หากการแจำ�งเต�อันต!าง ๆทำ�� ได�ส่!งไป็ย่�งโอัเป็อัเรเตอัร�คนอั��นทำ��เราได�ก�าหนดไว�แล่�วไมั!ส่�าเร1จำขึ้��นมัา ต�วอัย่!างเช้!น ถ�าเราน�ย่ามัโอัเป็อัเรเตอัร� 3 คน แล่ะไมั!มั�โอัเป็อัเรเตอัร�คนใดได�ร�บเพื่จำเล่ย่

SQL Server ก1จำะส่!งไป็ย่�ง Fail – Safe Operator แทำน โดย่ทำ��วไป็ Fail

– Safe Operator จำะถ5กแจำ�งเต�อันเมั��อั โอัเป็อัเรเตอัร�ทำ��ระบ.ไมั!ได�ร�บการเพื่จำ เหต.ผู้ล่น��อัาจำจำะมัาจำาก

ความัผู้�ดพื่ล่าดบางอัย่!าง หร�อัโอัเป็อัเรเตอัร�ไมั!ได�อัย่5!ในระหว!างการป็ฏิ�บ�ต�หน�าทำ��ก1ได�

SQL Server Agent ไมั!ส่ามัารถเขึ้�าใช้�งานตารางในฐานขึ้�อัมั5ล่

msdb ได�Fail – safe Operator จำะช้!วย่ให�การทำ�างานทำ�ความัร�ดก.มั แล่ะ

ป็ล่อัดภ�ย่มัากขึ้��น เราจำะไมั!ส่ามัารถล่บโอัเป็อัเรเตอัร�ทำ��ได�ก�าหนดให�เป็#น Fail – Safe Operator ได� นอักจำากจำะก�าหนดคนอั��นขึ้��นมัาเป็#นแทำน

ซิ��งเราส่ามัารถก�าหนด Fail – Safe Operator ได�ด�งน��

ร5 �จำ�กก�บ Alerts

ในระบบป็ฏิ�บ�ต�การ Windows Server 2000/2003 ขึ้�อัผู้�ดพื่ล่าด

(บางคร��งเร�ย่กว!าเหต.การณ์�ขึ้�อัผู้�ดพื่ล่าด) ทำ��เก�ดขึ้��นใน SQL Server จำะถ5กบ�นทำ�กเก1บใน Application Log แล่ะเมั��อัเก�ดขึ้�อัผู้�ดพื่ล่าดขึ้��น SQL

Server Agent จำะอั!านขึ้�อัมั5ล่จำาก Application log น��น แล่ะเป็ร�ย่บเทำ�ย่บขึ้�อัผู้�ดพื่ล่าดทำ��เราต��งให�ก�บ Alert ถ�า SQL Server Agent พื่บว!าขึ้�อัผู้�ดพื่ล่าดน��นตรงก�บทำ��เราได�ต��งไว�ในเง��อันไขึ้ก1จำะเร�ย่ก Alert น��นขึ้��นมัาทำ�างาน

การส่ร�าง Alert

เราส่ามัารถทำ�าให�เก�ด Alert ขึ้��มัาตามัเง��อันไขึ้ต!างๆ ด�งต!อัไป็น�� หมัาย่เล่ย่ขึ้�อัผู้�ดพื่ล่าดทำ��เก�ดขึ้��น ระด�บขึ้อังความัร.นแรงขึ้อังขึ้�อัผู้�ดพื่ล่าดทำ��เก�ดขึ้��น ก�าหนดฐานขึ้�อัมั5ล่ทำ��ให�เก�ดเหต.การณ์�ขึ้��น ถ�าเราต�อังการจำะ

จำ�าก�ดขึ้อับเขึ้ตขึ้อัง Alert

ก�าหนดขึ้�อัความัทำ��จำะให�แส่ดงเมั��อัเก�ด Alert น��นขึ้��น

เราส่ามัารถส่ร�าง Alert ขึ้��นมัาได� โดย่ให�เราทำ�าตามัขึ้��นตอันต!อัไป็น��

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ General

เพื่จำน��จำะเป็#นการต��งขึ้�อัผู้�ดพื่ล่าดทำ��จำะป็ล่.กให� Alert ขึ้��นมัาทำ�างาน Name ต��งช้��อัขึ้อัง Alert

Enable ถ�าไมั!ถ5ก Alert จำะไมั!ตอับส่นอังต!อัขึ้�อัผู้�ดพื่ล่าดทำ��เก�ดขึ้��น

Type เล่�อักช้น�ดเหต.การณ์�มั� 3 ช้น�ด ค�อั SQL Server event alert ขึ้�อัผู้�ดพื่ล่าด

ทำ��วไป็ทำ��เก1บใน Microsoft Windows

event log SQL Server performance condition

alert ขึ้�อัผู้�ดพื่ล่าดทำ��เก��ย่วก�บป็ระส่�ทำธิ�ภาพื่การทำ�างานขึ้อัง SQL

Server

WMI event alert ขึ้�อัผู้�ดพื่ล่าดทำ��มัาจำาก Windows Management Instrumentation (WMI)

Database name ก�าหนดช้��อัฐานขึ้�อัมั5ล่ทำ��เราส่นใจำ ถ�าก�าหนดเป็#น all database จำะส่นใจำขึ้�อัผู้�ดพื่ล่าดทำ��มัาจำากทำ.กฐานขึ้�อัมั5ล่

Error number ก�าหนดขึ้�อัผู้�ดพื่ล่าดทำ��ทำ�าให� Alert ทำ�างานเป็#นหมัาย่เล่ขึ้ขึ้�อัผู้�ดพื่ล่าด ซิ��งเราส่ามัารถศึ�กษาความัหมัาย่ขึ้อังแต!ล่ะหมัาย่เล่ขึ้ทำ��พื่บเจำอัได�จำากระบบช้!วย่เหล่�อัขึ้อัง SQL Server

Severity ก�าหนดขึ้�อัผู้�ดพื่ล่าดทำ��ทำ�าให� Alert ทำ�างาน เป็#นระด�บความัร.นแรงขึ้อังขึ้�อัผู้�ดพื่ล่าดซิ��งระด�บทำ�� 19 ขึ้��นไป็ถ�อัเป็#นระด�บความัผู้�ดพื่ล่าดขึ้��นร.นแรง แล่ะแต!ล่ะระด�บความัผู้�ดพื่ล่าด จำะครอับคล่.มัหมัาย่เล่ย่ขึ้�อัผู้�ดพื่ล่าดหล่าย่ ๆ หมัาย่เล่ขึ้

Raise alert when message contains

ป็ล่.ก Alert ด�วย่ค�ย่�เว�ร�ด โอัย่ระบ.ค�ย่�เว�ร�ดเทำ�ย่บก�บขึ้�อัความัทำ��ส่!งแจำ�งมัาจำากขึ้�อัผู้�ดพื่ล่าด ถ�าตรงก�น Alert ก1ทำ�างาน

Message text ก�าหนดค�ย่�เว�ร�ด

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Response

เพื่จำน��จำะเป็#นการก�าหนดการตอับส่นอังเมั��อั Alert ทำ�างาน Execute job ก�าหนด Job ขึ้��นมัาทำ�างานเมั��อัเก�ด Alert น�� Notify Operators ก�าหนดโอัเป็อัเรเตอัร�ทำ��ได�ร�บขึ้�อัความัแจำ�ง

เต�อันเมั��อัเก�ด Alert น��

ราย่ล่ะเอั�ย่ดเพื่��มัเต�มัขึ้อังเพื่จำ Options

เพื่จำน��จำะเป็#นการก�าหนดต�วเล่�อักเพื่��มัเต�มัอั��น ๆ ด�งน�� E- mail เพื่��มัขึ้�อัความัล่งในอั�เมัล่�ทำ��ส่!งให�โอัเป็อัเร

เตอัร� Pager เพื่��มัขึ้�อัความัล่งในเพื่จำเจำอัร�ทำ��ส่!งให�โอัเป็อัเร

เตอัร� Net send เพื่��มัขึ้�อัความัล่งในขึ้�อัความัทำ��ส่!งผู้!าน Net

Send ให�โอัเป็อัเรเตอัร� Additional notification message to send ขึ้�อัความัทำ��จำะก�าหนด

เพื่��มั Delay between responses ก�าหนดระย่ะห!างในการตอับส่นอัง

แต!ล่ะคร��ง ซิ��งในกรณ์�ทำ�� Alert เก�ดขึ้��นถ�� ๆ

มัากเก�นไป็ เราส่ามัารถก�าหนดไมั!ต�อังตอับส่นอังทำ.ก ๆ Alert ได� โดย่ก�าหนดทำ��ช้!อังน��เป็#นนาทำ� แล่ะว�นาทำ� ก1จำะทำ�าให�การตอับ

ส่นอังเว�นช้!วงไป็ถ�งเวล่าทำ��ก�าหนด จำ�งตอับส่นอังใหมั!

top related