Co Pilot, Github, Dark Mode Özellikleri ile SSMS 21 Preview
Geçtiğimiz hafta SQL Server Management Studio’nun 21 versiyonu preview olarak yayınlandı.
Hızlı bir bakışla yeni gelen özelliklerden ve izlenimlerimden bahsetmek istiyorum.
Kurulum için buradaki linki kullanabilirsiniz.
https://aka.ms/ssms/21/preview/vs_SSMS.exe
İlk olarak artık Visual Studio 2022 tabanlı bir kurulum gerçekleştirildiğini söylemek isterim. Kurulumu başlattığınızda aşağıdaki gibi bir ekran geliyor.
Kurulum tamamlandıktan sonra ise aşağıdaki gibi bir ekran geliyor ve uygulama üzerindeki değişiklikleri buradan gerçekleştiriyorsunuz.
Açılışta sizi böyle bir ekran karşılıyor. Masmavi olmuş her yer. Biraz garipsiyoruz tabi. Ee SQL 2000’den beri sarı tonlarında alıştık biz bu SSMS’e. Ne kadar modern bir izlenim verse de garipsiyoruz biraz. Ama zamanla mavi rengin verdiği minimalizm’den etkileneceğiz sanırım.
Açılış süresi yaklaşık 4 saniye. Bu süre SSMS 19 ve 20 de aynı. O yüzden genelde preview sürümlerde alışık olduğumuz gecikme burada olmadı.
SSMS açılış ekranları.
SSMS’de açılışta doğrudan bir veritabanı bağlantı ekranı çıkmasına alışkınız. Bunlar 19 ve 20 sürümlerinde biraz farklı olsa da doğrudan bağlantı yapmamızı sağlıyordu.
SSMS 21’de bağlantı ekranı doğrudan gelmiyor.
SSMS 19
SSMS 20
SSMS 21
Açılışta en çok tuhaf gelen herşeyin tamamen Türkçe olması idi. Zira kurulum esnasında varsayılan dil olarak işletim sisteminin dilini kullanıyor ve bu versiyonda Lehçe, Türkçe ve Çekçe desteği gelmiş.
Valla evlerden ırak. Kendimi Azerbaycan televizyonunda maç izliyor gibi hissettim. Meğer ne kadar içselleştirmişiz her menüsünü. Ana dilimde hiçbir şey anlamadım. 😊 Buraya birkaç örnek bırakıyorum.
Tabi hemen dil değiştirmek için araçlar>seçenekler menüsüne girip dil ayarlarını seçtiğimizde İngilizce’nin olmadığını ve yüklenmesi gerektiğini anlıyoruz.
Dil paketlerinden İngilizce’yi seçip yüklüyoruz.
Bu özelliğin geçerli olabilmesi için sistemin restart olması gerekiyor. Sistemden kastım bilgisayar. Bu durum üzücü açıkçası.
Ben Türkçe’ye çevirmeden önce restart işlemini yaptığım ve bir daha yapmak istemediğim için sizlere ekran görüntüsü olarak İngilizce halini paylaşıyorum. Burada mevcutta İngilizce olan dili Türkçe’ye çevirme işleminin görüntüsünü görüyorsunuz.
Evet artık kurulum ve konfigürasyon tamamlandığına göre artık bakalım yeni neler var?
64-Bit Desteği: Daha Hızlı ve Güvenilir Bir SSMS
SSMS ile uğraşanlar bilir. Zaman zaman “out of memory” hatası ile karşılaşırız. Özellikle büyük satırlı ya da büyük hacimli veri çektiğimizde SSMS patlar maalesef. Büyük oranda 32 bit mimari üzerinde çalıştığından bu hata ile karşılaşırız. Şimdi SSMS Visual Studio ortamında tamamen 64 bit olarak geliyor ve bu durum minimize ediliyor. Özellikle çok fazla kilitlenme yaşadığımız durumlar için de ideal bir yaklaşım. Henüz denemedim ama denedikçe deneyimlerimi paylaşacağım.
Always Encrypted Wizard
SSMS 21, hassas verileri şifreleme ve değerlendirme işlemleri için yeni bir sihirbaz sunuyor. Bu sayede Tasks > Always Encrypted Wizard menüsü üzerinden kolon bazlı şifrelemeyi hızlı bir şekilde gerçekleştirebilirsiniz. Tabi burada kolonların collation’ı değişiyor. Sistem bu uyarıyı veriyor.
Örnek: Bir e-ticaret platformu üzerinde kullanıcıların şifrelerini ve telefon numaralarını encrypted bir şekilde tutmak için hızlıca bu wizardı kullanabilirsiniz.
Belirlediğimiz alanlar artık encrypted şekilde tutuluyor.
Azure Kimlik Doğrulama ve Entegrasyonları
Azure SQL veritabanlarıyla çalışan kullanıcılar için SSMS 21, kimlik doğrulama ve yapılandırma süreçlerini kolaylaştırmıştır. Azure güvenlik duvarı kuralı ekleme, Hizmet Seviyesi Hedefi (SLO) yapılandırma, ve bağlı sunucu oluşturma gibi işlemler artık daha kullanıcı dostu bir şekilde gerçekleştirilebiliyor.
Örnek:
- Bir Azure SQL Veritabanı oluştururken güvenlik duvarı kurallarını tanımlamak için gerekli doğrulama adımları SSMS arayüzünde kolayca yapılabilir.
Dark Mod: Göz Yormayan Çalışma Deneyimi
Fabric Europe Conference’a gittiğimde Fabric’teki yenilikleri söylerken insanların en çok alkışladığı şey Dark Mode desteği olmuştu. Çok ilginç. Benim için hiçbir anlam ifade etmeyen hatta kullanmayı da sevmediğim bir özellik ama çok kişi için gerçekten bir bağımlılık ve evet! SSMS artık dark mode desteği ile geliyor. Tools>Options içinden arama kısmına theme yazarak Color Theme kısmından değiştirebiliyorsunuz.
Yorum size kalmış. Şahsen benim hiç tarzım değil. Ben yine Light’dan devam. Eski usül.
Git Entegrasyonu: CI/CD Süreçlerinde Yeni Dönem
Git entegrasyonu beklediğimiz bir şeydi ve gerçekten ihtiyaçtı. Sonuçta bir çok developer ve db admin bir sistem bir proje üzerinde çalışıyor olabilir ve versiyon takibi büyük önem arzediyor.
Örnek Kullanım: Bir veritabanı projesinde çalışan birden fazla geliştirici, Git entegrasyonu sayesinde sorgu ve prosedürlerde yapılan değişiklikleri takip edebilir ve yönetebilir.
Github hesabı ekleme
Repo klonlama
Görüldüğü gibi oluşturduğumuz repo Github sayfamızda oluştu.
Git>View Branch history diyerek değişikliği görüyoruz.
Açıklama yazarak Commit ve Push ediyoruz.
Voilà ! github da artık versiyonlanabilir bir repomuz oldu.
Veritabanı Özellikleri ve Yapılandırmalar
SSMS 21 çok güzel bir özellikle gelmiş. Eskiden kodla yaptığımız bir çok veritabanı özelliği artık yeni bir sayfa ile karşımızda.
Neler yok ki? Performans optmizasyonu için “ya bunun adı neydi” diye hatırlayamadığımız her özellik gözümüzün önünde. Gerçekten güzel.
Database Driver’lar:
SSMS 20.2 sürümü, Microsoft.Data.SqlClient kütüphanesinin 5.1.4 sürümünü kullanırken, SSMS 21 5.1.6 sürümünü kullanmaktadır. Bu da hem güvenlik, hem performans ve hem de tutarlılık ve kararlık tarafında iyileştirmeler sunmaktadır.
Bu güncellemenin etkileri aşağıdaki gibi özetlenebilir:
1. Performans İyileştirmeleri: Yeni sürüm, SQL Server bağlantılarının performansını artırarak daha hızlı veri aktarımı sağlar. Özellikle büyük veri sorgularında ve yoğun yük altındaki uygulamalarda daha düşük gecikme süreleri ve akıcı bir deneyim sunar.
2. Gelişmiş Güvenlik: 5.1.6 sürümü, TLS 1.3 desteği ve diğer güvenlik güncellemeleriyle veri iletişiminde güvenliği artırır. Bu, veri sızıntılarına ve güvenlik açıklarına karşı daha dayanıklı bağlantılar sağlar.
3. Azure Entegrasyonu: Azure SQL Database ve Azure Synapse gibi bulut hizmetleriyle daha uyumlu hale gelen bu sürüm, Azure Active Directory (AAD) kimlik doğrulama desteğinde iyileştirmeler sunar. Bu sayede, Azure’da çalışan veritabanlarına bağlanırken daha az bağlantı hatasıyla karşılaşılır.
4. Hata Düzeltmeleri ve Kararlılık: Önceki sürümlerde bildirilen birçok hata düzeltilmiş ve bağlantı yönetiminde kararlılık artırılmıştır. Bu, SSMS’in çökmesine veya bağlantı kesintilerine neden olan sorunların azalmasına katkı sağlar.
5. Yeni Özellikler: Microsoft.Data.SqlClient 5.1.6, SQL Server’ın en son sürümleriyle uyumluluğu artırır ve yeni özellikleri destekler. Örneğin, Always Encrypted gibi güvenlik özelliklerinin desteklenmesinde geliştirmeler bulunmaktadır.
Bu güncellemeler, SSMS 21 kullanıcılarının hem yerel hem de bulut ortamlarında SQL Server ile daha verimli ve güvenli bir şekilde çalışmasını sağlar. Özellikle büyük ölçekli veri projelerinde veya Azure tabanlı veritabanlarıyla çalışan kullanıcılar bu güncellemenin faydalarını hissedecektir.
Dil Desteği
Daha önce de bahsettiğim gibi Türkçe, Lehçe ve Çekçe dil destekleri gelmiş olup benim için bir anlam ifade etmiyor.
Kütüphaneler
1. Azure.Core (v1.41.0)
- Nedir? Azure.Core, Azure SDK’larının temel bileşenlerini barındıran bir kütüphanedir.
- Güncellemenin Etkileri:
- Daha iyi hata işleme ve dayanıklılık sağlar.
- Azure SQL veritabanı gibi bulut hizmetleriyle daha kararlı bağlantılar sunar.
- Performansı artıran optimizasyonlar içerir.
- Örnek Kullanım:
- Azure Active Directory ile kimlik doğrulama yaparken daha az zaman aşımı ve bağlantı kesintisi yaşanır.
2. DacFx (v162.4.92)
- Nedir? DacFx (Data-tier Application Framework), SQL Server veritabanlarını paketleme, dağıtma ve yönetme işlemleri için kullanılır.
- Güncellemenin Etkileri:
- Veritabanı dağıtımı ve yedekleme işlemlerinde daha hızlı performans.
- SQL Server 2022 ve Azure SQL Database için gelişmiş uyumluluk.
- Şema karşılaştırma ve veritabanı yayınlama işlemlerinde iyileştirmeler.
- Örnek Kullanım:
- Büyük ölçekli bir veritabanı dağıtımı sırasında, eski sürümlere göre işlem süresi kısalır.
3. Server Management Objects (SMO) (v17.100.52)
- Nedir? SMO, SQL Server nesneleriyle programatik etkileşim kurmak için kullanılan bir API’dir.
- Güncellemenin Etkileri:
- SQL Server’ın yeni özelliklerini destekler (örneğin, Always Encrypted ve Query Store iyileştirmeleri).
- Daha kararlı ve hızlı bir yönetim API’si sağlar.
- Hata ve çökme risklerini azaltır.
- Örnek Kullanım:
- Programatik olarak bir tablo oluşturma işlemi daha hızlı ve hatasız gerçekleşir.
4. System.Text.Json (v8.0.4)
- Nedir? System.Text.Json, .NET’teki JSON işleme için kullanılan modern ve hızlı bir kütüphanedir.
- Güncellemenin Etkileri:
- Daha hızlı JSON serileştirme ve ayrıştırma işlemleri.
- Daha az bellek tüketimiyle daha verimli performans.
- Gelişmiş hata işleme özellikleri.
- Örnek Kullanım:
- SSMS üzerinde JSON formatında dönen sorgu sonuçları daha hızlı işlenir ve gösterilir.
Genel Avantajlar
Bu kütüphane güncellemeleri, SSMS 21’in:
- Performansını artırır.
- Azure SQL Database ve SQL Server’ın modern özellikleriyle daha iyi uyumluluk sağlar.
- Güvenilirliğini ve kararlılığını artırır.
Güncellenen bu kütüphaneler sayesinde SSMS, hem yerel hem de bulut tabanlı SQL Server işlemlerinde daha güçlü bir deneyim sunar.
Map Mode
SSMS 21 ile gelen güzel özelliklerden biri de map mode yani harita modu. Bu şekilde uzun sql cümleleri üzerinde rahat gezinmemizi sağlayan güzel bir araç.
Entegre Terminal
İşte SSMS 21’i modern yapan özelliklerden biri de içinde Terminal ekranı açarak PowerShell scriptleri yazmamızı sağlayan özelliği. Bu gerçekten gerekli bir özellikti.
Entegre Terminal Özelliğinin Avantajları
- Komut Satırı ve PowerShell Desteği:
- SSMS’ten çıkmadan SQLCMD komutları, PowerShell komutları veya diğer komut satırı işlemleri doğrudan çalıştırılabilir.
- Daha hızlı veri tabanı yönetimi ve otomasyon sağlar.
- Araçlar Arası Geçişi Azaltır:
- Harici bir terminal uygulaması açmaya gerek kalmadan tüm işlemler SSMS içerisinde gerçekleştirilebilir.
- Kolay Erişim:
- View menüsünden terminale hızlıca ulaşılabilir.
- Geliştiricilerin sürekli olarak ihtiyaç duyduğu terminal erişimi için kullanıcı dostu bir arayüz sunar.
Kullanım Senaryoları
- Veritabanı Yönetimi:
- Yedekleme ve geri yükleme işlemleri için SQLCMD kullanımı.
- Veritabanı durumu ve oturum bilgilerini kontrol etmek için PowerShell komutları.
- Otomasyon:
- SQL Server görevlerini PowerShell ile otomatikleştirmek.
- Örneğin, tüm veritabanlarının durumunu kontrol eden bir betik.
- Hata Teşhisi:
- Terminal üzerinden sorgular çalıştırarak veya log dosyalarını okuyarak sorun çözme işlemleri.
Co Pilot Desteği
SSMS 21’in bu versiyonunda Co Pilot desteği de geldi ancak şu anda general available değil. Ben private preview için talepte bulundum ve cevap geldiğinde bu makaleyi güncelleyeceğim. Muhtemelen Co pilot için tek başına bir makale yazmak daha mantıklı zaten.
Beklentilerim neler
-Veritabanında binary formatta tutulan resimler için query ile çektiğimizde preview olarak görebileceğimiz bir yapı yıllardır beklentimiz.
-Güzel bir server monitör ekranı olabilir. Daha interaktif ve daha kullanışlı bir yönetim ekranı.
-Query Result bölümünde gelen verileri transpose etmek çok kullanışlı olurdu. Oracle’da bu özellik var vertical grid olarak kullanılıyor.
-Yine sonuçları sadece grid olarak değil de chart olarak da görmeyi ve sonuçları analiz etmesini beklerdim.
-Sonuçları farklı kaydet dediğimizde en azından bir excel, json, xml gelmesini beklerdim.
Sonuç
SSMS 21,
-64 bit desteği
-Github entegrasyon desteği
-Güncel kütüphane ve driver desteği
-Always encrypted sihirbazı
-Database properties ekranı
-Azure SQL için geliştirilmiş yetenekler
Gibi özellikler ile ihtiyaçları analiz ederek geliştirme yapmış gibi duruyor.
Tabi ki en önemli özellik co pilot desteği. Ancak henüz deneyemediğim için bir şey diyemiyorum.
Onun dışında, yukarıda yazdığım basit bazı beklentilerimizi de karşılamalarını dört gözle bekliyoruz.
Başka bir makalede görüşmek dileğiyle…
Hocam eline sağlık.