Site icon Baki ÇUBUK

Microsoft SQL Server Management Studio 22 Çevrimdışı (Offline) Kurulumu

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:

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:

Sıklıkla kullanabileceğiniz diğer parametreler:

Ö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:

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:

Layout İçerisindeki Sertifika Dosyaları

Layout klasörü altındaki Certificates dizininde üç adet sertifika dosyası bulunmaktadır:

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.

  1. mmc.exe çalıştırılır.
  2. File menüsünden Add/Remove Snap-in seçilir.
  3. Certificates çift tıklanır, Computer account seçilir ve Next ile devam edilir.
  4. Local computer seçilir ve Finish ile tamamlanır.
  5. Certificates (Local Computer) genişletilir.
  6. Trusted Root Certification Authorities altındaki Certificates bölümünde gerekli kök sertifikalar aranır.
  7. 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:

Ö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 AssistanceBusiness IntelligenceHybrid and MigrationCode 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 runtimesDevelopment 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.

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 AuthenticationSQL 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 MandatoryOptional 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. DatabasesSecurityServer ObjectsReplicationAlways On High AvailabilityManagementSQL 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 UpdatesRelease NotesRoadmap 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

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.

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

 

Exit mobile version