Selamlar,
Bu makale, SQL Server araçlarını kullanarak uygulamalar oluşturmak için mevcut araçlar ve teknikler hakkında bir fikir vermeyi amaçlamaktadır.Bu yazıda çeşitli SQL araçlarını inceleyeceğim. Yaklaşan makalelerde aşağıdaki araçların her biri hakkında ayrıntılı olarak bahsetmeye çalışacağım:
- SQLCmd
- BCP
- SqlPackage
- MSSQL-Scripter
- SQL Operation Studio (SOS)
Konuya giriş yapmadan önce sizlere DevOps hakkında genel bir bilgilendirme yapacağım ve SQL Server araçlarının nasıl yardımcı olduğunu anlatacağım.
DevOps kelimesi, Development ve Operations kelimelerinin birleşmesi ile ortaya çıkan bir yaklaşım. İlk olarak Agile 2008 konferansında dile getirildi, sonrasında bu alanda yapılan etkinlikler ile yaygınlaşmaya başladı. DevOps, otomasyona, iletişime, ortak çalışmaya ve entegrasyona vurgu yapan bir yazılım geliştirme metodu olarak tanımlanıyor.
DevOps, yazılım geliştirme, kalite (QA) ve IT Operasyon birimlerinin birbirleriyle dayanışma içerisinde olmaları gerektiğini söyler. Böylece bir organizasyonun hızlı bir şekilde yazılım ve servis üretmesini ve operasyon performansını arttırmayı hedefler. Buradan da anlaşılabileceği üzere DevOps sadece teknik bir yaklaşım değil, bir organizasyon kültürü yaklaşımıdır. Bir başka deyişle bizim ortak çalışma kültürü (buna Agile kültür de denebilir) olarak bildiğimiz kavramın farklı bir isimle pazardaki yerini almış hali diyebiliriz.
Günümüz dünyasında, çeşitli teknolojiler ve karmaşık uygulamalar, sayısız veritabanı sistemleri ve çeşitli temel veri sanallaştırma platformları, iyi tanımlanmış bir yayın yönetimi sürecini benimsemede sürekli çaba gerektirir.Doğru araç ve uygulamalara sahip olmak, DevOps otomasyon işleminizden en iyi şekilde yararlanmanızı sağlar.
DevOps, şu anda en büyük ve en popüler çözümdür ki bu, Geliştirme ve Operasyon ekiplerinin paradigma değişimini karşılamak için nasıl birlikte çalışabilecekleri üzerinde kültürel bir değişim haline gelmiştir. DevOps, Time to Market’i geliştirmek ve çok sayıda sürüm döngüsü ile başa çıkmak için en uygun seçeneklerden biridir.Kesişen süreçler ve yöntemler ile çapraz bağlantı geliştirme ve operasyonlar Sürekli Entegrasyon ve Sürekli Dağıtım sürecini basitleştirir. Verimliliği arttırır ve sürece dahil olan risk faktörlerini azaltır (bazen ortadan kaldırır).
Özetle, DevOps, tüm bağlı ekiplerle sürekli işbirliği içinde olmanızı sağlayarak, çevik olma potansiyelini genişleterek, müşterinize veya müşterilerinize değer sağladığınız süreçtir. Başka bir deyişle, buluştuğunuz, karar verdiğiniz, uygulama geliştirdiğiniz, inşa ettiğiniz, test ettiğiniz, geri bildirim aldığınız, beklentilerinizi karşılayacağınız, yeteneğinizi geliştireceğiniz, inşa edebileceğiniz, test edebileceğiniz bir süreçtir.
Veritabanları, kurumsal sınıf uygulamaların çoğunun ayrılmaz bir parçasıdır. Veritabanlarımızın DevOps yetenekli olmasını sağlamak, iyi bir ürün sunmanın önemli bir yönüdür. Öğrenmiş olduğumuz tek şey DevOps’u başarıya ulaştırmak için Cross platform çok önemli olduğudur
Piyasada, zaten SQL Server veritabanlarını yönetmek için kullanılabilecek birçok platformlar var,
1.SQL Server Management Studio (SSMS)
2.SQL Server Veri Araçları (SSDT)
3.PowerShell
4.SQLCmd
5.bCP
6.Sqlpackage
7.Mssql-conf
8.Mssql-scripter
9.DMV Aracı
10.SQL Operation Studio (SOS)
11.Visual Studio
Yukarıdaki SQL araçları arasında yer alan aşağıdaki araçlar DevOps Kategorisine de girer ve bu araçlar DevOps yeteneklerine sahiptir:
- SQLCmd
- bCP
- Sqlpackage
- Mssql-scripter
- SQL Operation Studio
SQLCMD
sqlcmd.exe, ad-hoc sorgu yürütme için güçlü bir SQL Server komut satırı yardımcı programıdır. Kullanıcının T-SQL yazmasını, Stored procedure çağırmasını ve komut dosyalarının yürütmesini sağlayan etkileşimli bir araçtır.
Sqlcmd, Linux, Windows ve MacOS için kullanılabilen, artık cross platform aracıdır. SQL yöneticileri, geliştiricileri ve DevOps uzmanları için SQL ile ilgili çeşitli görevleri ele almada kullanışlı. SQL Server’ın birden çok örneğinde anlık sorguları çalıştırmak, T-SQL ifadeleri için çıktı oluşturmak veya tekrarlayan görevler için otomasyon komut dosyaları oluşturmak için bir arabirim sağlar. Bu yardımcı program, T-SQL betikleri kullanılarak yedekleme ve geri yükleme işlemleri gibi veritabanı işlerini planlamak için kullanılabilir.
bcp.exe
Bu araç, belirli bir biçimde veya SQL sorgusu kullanarak SQL örnekleri arasında veri kopyalamak için kullanılır.SQLCMD ile kurulduğundan, Linux, Windows ve MacOS’ta da kullanılabilir. BCP yardımcı programı, SQL Server tablolarına satırların büyük bir kısmını içe aktarmak ya da verileri veri dosyalarına aktarmak için kullanılabilir, bu da DevOps veri hareketi işlemlerini sorunsuz hale getirir. İşlem, komut satırı aracılığıyla otomatikleştirilebilir ve bir biçim dosyası kullanarak şema değişikliklerini halledebilir.
SqlPackage.exe
SQL Server Veri Araçları (SSDT), sürekli entegrasyon ve dağıtım için cross platform bir SQL aracıdır. Sürekli entegrasyon ve dağıtım, modern günlük uygulama geliştirme için bir platform haline gelmiştir.
Bu araç, SQL Server, Azure SQL veritabanı ve Azure SQL Veri ambarı içeren bir geliştirme ortamını işlemek için yeterince güçlüdür.
MSSQL-Scripter
Mssql-scripter açık kaynaklı bir cross platform komut satırı aracıdır. Bu komut satırı aracı, SQL Server veritabanı nesnelerini ve verilerini kodlamak için kullanılır. Çok çeşitli seçeneklerle SSMS’de Generate Scripts Wizard’a çok benzer.
Günümüzde SDLC ( Software Development Life Cycle – Yazılım Yaşam Döngüsü denilebilir) yaşam döngüsünde karşılaşılan en büyük zorluklardan biri gelişme ve dağıtımdır. Uygulamalar, çeşitli sürümler, yapılandırmalar, sürümler ve bazen de farklı platformlar arasında SQL kodunun çeşitli bölümlerinin aktarılmasını sağlar.
SQL Operation Studio
Microsoft SQL Operations Studio, modern SQL veritabanlarınızı geliştirmek ve yönetmek için yeni bir GUI tabanlı bir araçtır. SQL Operation Studio, Azure SQL Veritabanı ve Veri Ambarı gibi diğer ürünleri de entegre eder. SQL Operation Studio , SQL Server veritabanlarını yönetmek için Linux, Windows ve Mac için kullanılabilen bir cross platform aracıdır. SQL Operation Studio hakkında bilgi için burayı indirip kurmak ve test etmek için ise buraya tıklayabilirsiniz.