Установка SQL Server 2019 с помощью DSC. Часть вторая.

Итак. В предыдущей статье мы подготовили шару с необходимыми библиотеками, скачали и установили необходимые библиотеки и модули. Теперь можно собственно приступить к главному блюду – установка SQL Server.

Я для этого сделал отдельную конфигурацию, хотя можно конечно обойтись и одной. Но так будет нагляднее.

Машины подготовлены, время запускать новую конфигурацию.

$ConfigurationData = @{
    AllNodes = @(
      @{
        NodeName                    = 'FQDN КУДА СТАВИМ'
        PSDscAllowPlainTextPassword = $True
      }
    )
}
#вот то что выше - позволяет передавать пароли в открытом виде

$pass = (convertto-securestring 'ТУТ ПАРОЛЬ В ОТКРЫТОМ ВИДЕ' -asplaintext -force)
$cred = (New-Object System.Management.Automation.PSCredential ('sa', $pass))

Configuration SQLInstall
{
     Add-Type -AssemblyName System.Web
     Import-DscResource –ModuleName 'PSDesiredStateConfiguration'
     Import-DscResource -ModuleName SqlServerDsc
     

     node "FQDN куда ставишь"
     {
          WindowsFeature 'NetFramework45'
          {
               Name   = 'NET-Framework-45-Core'
               Ensure = 'Present'
          }

          SqlSetup 'InstallDefaultInstance'
          {
               InstanceName        = 'MSSQLSERVER'
               Features            = 'SQLENGINE,REPLICATION'
               SQLCollation        = 'SQL_Latin1_General_CP1_CI_AS'
               SourcePath          = '\\srv-01\repo\mssql2019'    #тут папка где лежит дистрибутив sql. т.е. файлы setup.ехе и т.д. 
               SQLSysAdminAccounts = @('Administrators')  
               SecurityMode        = 'SQL'
               
               SAPwd                 = $cred
               NpEnabled            = $true
               TcpEnabled           = $true
               UpdateEnabled        = 'False'
               UseEnglish           = $true
               ForceReboot          = $false
               DependsOn           = '[WindowsFeature]NetFramework45'
          }
     }






}

SQLInstall -ConfigurationData $ConfigurationData

Start-DscConfiguration -Path SQLInstall  -Wait -Verbose -Force

Разберем несколько непонятных сразу моментов. Когда Вы ставите SQL сервер в режиму mixed, от вас требуется установить пароль пользователя sa. И соответственно, желательно было бы, чтобы вся передача была бы зашифрована и т.д. Вы сами могли убедиться, что Вы можете открыть mof файл блокнотом и прочитать его. Для шифрования всего добра Вам понадобится сертификат. Но чтобы не пересказывать доки от microsoft, вот вам просто ссылочка: https://docs.microsoft.com/en-us/powershell/dsc/configurations/configdatacredentials?view=dsc-1.1

Собственно все что находится в этом блоке

$ConfigurationData = @{
    AllNodes = @(
      @{
        NodeName                    = 'FQDN КУДА СТАВИШЬ'
        PSDscAllowPlainTextPassword = $True
      }
    )
}

Позволяет передавать пароль в открытом виде. Да, это плохой совет. Но в любом случае я про это рассказал

Add-Type -AssemblyName System.Web Добавлен для исправления ошибки которая выскакивала не тестовых серверах.

Import-DSCResource – Используется внутри конфигурации. Не обязательно, но желательно. Подробнее тут: https://docs.microsoft.com/en-us/powershell/dsc/configurations/import-dscresource?view=dsc-1.1#:~:text=Import%2DDSCResource%20is%20a%20dynamic,resources%20used%20in%20your%20Configuration.

Ну а установка SQL совсем просто. Мы ставим следующие Features: SQLENGINE,REPLICATION.

Метод сортировки – SQL_Latin1_General_CP1_CI_AS

Пароль SA задан в SAPwd.

И т.д. Все достаточно наглядно. Если хотите посмотреть подробнее, что можно делать, (задавать учетки агентам, ставить нужные фичи и т.д.) то тогда рекомендую заглянуть на гитхаб модуля SQLServerDSC

Ссылка на гитхаб: https://github.com/dsccommunity/SqlServerDsc

Вот собственно и все. Поскольку мы не копировали дистрибутив SQL Server на конечный компьютер, а ставили его сразу по сети из расшареной папки, то скорость работы может быть ниже. Но это уже на ваш выбор. Ну и в качестве доказательства скорости работы прикладываю картинку, за какое время была произведена установка SQL сервер указанной выше конфигурации.

Добавить комментарий

Ваш адрес email не будет опубликован.