SQL Server’dan Logstash ile FTP Veri Aktarımı

SQL Server’dan veri çıkarmak istediğimizde bunun birçok yöntemi vardır. Bu yöntemlerden biri de Logstash kullanmaktır. Logstash bulk copy veri aktarımı yaptığı için hızlı veri aktarımında denenmesi güzel sonuçlar vermektedir. Bu makalede SQL Server üzerinde bulunan verilerin txt formatında bir ortama çıkarılması ve bu formatta çıkarılan verilerin FTP ile uzak sunucuya otomatik olarak her gün bırakılması adımlarını izleyeceğiz. Uzun süreli veri paylaşımları için FTP yerine web servis kullanılması, hem hatanın tespiti hem de FTP’de yaşanacak problemlerin önüne geçilmesini engelleyecektir. Biz işlemlerimizi 3 farklı ortamda gerçekleştirdik. 1.ortamımız SQL Server’da verilerin tutulduğu ortam, 2.ortam Logstash’ın bulunduğu ortam, 3.ortamımız ise verilerin aktarımının gerçekleştirildiği ve FTP aktarımının yapıldığı ortam. FTP ortamı ile verilerin txt dosya formatına çıkarıldığı ortamı aynı yerde tutmamızın sebebi, FTP ile atılacak verilerin hızlı bir şekilde aktarımının yapılmasını sağlamaktır. Verilerin standart olarak belirli tarihler arasında aktarımın yapılabilmesi için aşağıdaki logstash config dosyasını kendi ihtiyaçlarımızı belirledikten sonra kullanabiliriz. Yukarıdaki config dosyasını çalıştırmak için, […]

SQL Server’dan Logstash ile FTP Veri Aktarımı

SQL Server’dan veri çıkarmak istediğimizde bunun birçok yöntemi vardır. Bu yöntemlerden biri de Logstash kullanmaktır. Logstash bulk copy veri aktarımı yaptığı için hızlı veri aktarımında denenmesi güzel sonuçlar vermektedir.
Bu makalede SQL Server üzerinde bulunan verilerin txt formatında bir ortama çıkarılması ve bu formatta çıkarılan verilerin FTP ile uzak sunucuya otomatik olarak her gün bırakılması adımlarını izleyeceğiz.
Uzun süreli veri paylaşımları için FTP yerine web servis kullanılması, hem hatanın tespiti hem de FTP’de yaşanacak problemlerin önüne geçilmesini engelleyecektir.
Biz işlemlerimizi 3 farklı ortamda gerçekleştirdik. 1.ortamımız SQL Server’da verilerin tutulduğu ortam, 2.ortam Logstash’ın bulunduğu ortam, 3.ortamımız ise verilerin aktarımının gerçekleştirildiği ve FTP aktarımının yapıldığı ortam.
FTP ortamı ile verilerin txt dosya formatına çıkarıldığı ortamı aynı yerde tutmamızın sebebi, FTP ile atılacak verilerin hızlı bir şekilde aktarımının yapılmasını sağlamaktır.
Verilerin standart olarak belirli tarihler arasında aktarımın yapılabilmesi için aşağıdaki logstash config dosyasını kendi ihtiyaçlarımızı belirledikten sonra kullanabiliriz.

Yukarıdaki config dosyasını çalıştırmak için, logtash dosyasının bulunduğu dizinde file> open command prompt>open Windows powershell as administrator olarak çalıştırdıktan sonra cmd ekranına logstashın başlaması için logstash -f ./Deneme.conf komut girilerek verilerin txt formatında aktarımı başlatılır.

Verilerin aktarımı sağlandıktan sonra; bir bat dosyası yardımı ile text dosyasını tetikleyerek, WinSCP uygulamasından SFTP protokolü ile verilerin sağlıklı bir şekilde istediğimiz adrese aktarımı yapılacaktır.
Yukarıdaki bat dosyası, txt uzantılı sftp-script-up8-test metin dosyasını tetiklediğinde, metin(txt) dosyası içerisindeki komutu çalıştırıp verilerimiz bulunduğu ortamdan FTP ile aktarımı istenen ortama aktarılacaktır. Aşağıda klasör ve scriptlere ilişkin bilgiler bulunmaktadır.

Yukarıda sftp protoklü ile bağlanmak istediğiniz adresin bilgisine aşağıdaki şekilde ulaşabilirsiniz.

Yukarıdaki scriptin generate edilmesi ile ilgili detaylı bilgi almak için https://winscp.net/eng/docs/ui_generateurl adresiniz ziyaret edebilirsiniz.

