Menghantar Pemberitahuan E-mel Kerja Automatik dalam SQL Server dengan SMTP
Apabila anda mempunyai pekerjaan sandaran automatik yang berjalan di pelayan pangkalan data anda, kadang-kadang anda lupa bahawa mereka bahkan berlari. Kemudian, anda lupa untuk memeriksa sama ada mereka berjalan dengan jayanya, dan tidak sedar sehingga pangkalan data anda crash dan anda tidak dapat mengembalikannya kerana anda tidak mempunyai sandaran semasa.
Di sinilah pemberitahuan e-mel masuk, supaya anda dapat melihat status kerja setiap pagi apabila anda menghirup kopi anda dan berpura-pura anda sedang bekerja.
SQL Server menyediakan kaedah menghantar e-mel terbina dalam, tetapi malangnya ia memerlukan anda mempunyai Outlook dan profil dipasang pada pelayan, yang tidak semestinya cara yang ideal untuk menghantar e-mel. Syukurlah terdapat satu lagi kaedah, yang melibatkan pemasangan prosedur yang tersimpan pada pelayan anda yang akan membolehkan anda menghantar e-mel melalui SMTP.
Muat turun sp_SQLNotify Stored Procedure di sini.
Anda akan mahu mengedit satu baris dalam prosedur tersimpan untuk meletakkan alamat IP pelayan SMTP anda:
EXEC @ hr = sp_OASetProperty @iMsg, 'Configuration.fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") .Value', '10 .1.1.10 '
Pasang prosedur tersimpan ke dalam pangkalan pangkalan, supaya dapat dengan mudah digunakan dari mana saja yang diperlukan.
Buka senarai Agen SQL Server \ Jobs, dan pilih sifat untuk tugas yang anda cuba buat pemberitahuan untuk:
Klik pada tab Langkah, dan anda akan melihat skrin yang kelihatan seperti ini:
Klik butang Baru untuk mencipta langkah kerja baru. Kami akan menggunakan langkah ini untuk menghantar pemberitahuan e-mel pada kejayaan.
Nama Langkah: Kejayaan Pemberitahuan E-mel
Masukkan SQL ini ke dalam tetingkap Perintah seperti yang dilihat di bawah. Anda ingin memperibadikan alamat e-mel dan subjek mesej agar sesuai dengan persekitaran anda:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Job Backup Success', 'Job Backup selesai dengan jayanya'
Klik OK dan kemudian klik butang Baru sekali lagi untuk membuat satu lagi langkah. Ini akan menjadi langkah pemberitahuan kegagalan.
Nama Langkah: Kegagalan Pemberitahuan E-mel
SQL:
exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Kegagalan Kerja Backup,' Job Backup gagal '
Kini ideanya adalah untuk membuat item mengikut alur kerja tertentu. Mula-mula klik Edit pada langkah 1, dan tentukan sifat seperti yang ditunjukkan di sini:
Apa yang kita katakan ialah kejayaan, pergi ke langkah kejayaan, dan kegagalan, pergi ke langkah kegagalan. Perkara yang ringkas.
Sekarang edit langkah kedua, yang dilabel "Pemberitahuan Pemberitahuan E-mel", dan tetapkan sifat seperti yang dilihat di sini:
Kami mengatakan bahawa jika kerja pemberitahuan berhasil, maka hanya berhenti kerja tanpa langkah 3. Jika kita tidak menentukan ini, maka kita akan mendapat dua e-mel, satu dengan kejayaan dan satu dengan kegagalan.
Sekarang edit langkah ketiga, yang dilabel "Kegagalan pemberitahuan e-mel", dan tetapkan sifat seperti yang dilihat di sini:
Sekarang langkah kerja anda sepatutnya seperti ini:
Anda kini harus mempunyai pemberitahuan e-mel dalam peti masuk anda untuk kejayaan atau kegagalan.
Nota: Prosedur yang disimpan dalam artikel ini dijumpai di sini, walaupun itu mungkin bukan sumber asal.
Muat turun sp_SQLNotify Stored Procedure di sini.