MSSQL Server’da Bloklama Olaylarından Anında Haberdar Olun: Otomatik E-Posta Bildirimi Nasıl Yapılır?

Share

MSSQL Server’da bloklama gerçekleştiğinde size otomatik olarak e-posta gönderilebilir. Bunun için SQL Server’ın geleneksel SQL Agent görevlerinden birini veya yeni SQL Server Agent alert’lerinden birini kullanabilirsiniz.

SQL Agent görevlerinden biri, bloklama olaylarını dinlemek ve bir işlem belirli bir zaman dilimi boyunca bekletildiğinde bir e-posta göndermek gibi işlemleri gerçekleştirmek için kullanılabilir. SQL Server Agent alert’leri ise belirli olaylar için bir uyarı gönderilmesini sağlar. Bloklama durumlarına özgü bir alert oluşturarak, bir bloklama olayı gerçekleştiğinde SQL Server’dan otomatik olarak bir e-posta alabilirsiniz.

Bunun yanı sıra, SQL Server’daki Extended Events özelliğini kullanarak da bloklama olaylarını dinleyebilir ve e-posta uyarıları alabilirsiniz. Extended Events, SQL Server’da meydana gelen olayların izlenmesini ve yönetilmesini sağlar. Bloklama olaylarını yakalamak için özel bir Extended Events oturumu oluşturabilir ve belirli bir bloklama eşiği aşıldığında bir e-posta göndermek için bir işlem ekleyebilirsiniz.

Bu yöntemlerden herhangi birini kullanarak, MSSQL Server’daki bloklama olaylarını izleyebilir ve e-posta uyarıları alabilirsiniz.

 

SQL Server Agent Alert özelliği ile bir bloklama olayı gerçekleştiğinde bir e-posta göndermek için aşağıdaki adımları takip edebilirsiniz:

  1. SQL Server Management Studio (SSMS) programını açın ve SQL Server örneğinize bağlanın.
  2. SQL Server Agent’ı genişletin ve Alerts’a sağ tıklayın. Ardından New Alert’i seçin.
  3. New Alert penceresinde, General sekmesine geçin ve Name alanına bir ad girin. Örneğin, “Block Alert”.
  4. Type bölümünde “SQL Server performance condition alert” seçeneğini seçin. Ardından Edit düğmesine tıklayın.
  5. Performance Condition bölümünde, Alert seviyesi olarak “Medium” seçin ve ölçüt olarak “Locks” seçeneğini belirleyin. Ardından Configure düğmesine tıklayın.
  6. Configure düğmesine tıkladığınızda, “Lock:Timeout (timeout > 0)” penceresi açılacaktır. Bu pencerede “Timeout” değerini “0” olarak bırakın (timeout olmadığı anlamına gelir). Ardından OK düğmesine tıklayın.
  7. General sekmesindeki Response bölümünde, “Notify operators” seçeneğini işaretleyin ve sonra Configure düğmesine tıklayın.
  8. Configure düğmesine tıkladığınızda, “Notification” penceresi açılacaktır. Burada, e-posta göndermek istediğiniz operatörü seçin ve OK düğmesine tıklayın.
  9. Options sekmesine geçin ve “Database Mail profile” alanına bir mail profili ekleyin. Bu mail profilinin var olduğundan emin olun. Eğer yoksa, SQL Server’da bir mail profili oluşturun.
  10. Tamam düğmesine tıklayarak Alert’ı kaydedin.

Artık, SQL Server’da bir bloklama olayı gerçekleştiğinde, belirtilen operatöre bir e-posta gönderilecektir. Bu yöntemi kullanarak bloklama olaylarını izleyebilir ve hızlı bir şekilde yanıt verebilirsiniz.

SQL Server’da Extended Events ile bir bloklama olayı gerçekleştiğinde bir uyarı yakalamak için aşağıdaki adımları takip edebilirsiniz:

  1. SQL Server Management Studio (SSMS) programını açın ve SQL Server örneğinize bağlanın.
  2. Object Explorer’da, SQL Server örneğinizi genişletin ve “Management” düğmesine tıklayın. Ardından “Extended Events” öğesini seçin.
  3. “Sessions” klasörüne sağ tıklayın ve “New Session Wizard” seçeneğini seçin.
  4. “New Session Wizard” penceresinde, “General” sekmesine geçin ve bir oturum adı girin. Örneğin “Block Session”.
  5. “Events” sekmesinde, “Add” düğmesine tıklayın ve ardından “lock_deadlock” etkinliğini bulup ekleyin. Bu, bloklama olayını yakalamak için gereklidir.
  6. “Data Storage” sekmesinde, “Event Fields” bölümünde “object_name”, “transaction_id” ve “database_name” gibi ilgili verileri ekleyin.
  7. “Filtering” sekmesinde, “Enable Filters” seçeneğini işaretleyin ve ardından “Add” düğmesine tıklayın. “lock_deadlock” etkinliğini seçin ve “database_name” alanını “equals” ve “YourDatabaseName” olarak ayarlayın.
  8. “Advanced” sekmesinde, “Start Options” bölümünde “Start session immediately” seçeneğini işaretleyin.
  9. “Create” düğmesine tıklayarak oturumu oluşturun.

Artık oturumunuz oluşturuldu. Bir bloklama olayı gerçekleştiğinde, SQL Server bu oturum aracılığıyla Extended Events ile bir etkinlik oluşturacaktır. Bunları görmek için aşağıdaki adımları izleyebilirsiniz:

  1. “Management” klasörü altındaki “Extended Events” öğesine tıklayın.
  2. “Sessions” klasörüne tıklayın ve “Block Session” oturumunu bulun.
  3. Oturumun altındaki “Live Data” öğesine tıklayın.
  4. Bloklama olayları, “lock_deadlock” etkinliği altında görünecektir. İlgili sütunlarda eklenen verileri görüntüleyebilirsiniz.

Extended Events kullanarak bloklama olaylarını yakalayabilir ve ilgili verileri inceleyebilirsiniz. Bu, bloklama sorunları ile mücadele etmenin ve çözmenin etkili bir yoludur.

(Visited 51 times, 1 visits today)