Sayfalar

8 Eylül 2014 Pazartesi

SQL Server Performans Sorunu-Transaction Deadlock

İşletmemizin farklı yerdeki şubesinde üretim sonu kaydı yaptığımız özel yazılım barkod-üretim takip programında sadece belirli stok kodlarında barkod etiketi çıkartıp üretim sonu kaydını yaptığımız esnada uzun süre bekleme olup çoğu zaman transaction deadlock tarzı hatalar almaktaydık.İlk esnada gecikmenin network ile alakalı olabileceğini düşündüğüm için temel network izleme komutu olan ping komutu ile SQL sunucunun çalıştığı sunucu'ya ping komutu gönderdim herhangi bir paket kaybı yoktu ve PC'den giden paketler 1 ms'den düşük olacak şekilde hedefe ulaşmaktaydı.Buraya kadar sıkıntı yoktu.Ardından yazılım desteği aldığımız firmadaki arkadaş ile SQL Sunucu'da SQL Profiler çalıştırıp column filter'dan karışıklılık olmaması için üretim takip programının ismini yazarak izleme yaptık ve darboğaza-beklemeye girdiği yerdeki T-SQL söz dizimini yakaladık.





Söz diziminin çalıştığı view'i yakaladıktan sonra üretim sonu kaydı yaptığımız stok kodunda fazla hareket olduğu için ve üretim takip programı tüm bu kayıtlara baktığı için geç cevap döndürüyor bu sebepten dolayı üretim sonu kayıt işlemi epeyce geç oluyordu.Sorguyu farklı stok kodları ile denediğimizde çoğunda 4 saniye'de cevap dönerken sorunlu olan stok kodundan 60 saniye civarında sorgu dönüyordu.Sonuç olarak bir çok çözüm yolu olabilir diye düşünüyorum -örn:index rebuild- arkadaş view üzerinde bizim kullanmadığımız alanları sorguda yorum haline getirip üretim  sonu kaydını yeniden deneğimizde çok kısa sürede sorgu cevabı gelmeye başladı sorun bu şekilde çözülmüş oldu.SQL sunucu darboğaz yönetimi gerçekten farklı bir konu ilk başta gecikmenin network'ten olabileceğini düşünsekte profiler'ın yardımı ile darbogazın fazla stok hareketi ve sorgu optimizasyonu ile çözülebileceğini görmüş olduk.


5 Eylül 2014 Cuma

Office 365 Desktop Manager Yükleme hatası Çözümü

Windows 8.1 64 bit işletim sistemine Office 365 Desktop Manager yüklerken 0x800f0906 .net framework 3.5 yükleme hatası alır iseniz aşağıdaki adımları uygulayın;
 
-Windows 8.1 yükleme medyasını (DVD) DVD sürücünüze yerleştirin.
 
-Komut istemine yönetici olarak girerek aşağıdaki komutu çalıştırın;
 
Dism /online /enable-feature /featurename:NetFx3 /All /Source:X:\sources\sxs /LimitAccess 


X  ifadesi DVD sürücünüzün ismi farklı olabileceği için belirtilmiştir.


Komutu çalıştırdıktan sonra sorun çözülecektir.

ilgili resim için;

 

13 Haziran 2014 Cuma

The file or directory is corrupted or unreadable Hatası Ve Çözümü

ISCSI disk olarak sistem'de görünen Nas disk Sunucu yeniden başlayınca offline konuma geçmiş disk management üzerinde yeniden online konuma getirince sorun düzelmişti.Ama bu sefer efatura SQL yedeği aldığımız alt klasöre erişmek istediğimizde "The file or directory is corrupted or unreadable" hatası alamakta olduğumuz için klasör içeriğini görememekteydik(ilginç olan SQL Job yedekleri hatasız almaktaydı)
Bilindik bir çözümdür fakat bu sorunu ilgili ISCSI disk üzerine gelip özellikler-araçlar bölümünden CHECK komutu ile disk tarama yapıp hataları düzeltimesini sağladıktan sonra yeniden alt klasöre sorunsuz ulaşabilmekteyiz.

28 Mayıs 2014 Çarşamba

QNAP NAS Disk'e SQL Server Yedeklerini Almak

Yedekleme amacıyla aldığımız QNAP Nas cihazı özellikleri ile şirket domain yapısına entegre olabilme,active directory ile senkronizasyonlu çalışabilme,veri kaybını önlemek için RAID disk seçenekleri ile şirketler için tercih edilebilir yedekleme cihazı olma özelliğine sahip bir cihaz.QNAP cihazındaki 3 TB kapasitesindeki 4 adet diski RAID 5 ile yapılandırdıktan sonra  SQL server üzerinde aldğımız yedekleri buraya yönlendirmek için internette yeteri kadar kaynak bulamadığım için ve kendi deneyimlerimden yola çıkarak Türkçe kaynak  olması açısından bu yazıyı yayınlama ihtiyacını hissettim.Öncellikle şirket içinde boş bir ip adresini bu cihaza atadığımızdan yola çıkarak cihaz ip adresini web tarayıcımıza yazıp yetkilendirme sayfasını geçerek(Kullanıcı adı varsayılan olarak admin admin olarak girilmekte) cihazda oturum açarak aşağıdaki ekrana geliyoruz;




















