Sayfalar

17 Ocak 2021 Pazar

Power BI Direct Query ve Power BI Güncelleme Sıklıgını Arttırmak

 SQL Sunucumuz üzerindeki view'lara bağlı raporlarımızı Power BI ortamında yayınlarken sistem 8 defa güncelleştirmeye izin vermekteydi ve bu bizim için yeterli gelmemeye başlamıştı. Raporumuzu Direct Query ile yeniden oluşturduğumuzda bu defa Power BI platformunda Data Gateway pasif halde gelmekteydi ve dolayısıyla sunucu'daki veri Power BI ortamına aktarılamıyordu. Sunucumuz üzerinde kurulu Data Gateway ise kişisel mode olarak kuruluydu. Veri güncelleme sıklığını arttırmak için aşağıdaki adımların tamamlanması gerekmektedir:


  • Power BI Gateway | Microsoft Power BI   adresinden Data Gateway yazılımının standart Mode'u indirilip ilgili on prem sunucu'ya kurulup ilgili hesap ile oturum açılması gerekmekte.
  • Power BI Desktop yazılımı ile SQL Sunucu'dan alacağımız veri'yi Direct Query olarak hazırlamamız gerekiyor.
  • Ardından Power BI raporunu önce kaydedip,ardından Power BI çalışma alanımıza yayınlamamız(Publish seçeneği) gerekmektedir.
  • Raporu yayınladıktan sonra Power BI platformunda oturum açıp yayınladıgımız raporun veri kümesi ayarlarına girerek,Ağ geçidi bağlantısını "Yeni Veri Kaynağı" olarak eşitleyerek,ilgili ağ geçidini seçerek aktif hale getirmeliyiz ardından zamanlanmış önbellek yenileme ekranında yenileme sıklıgı için değer seçmeliyiz,biz sık yenileme istendiği için en düşük değer olan 15 dakika seçeneğini aktif hale getirdik,ardından mobil ortam ve power BI platformunda güncel değerleri olan raporumuzu almaya başlayacağız.




13 Ocak 2021 Çarşamba

Netsis TBLSTOKPH Tablosu ve 0 Numaralı Olmayan Depo Sorunu

 Power BI ortamına aktarım yaptıgımız Netsis veritabanındaki çeşitli tabloların birleşiminden oluşan  TBLSTOKOTR view'ına bağlı TBLSTOKPH  tablosunda normalde olmaması gereken "0" nolu depoya ait stok hareketleri bulunmaktaydı ve TBLSTOKDP tablosunda böyle bir depo tanımı yoktu.TBLSTOKPH tablosunun kardeş tablosu olan TBLSTHAR tablosuna baktıgımızda ilginç bir şekilde "0" nolu depo'ya ait hareket gözükmüyordu.Netsis yardım destek hattı ile yaptıgımız uzun görüşmenin ardından Netsis TBLSTOKPH tablosundan X stoğu için alınan hareketlerin 1 numaralı alandaki TOP_GIRIS_MIK ve TOP_CIKIS_MIK alanlarının aşağıdaki gibi fark sorgusu ile Aynı stok için TBLSTHAR tablosundan alınan Giriş ve Çıkış fark sorgusu bakieyeleri ise  aynı sonucu vermekteydi

1)SELECT STOK_KODU,DEPO_KODU ,TOP_GIRIS_MIK-TOP_CIKIS_MIK AS FARK FROM TBLSTOKPH WHERE STOK_KODU='X' AND DEPO_KODU='0'

 2)select

(

SELECT SUM(STHAR_GCMIK)

FROM TBLSTHAR

WHERE STOK_KODU='x'

AND STHAR_GCKOD='G'

)

-

 

(

SELECT SUM(STHAR_GCMIK)

FROM TBLSTHAR

WHERE STOK_KODU='x'

AND STHAR_GCKOD='C' )

 

AS FARK



Yaptıgımız araştırmalarda "0" nolu depo'nun tüm seçimlik depolardan alınan stok miktarlarının bakiye miktarlarını gösteren bir sanal depo olduğu sonucuna yukarıdaki sorgular sonucunda varmış olduk.

25 Aralık 2020 Cuma

Watchguard Firewall'da Birden Fazla External Ip Tanımlanması

 İnternet servis sağlayıcımızdan aldıgımız birden fazla IP blogunu Watchguard Firewall üzerinde tanımlayıp bu IP Adreslerini farklı amaçlarla kullanabiliriz.Örneğin IP Adresinin ilkini internet trafiği için,diğer IP Adreslerini SSL VPN,Site to Site VPN trafik akışları için tanımlayabiliriz.Bu tanımlamayı yapmak için Watchguard Policy Manager'ı açıp Network bölümüne gelerek External İnterfacemizin Secondary tabına geçerek servis sağlayıcımızın bizlere verdiği IP Adreslerini burada tanımlayıp,SSL VPN,Site to Site VPN gibi ihtiyaçlarımızı bu adresleri kullanarak Watchguard Firewall cihazımızın ilgili alanlarında tanımlama yapabilmekteyiz.






20 Aralık 2020 Pazar

Sanal Sistem Altında Çalışan SQL Server Donanım Yapılandırması(HYPER-V)

 HYPER-V altında çalışan sanal sunucu üzerinde kurulan SQL Server sisteminde SQL Server'a ev  sahipliği yapan Sanal Sunucu'nun donanım özelliklerini  File sunucu gibi varsayılan değerlerinde bırakır isek performans sorunu ortaya çıkmaktadır.Bunun için Sanal Sunucu'nun kurulumunu yapılandırırken yani sanal işletim sistemini kurmadan önce disk,bellek ayarı yaparken CPU "Number Of Virtual Processor" değerini varsayılan olarak tek core olarak bırakmamalı örneğin 8 core olacak şekilde atama yapmalıyız(bu örnekteki değer sizin sistemlerinizin donanım özelliklerine göre farklılık gösterebilir).

