Makalemizde SQL Server 2016 üzerinde mail bildirimini ele alıyor olacağız. SQL üzerinde bildiğiniz gibi zamanlanmış yedekleme, sıkıştırma, indexleme v.b. birçok görev çalıştırıyoruz. Bu işlemlerin sonunda veya farklı özel işlevlerde mail ile bilgi almak isteyebiliriz. Bu durumda SQL Server mail özelliğini yapılandırmamız gerekli.
Biz makalemizde mail özelliğini yapılandırıp, bir yedekleme görevine mail attırma senaryosunu işliyor olacağız. Sözü uzatmadan adımlarımıza başlayalım.
Öncelikle mail gönderimi yapabilmek için bir smtp yapılandırması yapmamız gerekmekte. Bu nedenle SQL Management konsolunda Management menü ağacında Database Mail üzerinde sağ tıklatıp açılır menüden Configure Database Mail kısmına tıklayalım.
Karşımıza gelen ekranda bu seçimimizle ilgili olarak nelerin yapılacağı bilgisi bize verilmektedir. Bu ekranımızda Next ile sonraki adıma geçelim.
Bizim bir tanımlamamız olmadığı, bunu yönetmeyeceğimiz, görmeyeceğimiz ve yeni bir SMTP tanımlaması yapacağımız için, Set up Database Mail by performing the following tasks: seçimi ile bir sonraki adıma Next ile ilerlememiz gerekmekte.
Bir profil tanımlaması yapacağımız için buna bir isim verelim ve SMTP hesap bilgilerini eklemek için Add… butonuna tıklayalım.
Bu ekranda smtp ve port tanımlaması yapmamız gerekmekte. Ben kendi lokalimdeki smtp bilgilerimi tanımlıyorum. Burada gmail, yandex, ofis365 gibi smtp desteği olan her maili tanımlama imkanına sahipsiniz. Gerekli bilgileri tanımladıktan sonra OK ile ekrandan çıkalım.
Tanımlamamız eklendiğine göre Next ile sonraki adıma geçebiliriz.
Birden fazla profil tanımlama yapma imkânımız var. Bu nedenle birden çok tanımlama olduğunda bir default profil seçmemiz gerekmekte. Bizim tek profilimiz var ancak yine de bu profili default kısmından YES ile onaylamamız gerekmekte. Bu adımdan sonra Next ile sonraki adıma geçebiliriz.
Bu ekranımızda yollanacak olan mail parametrelerini belirleme imkanına sahibiz. Özel bir ayar kullanmayacağımız için bu adımı Next ile geçiyoruz.
Tanımlamalarımıza ait özet bir bilgi ekranı geldi. İşlemleri tamamlamak için Finish butonuna tıklayalım.
Gerekli yapılandırma tamamlandı. Close ile bu aşamayı tamamlamış olalım.
Buraya kadar olan yapılandırmamızı test ekmek adına Database Mail üzerinde sağ tıklayarak açılan menüden Send Test E-Mail… kısmına tıklayalım.
Alıcı adresini ve gerekli alanları doldurduktan sonra Send Test E-Mail butonuna tıklayalım.
1 mailin yollandığını başarılı ise kontrolden sonra OK butonuna tıklamamız, başarısız ise Troubleshoot… butonu ile sonunun çözüm yollarına bakmamız istenmektedir. Bizim mailimiz sorunsuz olarak geldiği için OK butonuna tıklayalım.
Ben test için Gmail adresimi girmiştim. Mailin sorunsuz olarak geldiğini görebiliyoruz.
Bu aşamadan sonra örnek bir senaryo yapalım. Database üzerinde yedekleme ve sonrasında mail attırma işlemi yapalım. Menü ağacından Maintenance Plans üzerinde sağ tıklayarak, Maintenance Plan Wizard… açılır menüsüne tıklayalım.
Açılan ekranda yine bu sihirbaz ile neler yapabileceğimiz konusunda bilgi paylaşılmakta. Biz Next ile sonraki adıma geçelim.
Oluşturulacak olan yedekleme planına isim verelim. Change butonuna tıklayarak yedekleme planı için zaman planlaması yapalım.
Her gün öğleden sonra saat 3’te yedekleme yapması gerektiği seçimini yapıp OK ile tamamlıyorum.
Zamanlama işlemimiz tamamlandı. Next ile sonraki adıma geçebiliriz.
Şimdi belirlenen zamanda yapılacak olan işi seçelim. Biz yedekleme planı yapacağımız için Back Up Database (Full) seçimini yapıp Next ile sonraki adıma ilerliyoruz.
Yapmış olduğumuz seçim bize yansıtılmakta. Next ile sonraki adıma ecelim.
Bu ekranda General tabında yedeklenecek Database seçimi yapmamız gerekmekte. Database seçiminden sonra OK ile seçimi bitirelim.
Destination tabında alınacak olan yedek konumunu belirtelim.
Options tabında ise alınacak olan yedeğe ait özellikleri belirleyelim. Ben Sıkıştırılmış yedek alacağımız için Compress Backup seçimini yapıyorum. Yedekleme konusunda aslında her özellik her tab uzun uzun anlatılacak konuları içermekte. Biz mail özelliğini ele aldığımız için yüzeysel olarak geçiyoruz. Next ile sonraki adıma geçelim.
Evet şimdi mail özelliğimizi aktif edeceğiz ancak bu seçimi yapamıyoruz. Alt kısımda ki ekranda bununla ilgili olarak operatör tanımlaması yapmamız gerektiği belirtilmekte. Bu nedenle bu ekrandan ayrılıp Operatör tanımlamasına geçelim.
Menü ağacından SQL Server Agent altında yer alan başlıklardan, Operatos kısmına sağ tıklayarak açılan ekrandan New Operator… kısmına tıklayalım.
Açılan ekranda operatör için bir isim verelim ve kullanılacak olan mailleri girelim. Birden fazla mail kullanılacak ise arada virgül kullanılabilir. Ben tek adres tanımlaması yapıyorum ve operatörün sürekli aktif olması için zaman seçimi yapmıyorum. Bu ekrandaki işlemleri tamamlamak için OK butonumuza tıklayalım.
Bu işlemden sonra Yedekleme Planında Mail raporu için oluşturulan Operatör seçimi yapılabilmekte. Next ile sonraki adıma geçebiliriz.
Yedekleme planı oluşturuldu. Close ile çıkış yapabiliriz.
Oluşturulan yedeğin zamanı gelmeden test sağlamak için Jobs altında oluşan yedeğe sağ tıklayarak Start Job at Step… kısmına tıklayalım.
Yedekleme işlemimiz başarı ile tamamlandı.
İşlem sonrası mailimi kontrol ettiğimde yedeklemenin yapıldığına dair mail bana ulaştı.
Buraya kadar olan kısımda makalemiz amacına ulaştı. Bu gibi görevlerde ve Sql Server üzerinden mail atılması gereken durumlarda bu yapılandırmamızı kullanabiliriz. Şimdi bu mail profil ayarını silmek istediğimizde, bunu nasıl sileceğimize bakalım. Yine konsoldaki menü ağacı üzerinde SQL Server Logs başlığı altında yer alan Database Mail üzerinde sağ tıklayarak açılan menüden Configure Database Mail açılır menüsüne tıklayalım.
Sihirbazı Next ile geçelim.
Açılan ekranda artık yönetecek bir profilimiz olduğu için Manage Database Mail Accounts and prodiles seçimini yaparak Next ile sonraki adıma ilerleyelim.
Değişiklik, görüntüleme ve silme gibi işlemleri yapabilmek için, View, change, or delete an existing profile. You can also manage accounts associated with the profile seçimini yaparak Next ile sonraki adıma geçelim.
Delete ve Remove ile gerekli öğeleri silebiliriz.
Öğelerimiz silindiğine göre Next ile sonraki adıma geçebiliriz.
Finish ile işlemimizi tamamlayalım.
Genel olarak SQL üzerinde mail yapılandırması, bir görevin maile bağlanması, mail yapılandırmasının silinmesi konularını ele aldık. Umarım yararlı olur. Bir başka makalede görüşmek dileğiyle.