Bu şekilde aktarımı tamamladıktan sonra, verilerin günlük olarak düzenli aktarılmasını istiyorsak bir Task Schedule yardımı ile bat dosyası tetiklenerek işlem günlük olarak aktarımı sağlanacaktır. Ayrıca otomatik olarak silmesi isteniyorsa daha önce yazmış olduğum Perfmon Data Collector Delete as Automatically makaleden faydalanarak belli bir zaman diliminden eski veriler temizlenebilir.

Benzer Yazılar

SQL Server Log Shipping Mimarisi

SQL Server 1 ay önce

SQL Server Log Shipping Mimarisi nedir? Log Shipping Nedir? Log Shipping Kurulumu nasıl yapılır?İçindekilerLog Shipping Nedir?Log Shipping Nasıl Çalışır?Log Shipping Kurulumu Merhabalar Bu yazımda MS SQL Server mimarisi olan LOG SHIPPING mimarisinden ve kurulumundan bahsettim. Log Shipping Nedir? Log Shipping, Primary veritabanında meydana gelen değişikliklerin (inserts, updates, deletes) Secondary  veritabanına aktarılmasını sağlar. Bu işlem, düzenli olarak alınan transaction log yedeklerinin bir veya birden fazla Secondary sunucuya uygulanmasıyla gerçekleşir. Log Shipping, genellikle şunlar için kullanılır: Felaket Kurtarma (Disaster Recovery): Primary Sunucu Arızalandığında Secondary sunucudan devam etmeyi sağlar. Burada tabiki herkesin aklındaki soru Veri Kaybı  evet burada bir veri kaybı olacaktır. Bunun sebebi alınan son transaction log backup sonrasında yapılan işlemler Secondary sunucuda bulunmayacaktır. Kısaca özetlemek gerekir ise Her 10 Dakikada bir Transaction Log backup alınan ortamda En son alınan Transaction Log backup saat 12:50 de alındığını düşünelim ve Primary sunucumuz arızalandığı saat ise 12:55 burada 5 dakika içerisinde gerçekleşen işlemlerin hiç […]

User-Defined Functions(Kullanıcı Tanımlı Fonksiyonlar)

SQL Server 1 ay önce

User-Defined Functions(Kullanıcı Tanımlı Fonksiyonlar) SQL Server 2000 ile gelen bir özelliktir.İçindekilerTable-Valued Functions (Tablo Değerli Fonksiyonlar)Scalar Functions (Skalar Fonksiyonlar)Inline Table-Valued Functions (Satır İçi Tablo Değerli Fonksiyonlar) Bu yazımda ihtiyaçlar doğrultusunda kendinize ait raporlamaları aralıklı günlere göre yada istediğiniz değerlere göre ihtiyaçlarınızı karşılayabilirsiniz. Başlıktanda anlaşıldığı gibi kullanıcıların ihtiyaçlarına göre kendilerine ait fonksiyonlarını oluşturabileceklerdir. 3 çeşit fonksiyon vardır. Table-Valued Functions (Tablo Değerli Fonksiyonlar) Viewlerle büyük benzerlikler içerir ancak farklı olarak dışarıdan parametre alabilirler. belirli bir tarih aralığındaki verileri dondurmek istediğimizde ve büyük verileri sorgulamak istediğimizde kullanılır. Örnek olarak 2 tarih arasındaki verileri döndürmek CREATE FUNCTION dbo.fn_SalesBaslaBitisTarih (@startDate DATE, @endDate DATE) RETURNS TABLE AS RETURN ( SELECT * —-Yada istenilen kolonlar FROM Sales WHERE OrderDate BETWEEN @startDate AND @endDate — ekstra koşul eklenebilir ) SELECT * FROM dbo.fn_ SalesBaslaBitisTarih (‘2025-01-01’, ‘2025-03-01’) Bu sorgu, 2025-01-01 ile 2025-03-01 arasındaki tüm verileri listeleyecektir. Scalar Functions (Skalar Fonksiyonlar) Skalar fonksiyonlar birden fazla satır üzerinde işlem yapmaz; her zaman […]

SQL Server 2016 ‘dan 2022 Sürüm bilgileri

SQL Server 1 ay önce

SQL Server 2016 ‘dan 2022 sürümüne kadar eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak  Bu yazımızda SQL Server 2016 ,SQL Server 2017, SQL Server 2019, SQL Server 2022 sürümlerinin yeniliklerini nelerdir ? Bu sürümler ile göze çarpan ve ortamlara göre kullanılması gereken etkenler ne olmalıdır sorularına cevap vermeye çalışacağım

0 Yorum

Yorum Yaz

Rastgele