Merhaba
SQL Server Management Studio (SSMS) 22 kurulumu, önceki sürümlerden farklı olarak vs_SSMS.exe isimli bir stub installer üzerinden başlatılmaktadır. Bu kurulum dosyası bağımsız bir MSI paketi içermez; gerekli tüm bileşenleri kurulum sırasında Microsoft sunucularından indirir. Dolayısıyla kurulumun yapılacağı sunucu ya da istemci üzerinde internet bağlantısı bulunması zorunludur.
Kurumsal ortamlarda ise durum çoğu zaman bunun tam tersidir. Veritabanı sunucuları genellikle internet erişimi olmayan izole (air-gapped) network segmentlerinde konumlandırılır, dışarıya çıkış yalnızca proxy üzerinden ve sıkı kurallarla sağlanır ya da hiç sağlanmaz. Bu tip ortamlarda vs_SSMS.exe dosyasını sunucuya kopyalayıp çalıştırmak işe yaramayacak, kurulum indirme aşamasında takılıp kalacaktır.
Daha önce Microsoft SQL Server Management Studio 22 Kurulumu yazımızda internet bağlantısı bulunan bir ortamda kurulumu adım adım incelemiştik. Bu yazımızda ise internet erişimi bulunmayan sunucular üzerine SQL Server Management Studio (SSMS) 22 kurulumunu, çevrimdışı kurulum paketi (layout) hazırlayarak nasıl gerçekleştireceğimizi inceleyeceğiz.
Çevrimdışı Kurulum (Layout) Nedir ?
Layout, Visual Studio Installer altyapısının sunduğu çevrimdışı kurulum paketi oluşturma yöntemidir. İnternet bağlantısı bulunan bir bilgisayarda vs_SSMS.exe dosyasını --layout parametresi ile çalıştırdığınızda, kurulum için gerekli tüm paketler belirttiğiniz dizine indirilir. Ortaya çıkan bu klasör, kendi kendine yeten (self-contained) bir kurulum kaynağıdır ve internet erişimi olmayan sunuculara kopyalanarak kurulum bu klasör üzerinden gerçekleştirilir.
Layout yapısı ile ilgili bilmeniz gereken temel noktalar:
- Sürüm sabitlenir: Layout, oluşturulduğu tarihteki SQL Server Management Studio (SSMS) build numarasını içerir. Bu yazıda hazırladığımız layout 22.8.1 sürümünü içermektedir. Daha güncel bir sürüm kurmak istediğinizde layout klasörünü yeniden güncellemeniz gerekmektedir.
- Boyut ciddidir: Varsayılan bileşenlerle oluşturulan layout klasörü birkaç GB’ı bulmaktadır. Ek iş yükleri ve dil paketleri eklendiğinde bu boyut hızla büyümektedir.
- Tekrar kullanılabilir: Bir kez hazırladığınız layout klasörünü bir dosya paylaşımı üzerinden yayınlayarak birden fazla sunucuda kullanabilirsiniz.
- Sertifika gereksinimi vardır: SQL Server Management Studio (SSMS) kurulum motoru yalnızca güvenilir içeriği kurmaktadır. İndirilen içeriğin Authenticode imzalarını denetlemekte ve kurulum öncesinde tüm içeriğin güvenilir olduğunu doğrulamaktadır. İnternet erişimi bulunan bir makinede Visual Studio, imza doğrulaması için gerekli sertifikaları gerektiğinde kendisi yenilemektedir. Çevrimdışı ortamda bu mümkün olmadığı için sertifikaların önceden kurulması gerekmektedir. Layout paketi oluşturulduğunda gerekli sertifikalar Certificates isimli bir alt klasöre indirilmektedir.
Gerekli Dosyaların İndirilmesi
Çevrimdışı kurulum paketini hazırlayabilmek için internet bağlantısı bulunan bir bilgisayara ihtiyacımız bulunmaktadır. Bu bilgisayar üzerine iki dosya indirmemiz gerekmektedir.
1. vs_SSMS.exe: Microsoft’un Install SQL Server Management Studio sayfası üzerinden Download SQL Server Management Studio 22 installer linki ile indirilmektedir.
2. Microsoft Windows Code Signing PCA 2024 sertifikası: Layout içerisindeki paketlerin imza doğrulaması için gerekmektedir. Aşağıdaki adres üzerinden indirilmektedir.
Microsoft Windows Code Signing PCA 2024 Certificate
İndirdiğimiz dosyaları C:\SMSS dizini altında topluyoruz. vs_SSMS.exe dosyasının yaklaşık 5.554 KB boyutunda olduğunu görüyoruz. Bu boyut, kurulum dosyasının kendisinin bir stub installer olduğunu ve gerçek bileşenleri içermediğini bize göstermektedir.
Layout paketinin indirileceği dizin olarak C:\SSMS_Layout klasörünü oluşturuyoruz. Bu aşamada klasörün boş olduğunu görüyoruz.
Önemli Not: Layout klasörünü oluşturacağınız diskte yeterli boş alan bulunduğundan emin olunuz. Varsayılan bileşenlerle dahi paket sayısı 1200’ün üzerine çıkmaktadır.
Çevrimdışı Kurulum Paketinin (Layout) Hazırlanması
Layout oluşturma işlemini Run as administrator ile açılmış bir Command Prompt üzerinden gerçekleştiriyoruz. vs_SSMS.exe dosyasının bulunduğu C:\SMSS dizinine geçiyoruz.
Aşağıdaki komut ile C:\SMSS dizinine geçiş yapabilirsiniz.
cd "C:\SMSS"
Aşağıdaki komut ile layout oluşturma işlemini başlatıyoruz.
vs_SSMS.exe --layout C:\SSMS_Layout --add Microsoft.Component.HelpViewer
Komutta kullanılan parametreleri inceleyelim:
--layout C:\SSMS_Layout: Çevrimdışı kurulum paketinin oluşturulacağı hedef dizini belirtir.--add Microsoft.Component.HelpViewer: Layout paketine ek olarak dahil edilecek bileşeni belirtir. Bu örnekte Help Viewer bileşeni eklenmektedir. İnternet erişimi olmayan bir sunucuda dokümantasyona çevrimdışı ulaşabilmek için bu bileşen özellikle anlamlıdır.
Sıklıkla kullanabileceğiniz diğer parametreler:
--lang en-US: Layout paketine yalnızca belirtilen dilin paketlerinin dahil edilmesini sağlar. Varsayılan davranışta tüm dil paketleri indirilmekte ve boyut gereksiz yere büyümektedir. Tek dil belirterek layout boyutunu belirgin şekilde küçültebilirsiniz. Birden fazla dil için--lang en-US de-DE ja-JPşeklinde ardışık olarak yazabilirsiniz.--includeRecommended: Seçilen iş yükleri için önerilen bileşenleri de layout paketine dahil eder.--includeOptional: Seçilen iş yükleri için isteğe bağlı bileşenleri de dahil eder. Layout boyutunu en çok büyüten parametredir.--all: Tüm iş yükleri, bileşenler ve dil paketlerini içeren eksiksiz bir layout oluşturur. Disk alanı ve indirme süresi açısından en maliyetli seçenektir.
Önemli Not: Komutu birden fazla satıra bölmek isterseniz Command Prompt üzerinde satır sonuna ^ karakterini, PowerShell üzerinde ise backtick (`) karakterini kullanabilirsiniz. Tüm komutlar Run as administrator ile çalıştırılmayı gerektirmektedir; işlem Run as administrator ile başlatılmazsa User Account Control (UAC) istemi görüntülenecektir.
Workload ve Component Kimlikleri
Komut satırından bileşen seçimi yapabilmek için workload ve component kimliklerine ihtiyaç duyulmaktadır. Bu iki kavramı ayırmakta fayda var: workload (bileşen grubu), tek seçimle birden fazla bileşeni birlikte getiren üst gruptur; component (tekil bileşen) ise tek tek seçilebilen öğedir. SQL Server Management Studio (SSMS) kurulum arayüzündeki Workloads ve Individual components sekmeleri de tam olarak bu ayrıma karşılık gelmektedir.
SQL Server Management Studio (SSMS) 22 için kullanabileceğiniz workload kimlikleri aşağıdaki gibidir:
| Workload (Bileşen Grubu) | Kimlik |
|---|---|
| AI Assistance | Microsoft.SqlServer.Workload.SSMS.AI |
| Business Intelligence | <span style="color: #ff0000;"><code>Microsoft.SqlServer.Workload.SSMS.BI |
| Code tools | Microsoft.SqlServer.Workload.SSMS.CodeTools |
| Database DevOps | Microsoft.SqlServer.Workload.SSMS.DevOps |
| Hybrid and Migration | Microsoft.SqlServer.Workload.SSMS.HybridAndMigration |
Tek tek seçebileceğiniz bileşen kimliklerinden sık kullanılanlar:
| Component (Tekil Bileşen) | Kimlik | Bağlı Olduğu Workload |
|---|---|---|
| Analysis Services yönetim özellikleri | Microsoft.SSMS.Component.AS |
Business Intelligence |
| Integration Services yönetim özellikleri | Microsoft.SSMS.Component.IS |
Business Intelligence |
| Reporting Services yönetim özellikleri | Microsoft.SSMS.Component.RS |
Business Intelligence |
| Help Viewer (çevrimdışı dokümantasyon) | Microsoft.Component.HelpViewer |
Code tools |
| Query Hint Recommendation Tool | Microsoft.SSMS.Component.QueryHintTool |
Code tools |
| Git ile tümleştirme | Microsoft.VisualStudio.Component.TeamExplorer.MinGit |
Code tools |
| SQL Database Projects | Microsoft.SSMS.Component.DevOps |
Database DevOps |
| Değerlendirme ve Geçiş Yardımcısı | Microsoft.SSMS.Component.MigrationAssistant |
Hybrid and Migration |
| GitHub Copilot | Microsoft.SSMS.ComponentGroup.Copilot |
AI Assistance |
Kanal Kimliği (Channel ID): Kaldırma ve değiştirme (modify) işlemleri için kanal kimliğine de ihtiyaç duyulmaktadır. SQL Server Management Studio (SSMS) 22 GA sürümünün kanal kimliği SSMS.22.SSMS.Release , ürün kimliği ise Microsoft.VisualStudio.Product.SSMS şeklindedir.
Sık Kullanılan Layout Komut Örnekleri
İhtiyacınıza göre uyarlayabileceğiniz layout oluşturma örnekleri:
Yalnızca çevrimdışı yardım içeriği ile sınırlı layout:
vs_SSMS.exe --layout C:\SSMS_Layout --add Microsoft.Component.HelpViewer
İngilizce dil paketi ve Integration Services bileşeni ile layout:
vs_SSMS.exe --layout C:\SSMS_Layout --lang en-US --add Microsoft.SSMS.Component.IS --includeRecommended
Integration Services ve Reporting Services bileşenleri ile sınırlı layout:
vs_SSMS.exe --layout C:\SSMS_Layout --add Microsoft.SSMS.Component.IS --add Microsoft.SSMS.Component.RS
İki iş yükü ve üç dil içeren layout:
vs_SSMS.exe --layout C:\SSMS_Layout --add Microsoft.SqlServer.Workload.SSMS.HybridAndMigration --add Microsoft.SqlServer.Workload.SSMS.CodeTools --add Microsoft.Component.HelpViewer --lang en-US de-DE ja-JP
Tüm iş yükleri ve dilleri içeren eksiksiz layout:
vs_SSMS.exe --layout C:\SSMS_Layout --all
Layout İndirme İşleminin Tamamlanması
Komutu çalıştırdığımızda öncelikle Visual Studio Installer bileşeninin hazırlandığını görüyoruz. Bu aşamada Visual Studio Setup altyapısı indirilmekte ve kurulmaktadır.
Hazırlık tamamlandıktan sonra Visual Studio Setup Layout Tool devreye girmekte ve indirme işlemi başlamaktadır. Ekranda toplam indirilecek paket sayısını görüyoruz. Bu kurulumda 1209 paket indirileceği belirtilmektedir.
Önemli Not: Bu aşamada indirme işlemi internet hızınıza bağlı olarak uzun sürebilir. Layout oluşturma işlemi kesintiye uğrarsa, aynı komutu tekrar çalıştırdığınızda araç kaldığı yerden devam etmektedir. İndirilmiş paketleri yeniden indirmez.
İndirme işlemi tamamlandığında Setup completed successfully. mesajını görüyoruz. Bu mesaj, çevrimdışı kurulum paketimizin hazır olduğu anlamına gelmektedir.
Ekranın son satırında Press any key to continue… uyarısını görüyoruz; Enter tuşuna basarak ekranı kapatabiliriz.
C:\SSMS_Layout klasörünü incelediğimizde toplam 1.219 öğe oluştuğunu görüyoruz. Klasör içerisinde bileşen klasörlerinin yanı sıra kurulum için kritik olan dosyalar da yer almaktadır:
- vs_setup.exe: Layout üzerinden kurulumu başlatan dosyadır.
- vs_SSMS.exe: Layout klasörüne kopyalanan orijinal stub installer dosyasıdır.
- Catalog.json: Layout içerisindeki tüm paketlerin ve sürümlerinin kataloğudur.
- ChannelManifest.json: Sürüm kanalı bilgisini taşımaktadır.
- Layout.json: Layout oluşturulurken kullanılan parametreleri saklamaktadır. Layout güncellemesi yaparken bu dosya referans alınmaktadır.
- Response.json: Kurulum sırasında varsayılan olarak uygulanacak yanıt dosyasıdır.
- vs_installer.opc: Visual Studio Installer paketidir. İmza doğrulaması bu dosya üzerinden yapılmaktadır.
- Certificates: İmza doğrulaması için gerekli kök sertifikaların bulunduğu klasördür. Klasör listesinin en üstünde yer aldığı için ekran görüntüsünde görünmemektedir.
Dosyaların İzole Sunucuya Aktarılması
Hazırladığımız layout klasörünü ve Microsoft Windows Code Signing PCA 2024 sertifika dosyasını, kurulum yapacağımız internet erişimi bulunmayan sunucuya aktarıyoruz. Aktarım işlemini kurumsal politikanıza uygun bir yöntem ile (dosya paylaşımı, jump server üzerinden kopyalama, yönetilen taşınabilir medya) gerçekleştirebilirsiniz.
Önemli Not: Layout klasörünü kopyalarken klasör yapısının bozulmadığından emin olunuz. Alt klasörlerden herhangi birinin eksik kalması durumunda kurulum ilgili paketi bulamayacak ve hata verecektir.
İmza Doğrulama Sertifikalarının Kurulumu
Kuruluma başlamadan önce imza doğrulama sertifikalarını hedef sunucu üzerine kurmamız gerekmektedir. SQL Server Management Studio (SSMS) kurulum motoru, indirme konumunun ele geçirildiği saldırılara karşı ortamınızı korumak amacıyla kurulum dosyalarının Authenticode imzalarını doğrulamaktadır. İnternet erişimi bulunan bir makinede bu doğrulama sırasında gerekli sertifikalar Windows API’leri üzerinden otomatik olarak indirilip sisteme eklenmektedir. İzole bir sunucuda bu süreç işleyemeyeceği için sertifikaların elle kurulması gerekmektedir.
Terim karışıklığına dikkat: Burada sunucuya kurduğumuz sertifikalar kod imzalama (code signing) sertifikaları değildir. Kod imzalama sertifikası, yazılımı imzalayan tarafın (bu senaryoda Microsoft’un) elinde bulunan ve dosyayı imzalamak için kullanılan sertifikadır. Bizim hedef sunucuya kurduğumuz sertifikalar ise bu imzayı doğrulayabilmek için gereken kök (root) ve ara (intermediate) sertifika otoritesi sertifikalarıdır. Yani sunucuya bir imzalama yetkisi vermiyor, yalnızca “bu imzayı atan otoriteye güveniyorum” bilgisini sisteme tanıtıyoruz.
Neden otomatik kurulmuyor ? Microsoft, sertifikaların elle kurulmasını bilinçli bir tasarım tercihi olarak konumlandırmaktadır. Bu yaklaşım, kurumsal yöneticilerin sisteme eklenecek kök sertifikaları kendi güvenlik politikaları çerçevesinde denetlemesine ve onaylamasına imkan tanımaktadır.
Sertifika Kurulum Yöntemleri
Çevrimdışı ortamda sertifika kurulumu için üç farklı yöntem bulunmaktadır:
- Yöntem 1 – Layout klasöründeki sertifikaların elle kurulması: Layout paketi oluşturulduğunda gerekli sertifikalar Certificates klasörüne indirilmektedir. Bu klasördeki sertifika dosyalarına sağ tıklayıp Install Certificate seçeneği ile sihirbaz üzerinden kurulum yapılabilmektedir. Parola sorulması durumunda alan boş bırakılmalıdır.
- Yöntem 2 – Kurumsal ortamda Group Policy ile dağıtım: Güncel kök sertifikalara sahip olmayan çok sayıda izole makine bulunan ortamlarda, yöneticiler Configure Trusted Roots and Disallowed Certificates yöntemi ile sertifikaları merkezi olarak dağıtabilmektedir. Domain yapısı bulunan kurumsal ortamlar için en sürdürülebilir yaklaşımdır.
- Yöntem 3 – Betik ile dağıtım: SSMS kurulumunu betik ile dağıtıyorsanız sertifika kurulumunu da bu sürece dahil edebilirsiniz. Bu yöntemin detaylarını yazının ilerleyen bölümünde inceleyeceğiz.
Layout İçerisindeki Sertifika Dosyaları
Layout klasörü altındaki Certificates dizininde üç adet sertifika dosyası bulunmaktadır:
- manifestRootCertificate.cer: Microsoft Root Certificate Authority 2011 kök sertifikasını içermektedir.
- manifestCounterSignRootCertificate.cer: Microsoft Root Certificate Authority 2010 kök sertifikasını içermektedir.
- vs_installer_opc.RootCertificate.cer: Microsoft Root Certificate Authority 2010 kök sertifikasını içermektedir.
Visual Studio Installer’ın çalışabilmesi için sistem üzerinde yalnızca kök sertifikaların kurulu olması yeterlidir.
Önemli Not: Bu üç dosya kök (root) sertifikadır ve Trusted Root Certification Authorities deposuna kurulur. Yazının devamında kuracağımız Microsoft Windows Code Signing PCA 2024 ise bir ara (intermediate) sertifika otoritesi sertifikasıdır ve Intermediate Certification Authorities deposuna kurulur. İsminde “Code Signing” ifadesinin geçmesi, bu otoritenin kod imzalama sertifikaları veren bir ara otorite olmasından kaynaklanmaktadır; sertifikanın kendisi imzalama için değil, imza zincirini tamamlamak için kullanılmaktadır. Sihirbazda Automatically select the certificate store seçeneğini kullandığımızda Windows, sertifika türüne bakarak doğru depoyu kendisi belirlemektedir.
Sertifikaların Kurulu Olup Olmadığının Kontrolü
Kuruluma başlamadan önce gerekli sertifikaların sunucu üzerinde zaten kurulu olup olmadığını kontrol edebilirsiniz. Windows Update ile güncel tutulan makinelerde bu sertifikalar çoğunlukla güncel durumdadır.
- mmc.exe çalıştırılır.
- File menüsünden Add/Remove Snap-in seçilir.
- Certificates çift tıklanır, Computer account seçilir ve Next ile devam edilir.
- Local computer seçilir ve Finish ile tamamlanır.
- Certificates (Local Computer) genişletilir.
- Trusted Root Certification Authorities altındaki Certificates bölümünde gerekli kök sertifikalar aranır.
- Intermediate Certification Authorities altındaki Certificates bölümünde ara sertifikalar kontrol edilir.
Sertifika adları Issued To sütununda görünmüyorsa kurulmaları gerekmektedir.
Önemli Not: Bir ara sertifika yalnızca Current User deposunda bulunuyorsa, sadece o anda oturum açmış olan kullanıcı için geçerlidir. Diğer kullanıcılar için ayrıca kurulması gerekebilir. Bu ayrım, sertifikayı kuran hesap ile kurulumu çalıştıran hesabın farklı olduğu senaryolarda sorun çıkarmaktadır.
Microsoft Windows Code Signing PCA 2024 Sertifikasının Kurulumu
Bu yazıda, Microsoft’un çevrimdışı kurulumlar için önerdiği Microsoft Windows Code Signing PCA 2024 ara sertifikasını kuracağız. Sertifikanın adı Microsoft tarafından bu şekilde belirlendiği için başlıkta da aynen kullanılmaktadır. Sunucuya aktardığımız sertifika dosyasını seçiyoruz.
Dosyayı çift tıkladığımızda Open File – Security Warning uyarısı karşımıza gelmektedir. Dosyanın Unknown Publisher olarak görünmesi beklenen bir durumdur; bu uyarı dosyanın imzasıyla değil, dosyanın internetten indirilmiş olmasıyla ilgilidir. Open ile devam ediyoruz.
Certificate ekranında sertifikanın Microsoft Root Certificate Authority 2010 tarafından verildiğini ve 24.06.2035 tarihine kadar geçerli olduğunu görüyoruz. Install Certificate… seçeneği ile devam ediyoruz.
Certificate Import Wizard ekranında Store Location bölümünde varsayılan olarak Current User seçeneğinin işaretli geldiğini görüyoruz.
Bu seçimi Local Machine olarak değiştiriyoruz ve Next ile devam ediyoruz. Next butonunun üzerindeki kalkan simgesi, işlemin Run as administrator yetkisi gerektirdiğini göstermektedir.
Önemli Not: Microsoft, çevrimdışı kurulumlar için Local Machine seçeneğinin kullanılmasını belirtmektedir. Sertifikayı Current User deposuna kurduğunuzda yalnızca o anda oturum açmış olan kullanıcı için geçerli olacaktır. Sertifikayı kuran hesap ile kurulumu çalıştıran hesap farklı olduğunda ya da kurulum bir servis hesabı bağlamında çalıştırıldığında sertifika bulunamayacak ve imza doğrulama hatası alınacaktır.
Certificate Store ekranında Automatically select the certificate store based on the type of certificate seçeneği ile devam ediyoruz. Bu seçenek ile Windows, sertifika türüne bakarak uygun depoyu kendisi belirleyecektir.
Completing the Certificate Import Wizard ekranında yaptığımız seçimlerin özetini görüyoruz. Finish ile içe aktarma işlemini tamamlıyoruz.
The import was successful. mesajı ile sertifikanın başarılı bir şekilde kurulduğunu görüyoruz.
SQL Server Management Studio (SSMS) 22 Kurulumunun Başlatılması
Sertifika kurulumu tamamlandıktan sonra SQL Server Management Studio (SSMS) 22 kurulumuna geçebiliriz. Sunucuya aktardığımız layout klasörü içerisinde bulunan vs_setup.exe dosyasını çalıştırıyoruz.
Önemli Not: Layout klasörü içerisinde hem vs_setup.exe hem de vs_SSMS.exe dosyaları bulunmaktadır. Layout üzerinden kurulum için vs_setup.exe dosyasının çalıştırılması gerekmektedir. Bu dosya, kurulum kaynağı olarak bulunduğu klasörü kullanmaktadır.
Komut Satırından Kurulum
Arayüz yerine komut satırından kurulum yapmayı tercih ederseniz, layout klasörü içerisindeki vs_SSMS.exe dosyasını uygun parametrelerle çalıştırabilirsiniz.
Integration Services desteği ile kurulum:
vs_SSMS.exe --noWeb --noUpdateInstaller --add Microsoft.SSMS.Component.IS --includeRecommended --passive
Integration Services ve Reporting Services desteği ile kurulum:
vs_SSMS.exe --noWeb --noUpdateInstaller --add Microsoft.SSMS.Component.IS --add Microsoft.SSMS.Component.RS --includeRecommended --passive
Bu komutlarda kullanılan parametreleri inceleyelim:
--noWeb: Kurulum sırasında internetten hiçbir paketin indirilmemesini ve yalnızca layout klasöründeki paketlerin kullanılmasını zorunlu kılmaktadır. Çevrimdışı kurulumun anahtar parametresidir.--noUpdateInstaller: Visual Studio Installer bileşeninin güncellenmesini engeller. İzole ortamlarda installer güncellemesi mümkün olmayacağı için kullanılması önerilmektedir.--passive: Kullanıcı etkileşimi olmadan, ancak ilerleme durumu ekranda gösterilerek kurulum yapılmasını sağlar.--quiet: Kurulumu tamamen arayüzsüz olarak gerçekleştirir. Toplu dağıtım senaryolarında tercih edilmektedir.--norestart: Kurulum sonrası otomatik yeniden başlatmayı engeller.--wait: Kurulum tamamlanana kadar komutun geri dönmemesini sağlar. Betik içerisinde sıralı işlem yapıyorsanız gereklidir.--installPath: Kurulum dizinini belirtir. Örnek:--installPath C:\SSMS22--addProductLang: Kurulum diline ek dil paketi ekler. Örnek:--addProductLang tr-TR
Önemli Not: Komut satırından seçtiğiniz bileşenlerin layout paketinde önceden bulunması zorunludur. Layout içerisinde olmayan bir bileşeni --add ile belirtmeniz durumunda kurulum hata verecektir.
Visual Studio Installer Hazırlığı
Visual Studio Installer ekranında lisans ve gizlilik bilgilendirmesi karşımıza gelmektedir. Continue ile devam ediyoruz.
Downloaded ve Installed aşamalarının tamamlandığını görüyoruz. Çevrimdışı ortamda çalıştığımız için paketler zaten yerel diskte bulunmakta ve bu aşama hızlı bir şekilde tamamlanmaktadır.
Kurulum Bileşenlerinin Seçilmesi
Installing – SQL Server Management Studio 22 – 22.8.1 ekranı karşımıza gelmektedir. Ekranda görünen sürüm numarasının, layout paketini oluşturduğumuz tarihteki sürüm olduğunu hatırlatalım. Çevrimdışı kurulumda layout hangi build’i içeriyorsa o sürüm kurulmaktadır.
Workloads sekmesinde SQL Server Management Studio (SSMS) 22 ile birlikte kurabileceğimiz workload’ları görüyoruz. AI Assistance, Business Intelligence, Hybrid and Migration, Code tools ve Database DevOps (Preview) olmak üzere toplam 5 adet workload bulunmaktadır.
Installation details bölümünde SSMS Core Components ile birlikte, layout paketine --add parametresi ile dahil ettiğimiz Help Viewer bileşeninin de seçili geldiğini görüyoruz. Toplam gerekli alan 2,61 GB olarak belirtilmektedir.
Önemli Not: Bu ekranda seçebileceğiniz bileşenler, layout paketini oluştururken indirdiğiniz bileşenler ile sınırlıdır. Layout hazırlarken dahil etmediğiniz bir workload’u buradan seçmeniz durumunda kurulum ilgili paketleri bulamayacaktır. Bu nedenle layout paketini oluştururken hangi bileşenlere ihtiyaç duyacağınızı önceden planlamanız önemlidir. Örneğin ortamınızda SSIS ya da SSAS bulunuyorsa, Business Intelligence workload’unu layout aşamasında --add parametresi ile dahil etmeniz gerekmektedir.
Individual components sekmesinde bileşenleri tek tek seçebiliriz. Code tools başlığı altında Help Viewer bileşeninin işaretli olduğunu görüyoruz. Bu bileşen, layout oluştururken --add Microsoft.Component.HelpViewer parametresi ile dahil ettiğimiz bileşendir.
Help Viewer bileşeni özellikle çevrimdışı ortamlarda değer kazanmaktadır. İnternet erişimi bulunmayan bir sunucuda dokümantasyona ulaşmanın tek yolu, dokümantasyonu yerel olarak indirip konsol içinden okumaktır.
Listeyi aşağı kaydırdığımızda Compilers, build tools, and runtimes, Development activities ve Hybrid and Migration başlıkları altındaki bileşenleri de görebiliyoruz.
Language packs sekmesinde kurulum dilini seçebiliriz. Chinese (Simplified), Chinese (Traditional), Czech, English, French, German, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Spanish ve Turkish olmak üzere 14 dil seçeneği bulunmaktadır.
English seçili olarak devam ediyoruz. Teknik dokümantasyonun ve hata mesajlarının büyük çoğunluğunun İngilizce olması, sorun giderme sürecinde konsolu İngilizce kullanmayı avantajlı hale getirmektedir.
Önemli Not: Layout paketini --lang en-US parametresi ile oluşturduysanız bu ekranda yalnızca İngilizce seçeneği kurulabilir durumda olacaktır. Diğer dilleri seçmeniz durumunda ilgili paketler layout içerisinde bulunmadığı için kurulum hata verecektir.
Installation locations sekmesinde kurulumun hangi dizinlere yapılacağını ve ne kadar alan gerektiğini görüyoruz.
- Product: C:\Program Files\Microsoft SQL Server Management Studio 22\Release – 1,64 GB
- Download cache: C:\ProgramData\Microsoft\VisualStudio\Packages – 740 MB
- Shared components, tools, and SDKs: C:\Program Files (x86)\Microsoft Visual Studio\Shared – 2 MB
- System cache, tools, and SDKs with fixed locations: 258 MB
Keep download cache after the installation seçeneği işaretli geldiğinde, kurulum sırasında kullanılan paketler sunucu üzerinde saklanmaktadır. Çevrimdışı kurulumlarda bu seçenek özel bir anlam taşımaktadır: layout klasörünüz zaten elinizde olduğu için cache’i sunucu üzerinde tutmanız çoğu senaryoda gereksizdir. Disk alanı kısıtlı sunucularda bu seçeneğin kaldırılması 740 MB tasarruf sağlayacaktır.
Gerekli yapılandırmayı tamamladıktan sonra Workloads sekmesine dönüp Install diyerek kurulumu başlatıyoruz.
Kurulumun Tamamlanması
Visual Studio Installer ekranında kurulumun başladığını görüyoruz. Downloaded aşamasının yanında yeşil onay işareti bulunmaktadır; paketler layout klasöründen okunduğu için indirme adımı anında tamamlanmıştır. Installing: package 16 of 222 bilgisi ile kurulumun ilerlediğini takip edebiliyoruz.
Önemli Not: Ekranın sağ tarafında yer alan Developer News bölümünde We are unable to download the content due to network issues. uyarısını görüyoruz. Bu bir kurulum hatası değildir. Visual Studio Installer, sağ panelde gösterdiği haber içeriğini internetten çekmeye çalışmakta ve izole ortamda buna ulaşamamaktadır. Kurulumun kendisi layout klasöründen ilerlediği için bu uyarı kurulumu etkilememektedir. Çevrimdışı ortamlarda bu mesajın görülmesi beklenen bir davranıştır.
Kurulum son aşamaya geldiğinde Optimizing assemblies… adımının çalıştığını görüyoruz. Bu adım assembly’lerin ön derlenmesini yapmakta ve konsolun ilk açılış performansını iyileştirmektedir. Sunucu donanımına bağlı olarak bir süre alabilir.
Kurulum tamamlandığında All installations are up to date. mesajını ve SQL Server Management Studio 22 sürümünün 22.8.1 olduğunu görüyoruz.
Launch seçeneğine tıklayarak SQL Server Management Studio (SSMS) 22 konsolunu açıyoruz.
SQL Server Management Studio (SSMS) 22 Konsolunun İlk Açılışı ve Bağlantı
SQL Server Management Studio (SSMS) 22 konsolunun açıldığını ve Connect ekranının bağlantı sağlamamız için geldiğini görüyoruz. History sekmesinde ilk kurulum sonrası herhangi bir bağlantı geçmişi bulunmadığı için No connection history to display. uyarısı yer almaktadır.
Server Name alanına bağlanmak istediğimiz SQL Server örneğinin adını yazıyoruz. Authentication listesini açtığımızda Windows Authentication, SQL Server Authentication ve altı adet Microsoft Entra seçeneğinin bulunduğunu görüyoruz.
Önemli Not: İzole ortamlarda Microsoft Entra tabanlı kimlik doğrulama yöntemleri kullanılamayacaktır. Bu yöntemler Microsoft Entra ID servisine erişim gerektirmektedir. İnternet erişimi bulunmayan sunucularda Windows Authentication ya da SQL Server Authentication kullanılmalıdır.
Bu örnekte SQL Server Authentication yöntemini seçerek sa hesabı ile bağlantı sağlıyoruz.
Database Name alanında bağlantı sonrası açılacak varsayılan veritabanını belirleyebiliriz. <default> seçili bırakıldığında, oturum açan hesabın varsayılan veritabanı kullanılacaktır.
Encrypt listesinde Mandatory, Optional ve Strict (Minimum SQL 2022 or Azure SQL) seçenekleri bulunmaktadır. Mandatory, SQL Server Management Studio (SSMS) 20 sürümünden itibaren varsayılan değerdir ve bağlantının şifreli olmasını zorunlu kılmaktadır.
Sunucuda kurumsal bir sertifika otoritesi tarafından verilmiş sertifika bulunmuyorsa ve self-signed sertifika kullanılıyorsa, Trust Server Certificate seçeneğini işaretlememiz gerekmektedir. Ardından Connect ile bağlantıyı sağlıyoruz.
Önemli Not: Trust Server Certificate seçeneği, sunucu sertifikasının doğrulanmasını atlamaktadır. Bu seçenek test ortamlarında ve self-signed sertifika kullanılan senaryolarda pratik bir çözüm sunsa da, üretim ortamlarında güvenilir bir sertifika otoritesi tarafından verilmiş sertifika kullanılması ve bu seçeneğin işaretlenmemesi doğru yaklaşımdır.
Bağlantının başarılı bir şekilde sağlandığını ve Object Explorer içerisinde sunucumuzun listelendiğini görüyoruz. Databases, Security, Server Objects, Replication, Always On High Availability, Management, SQL Server Agent ve XEvent Profiler düğümleri kullanıma hazır durumdadır.
Kurulumun Doğrulanması
Kurulumun ve bağlantının doğru çalıştığını teyit etmek için sunucu üzerinde sağ tıklayıp Properties seçeneğine giriyoruz.
Server Properties ekranında bağlandığımız SQL Server örneğinin bilgilerini görüyoruz. Bu ekran, çevrimdışı kurulumun yalnızca konsolu değil, sunucu yönetim işlevlerini de sorunsuz sağladığını doğrulamaktadır.
Kurulan SQL Server Management Studio (SSMS) sürümünü doğrulamak için Help menüsü altındaki About… seçeneğine giriyoruz.
Önemli Not: Help menüsü altında yer alan Check for Updates, Release Notes, Roadmap ve Check Service Status gibi seçenekler internet erişimi gerektirmektedir. İzole ortamlarda bu seçenekler çalışmayacaktır. Buna karşılık Add and Remove Help Content seçeneği, layout paketine dahil ettiğimiz Help Viewer bileşeni sayesinde çevrimdışı dokümantasyon yönetimi için kullanılabilir durumdadır.
About SQL Server Management Studio ekranında SQL Server Management Studio sürümünün 22.8.1 olduğunu görüyoruz. Ayrıca SQL Server Management Objects (SMO), Microsoft T-SQL Parser, Microsoft Data SqlClient (MDS), Microsoft SQL Server Data-Tier Application Framework (DacFX) ve Microsoft .NET Framework bileşenlerinin sürüm bilgilerini de bu ekranda görebilirsiniz.
Bu ekranda gördüğünüz sürüm numarası, layout paketinizin oluşturulduğu tarihteki sürümdür. Birden fazla sunucuda kurulum yaptıysanız hepsinde aynı sürümü görmeniz beklenmektedir; bu, layout yönteminin sağladığı sürüm tutarlılığının somut göstergesidir.
Sertifikaların Betik ile Dağıtılması -burası
SQL Server Management Studio (SSMS) kurulumunu çok sayıda izole sunucuya dağıtacaksanız, sertifika kurulumunu da betik haline getirebilirsiniz.
Bu işlem için Windows ile birlikte gelen certutil.exe aracını kullanabilirsiniz.
certutil.exe -addstore -f "Root" "[layout yolu]\certificates\manifestRootCertificate.cer"
certutil.exe -addstore -f "Root" "[layout yolu]\certificates\manifestCounterSignRootCertificate.cer"
certutil.exe -addstore -f "Root" "[layout yolu]\certificates\vs_installer_opc.RootCertificate.cer"
Alternatif olarak certmgr.exe (Certificate Manager Tool) aracı da kullanılabilmektedir. Ancak bu araç Windows ile birlikte gelmemekte, Windows SDK içerisinde dağıtılmaktadır. Bu nedenle ek bir bağımlılık oluşturmayan certutil.exe tercih edilmesi daha pratiktir.
Önemli Not: Kök sertifika deposuna yazma işlemi Run as administrator yetkisi gerektirmektedir. Bu nedenle oluşturduğunuz betiğin Run as administrator ile çalıştırılması gerekmektedir.
Layout Paketinin Güncellenmesi
Microsoft, SQL Server Management Studio (SSMS) 22 için düzenli olarak yeni build’ler yayınlamaktadır. Elinizdeki layout paketi oluşturulduğu tarihteki sürümü içerdiği için, güncel bir sürüm kurmak istediğinizde layout klasörünü güncellemeniz gerekmektedir.
Güncelleme işlemi için internet bağlantısı bulunan bilgisayarda, mevcut layout klasörünü hedef göstererek aynı komutu tekrar çalıştırmanız yeterlidir.
vs_SSMS.exe --layout C:\SSMS_Layout
Layout Tool, Layout.json dosyasındaki mevcut yapılandırmayı okuyarak yalnızca değişen ve yeni eklenen paketleri indirmektedir. Tüm paketleri baştan indirmez.
Önemli Not: Layout klasörünü güncelledikten sonra izole sunuculara yeniden dağıtmanız gerekmektedir.
Mevcut Kurulumun Layout Üzerinden Güncellenmesi
Kurulum yapılmış izole sunucularda sürüm yükseltmesi için, güncellenmiş layout klasörüne geçiş yapmak için aşağıdaki komutu çalıştırabilirsiniz.
cd "C:\SMSS"
Kurulum yapılmış izole sunucularda sürüm yükseltmesi için, güncellenmiş layout klasörüne geçiş yaptıktan sonra aşağıdaki komutu çalıştırabilirsiniz.
vs_SSMS.exe update --noWeb
Güncellemeyi arayüzsüz olarak yapmak isterseniz:
vs_SSMS.exe update --noWeb --quiet --wait --norestart
Önemli Not: Güncelleme yapabilmek için layout paketinin, mevcut kurulumdaki bileşenlerin tamamını içermesi gerekmektedir. Eksik bileşen içeren bir layout ile güncelleme denendiğinde işlem başarısız olacaktır.
Mevcut Kuruluma Bileşen Eklenmesi (Modify)
Kurulum sonrasında yeni bileşenler eklemek isterseniz, önce eklemek istediğiniz bileşenleri içeren bir layout hazırlamanız gerekmektedir. Ardından layout klasörüne geçip modify komutunu kullanabilirsiniz.
Aşağıdaki örnekte Analysis Services, Integration Services ve Reporting Services bileşenleri mevcut kuruluma eklenmektedir:
vs_SSMS.exe modify --noWeb --productID Microsoft.VisualStudio.Product.SSMS --channelID SSMS.22.SSMS.Release --add Microsoft.SSMS.Component.AS --add Microsoft.SSMS.Component.IS --add Microsoft.SSMS.Component.RS --quiet --norestart
Arayüz üzerinden aynı işlemi Visual Studio Installer içerisindeki Modify seçeneği ile de gerçekleştirebilirsiniz.
Kurulumun Kaldırılması
SQL Server Management Studio (SSMS) 22 kurulumunu kaldırmak için öncelikle Visual Studio Installer klasörüne geçiş için aşağıdaki komutu çalıştırabilirsiniz.
cd "C:\Program Files (x86)\Microsoft Visual Studio\Installer"
SQL Server Management Studio (SSMS) 22 kurulumunu kaldırmak için Visual Studio Installer klasörüne geçiş yaptıktan sorna aşağıdaki komutu çalıştırabilirsiniz.
cd "C:\Program Files (x86)\setup.exe uninstall --passive --productId Microsoft.VisualStudio.Product.Ssms --channelId SSMS.22.SSMS.Release --noweb
Önemli Not: Kaldırma işlemi için ürün kimliği (productId) ve kanal kimliği (channelId) parametrelerinin doğru belirtilmesi zorunludur. Kanal kimliği sürüme özeldir; SQL Server Management Studio (SSMS) 21 Generally Available (GA) için SSMS.21.SSMS.Release, SQL Server Management Studio (SSMS) 22 Generally Available (GA) için SSMS.22.SSMS.Release değeri kullanılmaktadır.
Karşılaşabileceğiniz Sorunlar
- Kurulum hiçbir hata vermeden kapanıyor: Layout üzerinden kurulum başlatıldığında installer herhangi bir hata mesajı göstermeden kapanıyorsa, bunun nedeni büyük olasılıkla geçersiz ya da eksik bir sertifikadır. Bu senaryo, ekranda hiçbir ipucu bırakmadığı için sistemcilerin en çok zaman kaybettiği durumdur.
Teşhis için %TEMP% klasörüne gidip dd_bootstrapper_yyyyMMddHHmmss.log formatındaki en güncel bootstrapper log dosyasını açınız.
Aşağıdaki mesajlar sorunun sertifika kaynaklı olduğunu göstermektedir:
Certificate is invalid: <SSMSKlasorunuz>\vs_installer.opc
Error: Unable to verify the certificate: InvalidCertificate
Error 0x80131509: Signature verification failed. Error: Unable to verify the integrity of the installation files: the certificate could not be verified.
Bu mesajları gördüğünüzde çözüm, yazının sertifika bölümünde anlatılan adımları uygulamak ve sertifikaları Local Machine deposuna kurduktan sonra kurulumu tekrar başlatmaktır.
- Visual Studio bileşenleri kurulu bir bilgisayardan layout alınması: Layout paketini oluşturduğunuz bilgisayarda daha önce Visual Studio bileşenleri kurulu ise, layout aracı bazı paketleri “zaten mevcut” kabul ederek indirme dışında bırakabilmektedir. Bu durumda izole sunucuda kurulum eksik paket nedeniyle hata verecektir. Layout paketini mümkün olduğunca temiz bir bilgisayar üzerinden oluşturmanız önerilmektedir.
- İşletim sistemi mimarisi uyumsuzluğu: Layout paketini oluşturduğunuz işletim sistemi ile kurulum yapacağınız işletim sistemi arasında uyumsuzluk olabilmektedir. Windows 10 ya da Windows 11 istemci üzerinden alınan layout paketi, Windows Server 2025 üzerinde sorun çıkarabilmektedir. Hedef sunucunuz ile aynı ya da uyumlu bir işletim sistemi üzerinden layout oluşturmanız daha güvenli bir yaklaşımdır.
- Eksik bileşen seçimi: Kurulum ekranında layout paketinde bulunmayan bir workload seçildiğinde kurulum hata vermektedir. Layout paketini oluştururken hangi bileşenlere ihtiyaç duyacağınızı önceden planlayınız.
- Sertifika deposu seçimi: Sertifikayı Current User deposuna kurduğunuzda, kurulumu farklı bir kullanıcı bağlamında çalıştırdığınızda imza doğrulama hatası alabilirsiniz. Sunucu ortamlarında Local Machine deposunu tercih ediniz. Sorunun sertifika kaynaklı olup olmadığını
%TEMP%altındaki bootstrapper log dosyasından doğrulayabilirsiniz.
Sonuç
İnternet erişimi bulunmayan sunucular üzerine SQL Server Management Studio (SSMS) 22 kurulumu, stub installer mimarisi nedeniyle ilk bakışta mümkün görünmese de layout yöntemi ile sorunsuz bir şekilde gerçekleştirilebilmektedir. Bu yaklaşımın kurumsal ortamlarda ek bir faydası da bulunmaktadır: bir kez hazırladığınız ve doğruladığınız layout paketini bir dosya paylaşımı üzerinden yayınlayarak, tüm veritabanı sunucularınızda aynı SQL Server Management Studio (SSMS) sürümünün kurulu olmasını garanti altına alabilirsiniz. Sürüm tutarlılığı, çok sunuculu ortamlarda sorun giderme sürecini belirgin şekilde kolaylaştırmaktadır.
Bir sonraki yazımızda SQL Server Management Studio (SSMS) 22 kurulumunun sessiz (silent / unattended) olarak nasıl yapılacağını ve bu yöntemin SCCM, Intune gibi dağıtım araçları ile nasıl kullanılacağını inceleyeceğiz.
Başka bir yazımızda görüşmek dileğiyle…
Kaynaklar
- Install SQL Server Management Studio
- Create an offline installation of SQL Server Management Studio
- Install certificates for an offline installation of SQL Server Management Studio
- Use command-line parameters to install SQL Server Management Studio
- SQL Server Management Studio yüklemesi için komut satırı parametre örnekleri
- SQL Server Management Studio için iş yükü ve bileşen kimlikleri
- SQL Server Management Studio yükleme ve yükseltme sorunlarını giderme