Bu ekranda kontrol panel seçeneğini seçerek Genel-depolama yöneticisi ekranını açıyoruz.İlgili ekran aşağıdadır;



















Depolama yöneticisi ekranını açtıktan sonra sol menüden iSCSI seçeneğini seçerek "Bağlanmış bir LUN ile bir ISCSI Hedefi" seçeneğini seçerek ileriyi tıklıyoruz;



















gelen ekranda iSCSI disk için isim vererek bir sonraki ekrana geçerek burada İSCSI disk için kapasite ayarlıyoruz(Ben yapılandırmayı dosya tabanlı olarak ve 2 TB olacak şekilde ayarladım);



















ileriyi tıkladığımızda iSCSI disk seçtiğimiz kapasiteye göre yapılandırıyor ve işlem bitince "Başarıyla Oluşturuldu" mesajını alıyoruz.Ardından iSCSI Depolama  menüsünden diskimizi görüp etkin hale getirmemiz gerekmekte;










Bu işlemleri yaptıktan sonra eğer Windows Server 2008'den eski işletim sistemi kullanıyorsak microsoft'un sitesinden iSCSI Initiator programını indirmemiz gerekmek eğer işletim sistemimiz Windows Server 2008 ve yukarısı ise administrative tools altından iSCSI Initiator programına erişip Nas cihazımızın ip adresini buraya yazıp sistemin iSCSI diskimizi bulmasını sağlayabiliriz;





















Bu işlemleri yaptıktan sonra disk yönetimine girerek iSCSI diskimizi online konuma getirerek gerekli bölümleme ve biçimlendirme işlemini yapabiliriz.





İşlemleri yaptıktan sonra nas diskimiz bilgisayarım'a eklenmiş olarak gözükecektir;







Ardından SQL Sunucumuz üzerindeki yedekleme görevine yeni iSCSI disk yolunu gösterdimizde yedeklerimiz yeni konuma alınacaktır;















10 Aralık 2013 Salı

Watchguard Site To Site VPN Remote Desktop Sorunu

Şubelerimiz arasında kapalı devre site to site vpn yapısı mevcut ve her iki uçtada watchguard firewall kullanmaktayız.Karşı şubeden uzak masaüstü bağlantısı ile merkezimizdeki sunucu'ya bağlanıp ERP programına veri girişi yapılmakta.Belirli bir süredir tüm ping,tracert çıktıları normal olmasına rağmen şubemiz merkeze bağlantı yapamamaktaydı.Merkezdeki Watchguard firebox ile paket trafiğini incelediğimde aşağıda görüldüğü gibi firewall 3389 uzakmasaüstü isteğini önce kabul ediyor sonra paketi drop ediyordu;









Yapılan çalışmada paketin merkezdeki wathguard policy management'ta bulunan drop spoofing attacks alanının aktif olmasından kaynaklandığı anlaşıldı.Paket trafiğinde de karşı şubedeki ip adresinin zaten spoofing yaptığı izlenimi var.Çözüm olarak drop spoofing attacks check işareti kaldırılmalı.Ama kanımca bu geçici bir çözüm gibi gözükmekte.













6 Mayıs 2013 Pazartesi

SYSVOL ve NETLOGON Paylaşımlarının Kaybolma Sorunu

Yakın bir tarihte sunucu üzerindeki SYSVOL ve NETLOGON paylaşımlarımız kaybolduğu için ağdaki istemciler sunucuya ve birbirlerine ulaşamamaya başladı.Sorunun çözümü için;
Öncelikle netstop ntfrs komutu ile replikasyon servisini durdurup ardından regedit'te yer alan HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Paramaters\Backup/Restore\Process at Startup konumudaki burflag dizesine d4 değeri girip ardından netstart ntfrs komutu ile replikasyon servisini başlattığımızda SYSVOL paylaşımı yeniden oluşacak ve istemci sunucular arasındaki bağlantı sorunu ortadan kalkacaktır.NETLOGON paylaşımının gelmesi için ise izledğimiz yol güncel SYSVOL yedeği elimizde olduğu için C:\WINDOWS\SYSVOL\domain yolunda bulunan script ve policy'leri sunucu üzerinde boş olan C:\WINDOWS\SYSVOL\domain bölümüne kopyalayıp netlogon servisini yeniden başlatınca NETLOGON paylaşımı yeniden oluşmaktadır.

22 Kasım 2012 Perşembe

Ambiguous Column Name Hatası

SQL Server'da bulunan veritabanımız altındaki bir view'a query analyzer'da Where komutu ile sorgu isteği yaptığımızda aşağıdaki hatayı alabiliriz;








Yukarıdaki hatayı almamızın sebebi bu view içinde aynı kolon için birden fazla where cümlesinin geçmiş olmasından dolayıdır.Bunun için where komutunu yazdıktan sonra görmek istediğimiz kolonun yer aldığı tabloyu kolon isminden önce yazmamız gerekmektedir.Örnek;

where TBLSIPARIS.STOK_KODU='ABCDE'