SQL Server Danışmanlık: ERP ay sonunda yavaşlıyorsa
SQL Server danışmanlık işini biz veritabanı bakımı olarak değil, ERP'nin ay sonunda ayakta kalması olarak görüyoruz. Yirmi beş yıldır Dynamics NAV, Business Central ve SQL Server üstünde çalışan sistemlerle uğraşıyoruz. Küçük bir ekibiz; lisans satmıyoruz, sizin mevcut sunucunuzu düzgün çalışır hâle getiriyoruz. Sorunu genelde donanımda değil, bakımı yapılmamış indekslerde, denenmemiş yedeklerde ve canlı veritabanından çekilen raporlarda buluyoruz.
Tanıdık geldi mi?
- Ay sonu kapanışta sistem sürünüyor; tek bir faturayı kaydetmek dakikalar alıyor, herkes akşamı bekliyor.
- Biri rapor çekmeye başlayınca diğerlerinin ekranı kilitleniyor; kimse kimin ne çektiğini bilmiyor.
- Yedek alınıyor deniyor ama o yedekten bugüne kadar bir kez bile geri dönmedik; işe yarayıp yaramadığını bilmiyoruz.
- Sunucuya kimin, hangi yetkiyle bağlandığı belli değil; birinin bir şeyi ne zaman değiştirdiğini geriye dönüp göremiyoruz.
İşin iç yüzü
Yedeğiniz var, geri dönüşünüz var mı?
Yedek dosyasının diskte durması, o yedekten geri dönülebildiğini göstermez; bozuk ya da eksik bir yedek genelde felaket günü fark edilir. Biz yedeği ayrı bir sunucuya gerçekten geri yükleyip açıyoruz, veritabanını bütünlük kontrolünden geçiriyoruz ve tatbikatın kaç saat sürdüğünü yazıyoruz. Aynı çalışmada iki soruyu netleştiriyoruz: kaç saatlik veri kaybını göze alabilirsiniz ve sistemin kaç saatte ayağa kalkması gerekir. Mevcut plan bu iki cevabı karşılamıyorsa yedek planı değişir, felaket senaryosu buna göre yazılır.
Ay sonu yavaşlaması: indeks ve istatistik bakımı
ERP veritabanı yıl boyunca büyür; hareket tabloları şişer, indeksler parçalanır, sorgu planlarını besleyen istatistikler eskir. Yük arttığı anda aynı sorgu saniyeler yerine dakikalar sürmeye başlar, çünkü SQL Server eski istatistiklere bakıp yanlış plan seçmiştir; donanım aynı donanımdır. İndeks yeniden düzenleme ve istatistik güncellemeyi planlı işlere bağlıyor, en pahalı çalışan sorguların listesini bırakıyoruz ki gelecek ay kendi ekibiniz aynı yere bakabilsin.
Kilitlenme, bloklama ve raporun canlıdan ayrılması
Rapor çekilince herkesin durmasının arkasında genelde bloklama vardır: uzun süren bir okuma, kayıt yazmaya çalışan kullanıcıları sırada bekletir. Önce kimin kimi beklettiğini kayıt altına alıyor, tabloyu baştan sona tarayan sorguları ve gece boyunca açık kalan işlemleri ayıklıyoruz. Kalıcı çözüm çoğu zaman raporlama yükünü canlıdan ayırmaktır: Power BI ve Excel dosyalarının doğrudan canlı veritabanına değil, ayrı bir rapor kopyasına ya da hazırlanmış görünümlere bağlanması.
Disk, dosya büyümesi ve işlem günlüğü
Veri dosyasının ve işlem günlüğünün nasıl büyüyeceği çoğu kurulumda hiç ayarlanmamıştır; küçük artışlarla sürekli büyüyen dosya hem parçalanır hem her büyüme anında sistemi bekletir. Kurtarma modeli ile yedek düzeni birbirini tutmuyorsa günlük dosyası sessizce diski doldurur ve bir gün veritabanı yazmayı tamamen durdurur. Ölçülen aylık artışa bakıp önümüzdeki bir-iki yılın disk planını çıkarıyoruz; tahminle değil, sizin kendi büyüme hızınızla.
Sürüm, bağlantı güvenliği, yetki ve iz kaydı
Eski bir SQL Server sürümü yalnızca destek sorunu değildir; güncellenmiş istemciler eski şifreleme ayarlarıyla konuşamadığı için bağlantılar sebepsiz düşer, sorun aylarca ağ tarafında aranır. Sürüm ve yama seviyesini, bağlantı şifrelemesini, sa hesabının kimde olduğunu ve hangi kullanıcının canlı veriye yazma yetkisi bulunduğunu tek tabloya döküyoruz. Kimin ne zaman ne yaptığı görülebilsin diye oturum açma ve kritik değişiklik iz kaydını açıyoruz; bu, denetimlerde sorulan ilk şeylerden biridir.
Nasıl çalışıyoruz
Önce yalnızca okuma
İlk aşamada üretim veritabanına hiçbir şey yazmıyoruz. Salt okunur bir kullanıcıyla bağlanıp mevcut durumu topluyoruz: yedek geçmişi, indeks ve istatistik durumu, bekleme türleri, en pahalı sorgular, disk ve büyüme eğrisi, yetki listesi.
Tespit raporu ve öncelik sırası
Bulguları teknik olmayan bir dille tek dosyada topluyoruz; her maddede ne olduğu, neye yol açtığı ve düzeltmenin riski yazar. Sırayı birlikte belirliyoruz: önce veri kaybı riski, sonra günlük işi durduran yavaşlıklar, en sonda iyileştirmeler.
Her uygulama yedek ve yazılı onayla
Onayınız olmadan tek bir değişiklik yapmıyoruz. Her adımdan önce yedek alınır, yapılacak işlem yazılı olarak onaylanır ve geri alma yolu baştan belirlenir; risk taşıyan işler mesai içinde değil, sizin belirlediğiniz bakım penceresinde çalışır.
Canlıda toplu müdahale yok
Servisleri topluca yeniden başlatmak veya tek seferde onlarca ayarı değiştirmek gibi hamlelerden kaçınıyoruz. Değişiklikler tek tek ve ölçülerek ilerler; bir adım beklenen etkiyi vermezse geri alınır ve teşhis yeniden gözden geçirilir.
Ölçüm, belge ve devir
Öncesi ile sonrası aynı ölçütlerle karşılaştırılır, sonuç rakamla gösterilir. Bakım işleri sizin sunucunuzda planlı çalışır hâlde bırakılır; kısa bir belge ve 12 maddelik sağlık kontrol listesiyle birlikte, kendi BT ekibinizin devralabileceği şekilde teslim edilir.
Kimler için
- ERP'si Dynamics NAV, Business Central ya da SQL Server üstünde çalışan başka bir sistem olan; ay sonu ve kapanış dönemlerinde belirgin biçimde yavaşlayan üretim ve ticaret firmaları
- Ayrı bir veritabanı yöneticisi bulunmayan, BT'si bir-iki kişiden oluşan şirketler
- Yedeğinin gerçekten geri dönüp dönmeyeceğini bilmeyen; denetim, sigorta ya da Turquality gibi bir süreçte bunu kanıtlaması gereken firmalar
- Power BI ve Excel raporları canlı veritabanını yorduğu için rapor çekme saatlerini kısıtlamak zorunda kalan mali işler ekipleri
Kapsam dışı — yapmadıklarımız
Ne yaptığımız kadar ne yapmadığımız da önemli. Bu sayfadaki iş için aşağıdakileri üstlenmiyoruz:
- Lisans satmıyoruz. Microsoft bayisi ya da donanım tedarikçisi değiliz; sunucu, sanallaştırma ve ağ tarafı mevcut tedarikçinizde kalır.
- Onayınız olmadan üretim veritabanına yazmıyoruz. Güncelleme, silme ve yapı değişikliği yazılı onay ve yedek olmadan çalışmaz; acil denen işlerde de bu değişmez.
- Sistem yöneticinizin yerine geçmiyoruz. 7/24 çağrı merkezi ya da genel BT destek hattı değiliz; tanımlı bir işi yapar, belgeler ve devrederiz.
- Veritabanınızın kopyasını kendi ortamımıza almıyoruz. Çalışma sizin sunucunuzda, sizin kayıt altına aldığınız erişimle yürür.
- Ölçmeden hız sözü vermiyoruz. Kaç kat hızlanacağını, hatta işin kaç gün süreceğini tespit raporundan önce söylemiyoruz.
Sık sorulanlar
Mevcut sistem yöneticimizle çalışır mısınız?
Evet, tercihimiz bu yönde. Sunucuyu günlük hayatta o kişi tanır; biz eksik kalan veritabanı tarafını tamamlarız. Yaptığımız her değişikliği onunla paylaşır, bakım işlerini onun devralabileceği şekilde belgeleriz.
Erişimi nasıl veriyoruz?
Tespit aşaması için salt okunur bir veritabanı kullanıcısı yeterlidir; uzak bağlantı sizin standart yönteminizle, sizin kontrolünüzdeki bir oturum üzerinden açılır. Uygulama aşamasında gereken ek yetki yalnızca o iş için ve süreli verilir. İş bittiğinde erişimin kapatılmasını biz hatırlatırız.
Kesinti gerekir mi?
Tespit çalışması sistem çalışırken yapılır, kesinti gerektirmez. Uygulama tarafında bazı işler (belirli indeks işlemleri, sürüm veya yama yükseltmesi, bazı sunucu ayarları) yeniden başlatma ya da düşük yük ister. Bunlar önceden listelenir ve sizin belirlediğiniz bakım penceresine alınır; habersiz kesinti olmaz.
Tespit raporu ne kadar sürer?
Erişim açıldıktan sonra veri toplamak genellikle bir gündür, toplananı yorumlayıp raporlamak birkaç gün sürer. Süre sunucu sayısına, veritabanı büyüklüğüne ve kaç şirketin aynı sistemde olduğuna göre değişir. Kesin bir gün sayısını erişim açılmadan söylemeyi doğru bulmuyoruz.
Verimiz dışarı çıkar mı?
Hayır. Çalışma sizin sunucunuz üzerinde yapılır; rapora giren şey ölçüm ve yapı bilgisidir: sorgu süreleri, indeks durumu, dosya büyüklükleri, yetki listesi. Cari, fiyat, maliyet gibi iş verileri raporun konusu değildir; bir örnek kayıt gerekirse ayrıca sorar, yazılı onayla ilerleriz.
Yalnızca SQL Server tarafına mı bakıyorsunuz, ERP'ye de giriyor musunuz?
İkisine de bakıyoruz. Yavaşlığın kaynağı çoğu zaman veritabanı değil, ERP tarafındaki bir rapor, bir özel geliştirme ya da yanlış kurgulanmış bir sorgudur. Dynamics NAV ve Business Central tarafında saha tecrübemiz olduğu için sorunun hangi katmanda olduğunu ayırt edebiliyor, gerekiyorsa raporun kendisini düzeltiyoruz.
İlgili sayfalar
Önce bir konuşalım
Keşif görüşmesi ücretsizdir ve bir şey satın almanızı gerektirmez. Mevcut durumunuzu dinler, yapılabilecekleri açıkça söyleriz.
Görüşme talebi bırakın →