Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sql Server yükleme arabiriminde yalnızca aynı düğmeleri seçerek, aynı bilgileri girerek ve bir kez daha düşünmeyerek hiç geçtiniz mi? Yükleme tamamlandı, ancak sysadmin rolünde DBA grubunu belirtmeyi unuttunuz. Sonra şunları yapmak zorunda kaldınız:
- Tek kullanıcı moduna geçin.
- Uygun kullanıcıları veya grupları ekleyin.
- SQL Server'ı çok kullanıcılı modda geri getirin.
- Test.
Daha da kötüsü, tüm sistemin güveni sarsıldı. "Başka neyi unuttum?" diye kendinize sorabilirsiniz.
PowerShell İstenen Durum Yapılandırması (DSC) hakkında bilgi edinin. DSC kullanarak, yüzlerce ve binlerce sunucuda yeniden kullanabileceğiniz bir yapılandırma şablonu oluşturursunuz. Derlemeye bağlı olarak, kurulum parametrelerinden birkaçını ayarlamanız gerekebilir. Ancak bu önemli bir sorun değildir çünkü tüm standart ayarları yerinde tutabilirsiniz. Önemli bir parametre girmeyi unutma olasılığını ortadan kaldırır.
Bu makalede, SqlServerDsc DSC kaynağını kullanarak Windows Server 2016'da sql server 2017'nin tek başına bir örneğinin ilk kurulumu incelenmiştir. DSC'nin nasıl çalıştığını araştırmayacağımızdan, DSC hakkında önceden bazı bilgiler yararlı olacaktır.
Not
Bu makale, Windows Server 2016, 2019 ve 2022 ile yüklenen varsayılan PowerShell sürümü olan PowerShell 5.1'e başvurur.
Bu izlenecek yol için aşağıdaki öğeler gereklidir:
- Windows Server 2016 çalıştıran bir makine.
- SQL Server 2017 yükleme medyası.
- SqlServerDsc DSC kaynağı.
Önkoşullar
Çoğu durumda, önkoşul gereksinimlerini işlemek için DSC kullanılır. Ancak bu tanıtımın amaçları doğrultusunda önkoşulları el ile ele alıyoruz.
SqlServerDsc DSC kaynağını yükleme
SqlServerDsc DSC kaynağını, Install-Module cmdlet'ini kullanarak PowerShell Galerisi üzerinden indirin.
Not
Modülü yüklemek için PowerShell'in yönetici olarak çalıştığından emin olun.
Install-Module -Name SqlServerDsc
SQL Server 2017 yükleme medyasını alma
SQL Server 2017 yükleme medyasını sunucuya indirin. SQL Server 2017 Enterprise'ı bir Visual Studio aboneliğinden indirdik ve ISO'yu C:\en_sql_server_2017_enterprise_x64_dvd_11293666.isokopyaladık.
Şimdi ISO bir dizine ayıklanmalıdır:
New-Item -Path C:\SQL2017 -ItemType Directory
$mountResult = Mount-DiskImage -ImagePath 'C:\en_sql_server_2017_enterprise_x64_dvd_11293666.iso' -PassThru
$volumeInfo = $mountResult | Get-Volume
$driveInfo = Get-PSDrive -Name $volumeInfo.DriveLetter
Copy-Item -Path ( Join-Path -Path $driveInfo.Root -ChildPath '*' ) -Destination C:\SQL2017\ -Recurse
Dismount-DiskImage -ImagePath 'C:\en_sql_server_2017_enterprise_x64_dvd_11293666.iso'
Yapılandırmayı oluşturma
Konfigürasyon
Yönetilen Nesne Biçimi (MOF) belgeleri oluşturmak için çağrılacak yapılandırma işlevini oluşturun:
Configuration SQLInstall
{...}
Modül
Modülleri geçerli oturuma aktarın. Bu modüller, yapılandırma belgesine MOF belgelerini nasıl oluşturacaklarını bildirir. Ayrıca DSC altyapısına MOF belgelerinin sunucuya nasıl uygulanacağını da söyler:
Import-DscResource -ModuleName SqlServerDsc
Kaynaklar
.NET Çerçevesi
SQL Server, .NET Framework'e dayanır. Bu nedenle, SQL Server'ı yüklemeden önce yüklü olduğundan emin olmamız gerekir. WindowsFeature kaynağı, Net-Framework-45-Core Windows özelliğini yüklemek amacıyla kullanılır.
WindowsFeature 'NetFramework45'
{
Name = 'Net-Framework-45-Core'
Ensure = 'Present'
}
Sql Kurulumu
SqlSetup kaynağı, DSC'ye SQL Server'ın nasıl yükleneceğini bildirmek için kullanılır. Temel yükleme için gereken parametreler şunlardır:
- InstanceName. Örneğin adı. Varsayılan örnek için MSSQLSERVER kullanın.
- Özellikleri. Yüklenecek özellikler. Bu örnekte yalnızca SQLEngine özelliğini yükleyeceğiz.
-
SourcePath. SQL yükleme medyasının konumu. Bu örnekte SQL yükleme medyasını
C:\SQL2017içinde depoladık. Ağ paylaşımı, sunucuda kullanılan alanı en aza indirebilirsiniz. - SQLSysAdminAccounts. sysadmin rolünün üyesi olacak kullanıcılar veya gruplar. Bu örnekte, yerel Yöneticiler grubuna sysadmin erişimi için yetkisi veriyoruz.
Not
Bu yapılandırmanın yüksek güvenlikli bir ortamda kullanılması önerilmez.
SqlSetup'deki kullanılabilen parametrelerin tam listesi ve açıklaması, SqlServerDsc GitHub deposunda mevcuttur.
SqlSetup kaynağı yalnızca SQL Server'ı yükler ve uygulanan ayarları korumaz. SqlSysAdminAccounts yükleme zamanında belirtilip belirtilmediğine örnek olarak verilmiştir. Yönetici, sysadmin rolüne oturum açma ekleyebilir veya bu rolden oturum açma işlemlerini kaldırabilir. Ancak SqlSetup kaynağı etkilenmez. DSC'nin sysadmin rolünün üyeliğini zorlamasını istiyorsanız, SqlServerRole kaynağını kullanın.
Yapılandırmayı bitir
Configuration SQLInstall
{
Import-DscResource -ModuleName SqlServerDsc
node localhost
{
WindowsFeature 'NetFramework45'
{
Name = 'NET-Framework-45-Core'
Ensure = 'Present'
}
SqlSetup 'InstallDefaultInstance'
{
InstanceName = 'MSSQLSERVER'
Features = 'SQLENGINE'
SourcePath = 'C:\SQL2017'
SQLSysAdminAccounts = @('Administrators')
DependsOn = '[WindowsFeature]NetFramework45'
}
}
}
İnşa etme ve yayınlama
Yapılandırmayı oluşturma
Yapılandırma betiğinin kaynağını belirleyin:
. .\SQLInstallConfiguration.ps1
Yapılandırma işlevini çalıştırın:
SQLInstall
çalışma dizininde SQLInstall adlı bir dizin oluşturulur. localhost.mofadlı bir dosya içerir. Derlenmiş DSC yapılandırmasını gösteren MOF içeriğini inceleyin.
Yapılandırmayı dağıt
SQL Server'ın DSC dağıtımını başlatmak için Start-DscConfiguration cmdlet'ini çağırın. Cmdlet'ine aşağıdaki parametreler sağlanır:
-
yol. Dağıtılacak MOF belgelerini içeren klasörün yolu. Örnek olarak
C:\SQLInstall. - Bekleyin. Yapılandırma işinin tamamlanmasını bekleyin.
- Güç. Mevcut DSC yapılandırmalarını geçersiz kılın.
- Ayrıntılı. Ayrıntılı çıkışı gösterin. Yapılandırmayı ilk kez gönderdiğinizde, sorun gidermeye yardımcı olması için kullanışlıdır.
Start-DscConfiguration -Path C:\SQLInstall -Wait -Force -Verbose
Yapılandırma uygulandığında, ayrıntılı çıktı size nelerin olduğunu gösterir. Ekranda 'İşlemi 'CimMethod'u Çağır' tamamlandı' ifadesi göründüğünde ve herhangi bir hata (kırmızı metin) oluşmadığı sürece, SQL Server yüklenmelidir.
Yüklemeyi doğrulama
DSC
Test-DscConfiguration cmdlet'leri sunucunun geçerli durumunun istenen durumu karşılayıp karşılamadığını belirleyebilir. Bu durumda, SQL Server yüklemesidir. Test-DscConfiguration sonucu, True olmalıdır:
PS C:\> Test-DscConfiguration
True
Hizmetleri
Hizmetler listesi artık SQL Server hizmetlerini döndürür:
PS C:\> Get-Service -Name *SQL*
Status Name DisplayName
------ ---- -----------
Running MSSQLSERVER SQL Server (MSSQLSERVER)
Stopped SQLBrowser SQL Server Browser
Running SQLSERVERAGENT SQL Server Agent (MSSQLSERVER)
Running SQLTELEMETRY SQL Server CEIP service (MSSQLSERVER)
Running SQLWriter SQL Server VSS Writer
SQL Sunucusu
PS C:\> & sqlcmd -S $env:COMPUTERNAME
1> SELECT @@SERVERNAME
2> GO
1> quit
İlgili içerik
- Windows PowerShell İstenen Durum Yapılandırmasına Genel Bakış
- Komut isteminden Windows'ta SQL Server'ı yükleme ve yapılandırma
- Yapılandırma dosyası kullanarak SQL Server'ı yükleme