Powershell ile SQL Server 2019 Kurulumu

Merhaba arkadaşlar bu yazımızda powershell ile SQL Server 2019 kurulumundan bahsedeceğim. Kurulum aşamasında SQL Server 2019 Developer edition kullanacağım için internetten iso dosyasını indirmem gerekiyor. İndirme işlemine geçmeden önce indireceğim yeri belirlemem gerekli, tüm işlemlerim için yönetici olarak bir powershell komut satırını çalıştırıyorum ve C dizini içerisine geliyorum. ( Projenin tüm dosyalarını GitHub adresimde bulabilirsiniz!)

SQLServerDownload klasörünü oluşturduktan sonra SQL Server 2019 ISO dosyasını powershell kullanarak oluşturduğumuz klasör içerisine aşağıdaki kod parçaları ile indiriyorum.

$folder = “C:\SQLServerDownload”
$url= https://download.microsoft.com/download/D/0/C/D0CCEE78-05BE-4A5E-AE9C-2FDE69F6600D/SQLServerVnextCTP2-x64-ENU.iso
$req = [System.Net.HttpWebRequest]::Create($url)
$req.Method = “HEAD”
$response = $req.GetResponse()
$fUri = $response.ResponseUri
$filename = [System.IO.Path]::GetFileName($fUri.LocalPath);
$response.Close()
$target = join-path $folder $filename
Invoke-WebRequest -Uri $url -OutFile $target

Görüldüğü gibi ISO dosyasını indirmeye başladık.

İndirme işlemi tamamlandıktan sonra yapmamız gereken ISO dosyasını açmamız gerekir. Bu işlemi gerçekleştirmek için aşağıdaki kod parçasını kullanıyoruz.

$ImagePath = ‘C:\SQLServerDownload\SQLServerVnextCTP2-x64-ENU.iso’
New-Item -Path C:\SQLServer -ItemType Directory
Copy-Item -Path (Join-Path -Path (Get-PSDrive -Name ((Mount-DiskImage -ImagePath $ImagePath -PassThru) | Get-Volume).DriveLetter).Root -ChildPath ‘*’) -Destination C:\SQLServer\ -Recurse
Dismount-DiskImage -ImagePath $ImagePath

Kod parçasında belirttiğimiz C:\SQLServer dosya yolunu kontrol edip, gerçekleştirdiğimiz işlemi kontrol edelim. Görüldüğü gibi SQL Server indirme ve klasöre çıkartma işlemlerini başarılı bir şekilde tamamladık. 

Şimdi sırada powershell 4.0 ile gelen dsc yani yapılandırma yöneticisi ile nuget ve sqlserverdsc kurulumlarını gerçekleştirmeliyiz. Bunların kurulumları için aşağıdaki komutları çalıştırmalıyız.

Nuget için;

Get-PackageProvider -Name NuGet –ForceBootstrap

Sırada SQL Server Kurulumu için hazırladığım konfigürasyon dosyasını çalıştırmaya geldim. Eğer ki aşağıdaki kodların içerisinde gördüğünüz SQLSetup kısımının detaylarını incelemek isterseniz sqlserverdsc nin yardım sayfasından yararlanabilirsiniz.

Configuration SQLServerConfiguration
{
Import-DscResource -ModuleName PSDesiredStateConfiguration
Import-DscResource -ModuleName SqlServerDsc
node localhost
{
WindowsFeature ‘NetFramework45’ {
Name   = ‘NET-Framework-45-Core’
Ensure = ‘Present’
}
SqlSetup ‘InstallDefaultInstance’
{
InstanceName        = ‘MSSQLSERVER’
Features            = ‘SQLENGINE’
SourcePath          = ‘C:\SQLServer’
SQLSysAdminAccounts = @(‘Administrators’)
DependsOn           = ‘[WindowsFeature]NetFramework45’
}
}
}
SQLServerConfiguration

Yukarıdaki kod bloğunu bir powershell dosyası olarak C:\ dizini altına kayıt edelim.

SQLServerConfiguration isiminde kayıt ettiğimiz powershell dosyasını yönetici olarak açtığımız powershell komut satırında çalıştırıyoruz.

Sorgu çalıştıktan sonra C:\ dizini altında SQLServerConfiguration isimli bir klasör oluşturacak, o klasörün içerisinde ise localhost.mof isimli bir dosya oluşacaktır. Artı kurulum için yapılandırma dosyamız da hazır olduğuna göre artık aşağıdaki komut ile kurulumu başlatabiliriz.

Start-DscConfiguration -Path C:\SQLServerConfiguration -Wait -Force -Verbose

Bir süre bekledikten sonra işlem tamamlanacaktır. İşlemin başarılı olup olmadığını ise Get-Service *SQL* komutu ile kontrol edebiliriz.

Görüldüğü gibi powershell ile sql server kurulumunu başarılı bir şekilde gerçekleştirdik ve servis şuan çalışmaktadır.

Bir yanıt yazın