การส่งอีเมล์แจ้งเตือนงานอัตโนมัติใน SQL Server ด้วย SMTP
เมื่อคุณมีงานสำรองข้อมูลอัตโนมัติที่ทำงานบนเซิร์ฟเวอร์ฐานข้อมูลของคุณบางครั้งคุณลืมว่าพวกเขากำลังทำงานอยู่ จากนั้นคุณลืมตรวจสอบเพื่อดูว่าพวกเขาทำงานได้สำเร็จและไม่ทราบจนกว่าฐานข้อมูลของคุณล้มเหลวและคุณไม่สามารถเรียกคืนได้เนื่องจากคุณไม่มีการสำรองข้อมูลปัจจุบัน.
นั่นคือสิ่งที่การแจ้งเตือนทางอีเมลเข้ามาเพื่อให้คุณสามารถดูสถานะของงานทุกเช้าเมื่อคุณจิบกาแฟและแกล้งทำเป็นว่าคุณกำลังทำงานอยู่.
SQL Server มีวิธีการส่งอีเมลในตัว แต่น่าเสียดายที่คุณต้องมี Outlook และโปรไฟล์ติดตั้งอยู่บนเซิร์ฟเวอร์ซึ่งไม่จำเป็นต้องเป็นวิธีที่ดีที่สุดในการส่งอีเมล โชคดีที่มีวิธีอื่นที่เกี่ยวข้องกับการติดตั้งกระบวนการที่เก็บไว้บนเซิร์ฟเวอร์ของคุณที่จะช่วยให้คุณส่งอีเมลผ่านทาง SMTP.
ดาวน์โหลด sp_SQLNotify Stored Procedure ที่นี่.
คุณจะต้องแก้ไขหนึ่งบรรทัดในขั้นตอนการจัดเก็บเพื่อใส่ที่อยู่ IP ของเซิร์ฟเวอร์ SMTP ของคุณ:
EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields (“ http://schemas.microsoft.com/cdo/configuration/smtpserver”) .Value', '10 .1.1.10 '
ติดตั้งโพรซีเดอร์ที่เก็บไว้ในฐานข้อมูลหลักเพื่อให้สามารถใช้งานได้ง่ายจากทุกที่ที่ต้องการ.
เปิดรายการ SQL Server Agent \ Jobs และเลือกคุณสมบัติสำหรับงานที่คุณพยายามสร้างการแจ้งเตือนสำหรับ:
คลิกที่แท็บขั้นตอนและคุณควรเห็นหน้าจอที่มีลักษณะดังนี้:
คลิกปุ่มใหม่เพื่อสร้างขั้นตอนงานใหม่ เราจะใช้ขั้นตอนนี้เพื่อส่งการแจ้งเตือนทางอีเมลเกี่ยวกับความสำเร็จ.
ชื่อขั้นตอน: การแจ้งเตือนทางอีเมลสำเร็จ
ป้อน SQL นี้ลงในหน้าต่างคำสั่งดังที่แสดงด้านล่าง คุณจะต้องปรับแต่งที่อยู่อีเมลและเรื่องข้อความให้ตรงกับสภาพแวดล้อมของคุณ:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'งานสำรองข้อมูลสำเร็จ', 'งานสำรองข้อมูลสำเร็จแล้ว'
คลิกตกลงจากนั้นคลิกปุ่มใหม่อีกครั้งเพื่อสร้างขั้นตอนอื่น นี่จะเป็นขั้นตอนการแจ้งเตือนความล้มเหลว.
ชื่อขั้นตอน: การแจ้งเตือนทางอีเมลล้มเหลว
SQL:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'งานสำรองข้อมูลล้มเหลว,' งานสำรองล้มเหลว '
ตอนนี้ความคิดคือการทำให้ไอเท็มเป็นไปตามเวิร์กโฟลว์เฉพาะ คลิกแรกแก้ไขในขั้นตอนที่ 1 และตั้งค่าคุณสมบัติตามที่แสดงที่นี่:
สิ่งที่เรากำลังพูดคือเมื่อประสบความสำเร็จไปที่ขั้นตอนความสำเร็จและเมื่อล้มเหลวไปที่ขั้นตอนล้มเหลว เรื่องง่าย ๆ.
ตอนนี้แก้ไขขั้นตอนที่สองซึ่งเป็นหนึ่งใน“ ความสำเร็จในการแจ้งเตือนทางอีเมล” และตั้งค่าคุณสมบัติตามที่เห็นที่นี่:
เรากำลังบอกว่าถ้างานการแจ้งเตือนสำเร็จแล้วเพียงแค่ออกจากงานโดยไม่ต้องดำเนินการขั้นตอนที่ 3 หากเราไม่ระบุสิ่งนี้เราจะได้รับอีเมลสองฉบับต่อหนึ่งสำเร็จและอีกอันล้มเหลว.
ตอนนี้แก้ไขขั้นตอนที่สามซึ่งเป็นหนึ่งใน“ อีเมลแจ้งเตือนล้มเหลว” และตั้งค่าคุณสมบัติตามที่เห็นที่นี่:
ตอนนี้ขั้นตอนงานของคุณควรมีลักษณะเช่นนี้:
ตอนนี้คุณควรมีการแจ้งเตือนทางอีเมลในกล่องจดหมายของคุณไม่ว่าจะสำเร็จหรือล้มเหลว.
หมายเหตุ: กระบวนงานที่เก็บไว้ที่ใช้ในบทความนี้พบได้ที่นี่แม้ว่าอาจไม่ได้เป็นแหล่งต้นฉบับ.
ดาวน์โหลด sp_SQLNotify Stored Procedure ที่นี่.