Netsis Yıl sonu Devrinde Oluşan Hata(column does not allow nulls. INSERT fails)

 Netsis proğramında Yıl sonu yapılan devir denemesinde aşağıdaki T-SQL hatasını aldık:


"SQL : Insert Into TBLSTHAR (STOK_KODU, STHAR_GCMIK, STHAR_GCKOD, STHAR_TARIH, STHAR_NF, STHAR_BF, DEPO_KODU, STHAR_ACIKLAMA, STHAR_HTUR, STHAR_DOVTIP, STHAR_DOVFIAT, SUBE_KODU, F_YEDEK5)

 Values ( :STOK_KODU ,  :STHAR_GCMIK ,  :STHAR_GCKOD ,  :STHAR_TARIH ,  :STHAR_NF ,  :STHAR_BF ,  :DEPO_KODU ,  :STHAR_ACIKLAMA ,  :STHAR_HTUR ,  :STHAR_DOVTIP ,  :STHAR_DOVFIAT ,  :SUBE_KODU ,  :F_YEDEK5 )

 

Cannot insert the value NULL into column 'STHAR_GCKOD', table 'TST2021.dbo.TBLSTHAR'; column does not allow nulls. INSERT fails.(NetsisMS-23000,515)

The statement has been terminated.(NetsisMS-01000,3621)"


Hata ilk başta yeni yıl şirketine SQL Insert işlemi yapılırken "null" karakter içeren bir değer içermesinden kaynaklanıyor görünmekteydi ama yaptığımız kontrolde öyle bir durum yoktu, yaptığımız diğer kontrolde sthar  tablosu ile seritra tablosu arasındaki unique değer de birbirine eşitti.En son olarak sorunlu stok kodunun eski yıl şirketindeki "0" miktarlı hareketlerini sorguladıgımız zaman "0" miktarlı hareketi oldugu ortaya çıktı ve eski yıl şirketinde bu "0" olan hareketi iptal edip yeniden yıl sonu devrini çalıştırdıgımizda devir sorunsuz tamamlanmıştı.




2 Aralık 2020 Çarşamba

Netsis Yıl Sonu Devir Parametresi

 Üretim ve Finans şirketlerinde yıl sonu demek devir,finans ve stok hareketleri açısından yoğun bir ay olan Aralık ayı  demektir.Netsis programı Devir modülünde 9.0.25 versiyonuna kadar stok devirleri önce serisiz stok devri ardından serili stok devri olarak yapılıyordu.9.0.25 versiyonlarının ardından serili ve serisiz stoklar birleşmiş olup bu devirleri toplu halde yapmakta.Bu serili stok tarafında bizim gibi kontrollü olarak belirli kısıt'a göre devir yapan firmalar açısından zor olmakta.Netsis bu durum'a özel parametreler'e aşağıdaki değerlerin girilerek devir sırasının eskisi gibi olması açısından çözüm üretmiş durumda.Aşağıdaki değerler özel parametreler'e eklenirse devir yine eskisi gibi sıralı hale gelecektir.


DEVIR

STOK_DEVIR_ESKI_EKRAN

0


19 Ekim 2020 Pazartesi

SQL Server 2017 Yedekleme ve Önemi (Yaşanmış Bir Hikaye)

Canlı sistemlerimizin devamlılığı için yedekleme ve felaket anı kurtarma ortamı işletmeler için hayati önem'e sahip değerlerdir. Günümüz de iş hayatımız tamamen dijital ve mobil hale gelmiş her an her yerden veriye ulaşıp veri üzerinde yetkilerimiz dahilinde çeşitli işlemler yapmaktayız. Geçen haftalarda E-irsaliye sisteminde arada oluşan ufak bir problemi SQL Server tarafında düzeltmek isterken dalgınlıkla kısıt yazmadan Fatura ve İrsaliye tablosundaki tüm kayıtları sildim. Silinen tablodaki kayıtlar stok hareket kaydı gibi  bir çok iş sürecini etkileyen bir sorundu. Silme işlemini saat 09:49:00 zamanında yapmıştım. Saat 09:05:00 anında Full yedek ve bu zamandan saat 09:49:00'a dek 15 dakika ara ile 3 tane Differantial fark yedeği ile dakikada 1 aldığım SQL Transaction Log yedeği bulunmaktaydı.09:05 Full yedek alınma anından silinen ana kadar bir çok tabloda INSERT-UPDATE-DELETE gibi hareketler yapıldığı ve E-Fatura E-İrsaliye işlemleri önemli olduğu için öncelikle 09:05 anında aldığımız Full Yedegi,fark yedeğini ve 09:48 Anındaki Transaction  Log yedeklerini farklı bir isimle Restore ederek sildiğimiz kayıtların miktarını tespit ettik(47909 kayıt silinmişti ve yedeği döndüğümüzde bu kayıtlar geri gelmişti).Bunun üzerine silinen tablodaki kayıtların aynı miktar 'da geri geldiğini tespit etmiş olduk ve bu veri tabanını orijinal yerine aynı isimle almış olduk. SQL sunucu sistemlerinde Sadece full yedek değil Fark ve Transaction Log yedeği çok önemli olduğu için mutlaka veri tabanı kurtarma şeklini Full Mod'a alarak Transaction Log yedeğini Alın. Bu sizin için hayat kurtarıcı olacaktır.


#SQL Server 2017 #backup #Transaction Log