192.168.8.17 Yapılan işler: - Mail atma işlemi için DBAPlatform adında user grup açılıp server tarafı konfigürasyon da kullanıldı. - SQL warningleri gözlemlemek üzere mail konfigürasyonu yapıldı. - DBA control database oluşturuldu CHECKDB. - Günlük ve haftalık için maintanence oluşturuldu. a) İndex optimizasyonları, istatistikler, backuplamalar ayarlandı. Günde bir kere full file backup alınacak şekilde düzenlendi. b) Database control jobları oluşturuldu. Oluşturulan bu joblerın sonucu, CHECKDB den logları okunmak üzere loglanmaya başlandı. - Databaseler üzerinde DBAfraglist adında tablo oluşturuldu. Bu tablolar fragment olmuş indexleri toplayıp mail atmak için ayarlandı. - HGS_Temp ve WORK dbleri 10240 MB olarak sınırlandırıldı. Verilen kotaya ulaşıldığında mail ile uyarı atılmak üzere job yazıldı. - DTS user 192.168.8.17 ve18 tarafında oluşturulup kullanıcılara bildirildi. - Optimizasyon için çalışmalara başlandı. Öneriler: - 192.168.8.17 önemli server kategorisinde olduğu için donanımsal olarak eksik kalmıştır. Sistemin ileriye yönelik sağlamlaştırılması için donanımsal yapıda değişklik yapmak gerekmektedir. a) Mevcuttaki disk yapımızı hem local SSD hem de storage disk yapısı ile beraber çalışacak şekilde ayarlamalıyız. (Disk yapısı mümkünse raid 5 hem read hem de yapacak şekilde ayarlanmalı.) b) Disk yapısı, system database file’ları local SSD harddiskler , user datafile’ları storage üzerinde, log filleri storage üzerinde vs…. ayrı ayrı fiziksel disklerde olacak şekilde ayarlanmalıdır. Böylece maximum performance için uygun donanım yapsısını DB için sağlamış oluruz. c) Cpu sayısını 16 fiziksel, 32 hyper olacak şekilde ayarlanmalı. d) Memoryiçin upgrade, system yoğunluğunun artacağını , SQL server’ında tüm process’leri memory de yaptığını düşünürsek mümkünse 120 GB çıkarmak uygun olacaktır. (Çıkarabileceğimiz maximum sevyede olabilir.) - Transaction yoğun olan sistemde veri kaybı olmaması için sistem cluster server ya da mirroring sistemine çevrilmelidir. - Anlık raporlamalar için replikasyon eklenmeli.(Anlık raporlamalar aslında sistemlerde olmaması gereken bir durumdur.( Normalde bir gün öncesi raporlar üzerinden çekilen raporlar tam bilgiyi sağlamaktadır.) Projelerdeki database mimarileri analist,DBA ve yazılım ekibinin beraber ortak çalışmasını gerekmektedir. Böylece bir çok sorunun önüne daha sorun oluşmadan geçilmiş olunur. Yapı oluşturulduktan sonra DBA kontrolüne verilen sistemlerde sorunu düzeltmek, çok daha zor ve tüm ekip için külfetlidir. - Uygulama geliştirme ortamının development-test-prod olarak ayrılması gerekmektedir. - Eklenecek sp ve sorgular projelere DBA kontrolünden sonra eklenmelidir. Buradaki maksat sorguların prod ortamına çıkmadan önce sorgu yapısı ve mantığını maximum seviyede optimize ve tune etmektir. Böylece prod ortamında lock ve CPU sıkışmalarının önüne geçilecektir. - Uygulama ile SQL arasında connection sağlayacak user’lar uygulama modullerine bağlı olarak açılmalıdır. Ör: Eğer uyugulamanın bir modulü fatura için yazılmışsa, o uygulamanın DB ye bağlantısı servis connection stringi içerisinde fatura adında bir user açılarak sağlanmalıdır. - Açılan bu user’ların hakları uygulamanın gereksinimine göre verilmelidir (rapor içinse sadece read,ya da read write..). - Stored procedure’lar belirli execute hakklarına sahip olmalıdır. - Tablo, spler,fonksiyon vs.. isimleri de uygulama modullerine bağlı olarak açılmalıdır, bu yöntemi yapmak hem development hem de istenilen objectin bulunmasını kolaylaştıracaktır. - Yazılımcılar mümkün olduğunca 100 char dan büyük ya da description, açıklama gibi text,long text olan alanların, sorgunun koşul bölümünde (where,join,in,exists..) kullanmaktan kaçınmalıdırlar. Sebebi bu tür alanlara index atamak hem yer (index size, bazen index boyutu tablo boyuntundan bu yüzden büyük olmaktadır), hem de performans bakımından sıkıntı oluşturucaktır. Sorgu sonuçlarının daha uzun sürede gelmesini sağlayacaktır. Tüm yazılan öneriler aslında Database dünyasının ideal ortamında olması gerekenlerdir. Bu noktaya nekadar yaklaşırsak, daha az sorunlu, daha hızlı ve daha güvenli sistem çalışmasını şirketimiz için sağlamış oluruz.