108 lines
3.8 KiB
Puppet
108 lines
3.8 KiB
Puppet
####
|
|
# Class: sqlserver_2014
|
|
# Description: Installing SQL server and its prerequisites and configuration
|
|
# Customer: Freshfields Bruckhaus Deringer
|
|
# Author: WM Promus
|
|
# Date: April 2018
|
|
###
|
|
|
|
class ag_sqlserver (
|
|
String $sourcelocation = '\\\\freshfields\\dfs\\FCL\\SQLServerSharedRepository\\INSTALLMEDIA\\SQL 2014\\SQL 2014 - Standard',
|
|
String $windowssourcelocation = '\\\\freshfields\\dfs\\FCL\\ISO\\Microsoft\\WINDOWS_SERVER_2012R2\\ISO_X19-82891\\sources\\sxs',
|
|
String $sqlserverinstancename = 'MSSQLSERVER',
|
|
String $sqlserveradminaccount = 'sa',
|
|
String $sqlserveradminpassword = 'Passw0rd1',
|
|
String $sqlserversecuritymode = 'SQL',
|
|
Array $sqlserverfeatures = ['SQLEngine'],
|
|
String $sqlserverinstancefolder = 'C:\\Program Files\\Microsoft SQL Server',
|
|
String $sqlserverdatafolder = 'E:\\SQLData',
|
|
String $sqlserverlogfolder = 'F:\\SQLLog',
|
|
String $sqlservertempdbfolder = 'G:\\TempDB',
|
|
String $sqlserverbackupfolder = 'E:\\SQLBackup',
|
|
) {
|
|
|
|
############################################################################
|
|
# Installing SQL Server pre-requisites #
|
|
############################################################################
|
|
|
|
include chocolatey
|
|
|
|
reboot { 'reboot_powershell':
|
|
when => pending,
|
|
timeout => 15,
|
|
}
|
|
package { 'dotnet4.5':
|
|
ensure => latest,
|
|
provider => 'chocolatey',
|
|
}
|
|
package { 'powershell':
|
|
ensure => installed,
|
|
provider => 'chocolatey',
|
|
require => Package['dotnet4.5'],
|
|
notify => Reboot['reboot_powershell'],
|
|
}
|
|
package { 'sql2014-powershell':
|
|
ensure => installed,
|
|
provider => 'chocolatey',
|
|
require => Package['powershell'],
|
|
}
|
|
dsc_windowsfeature { 'NET Framework 3.5':
|
|
dsc_ensure => 'present',
|
|
dsc_name => 'NET-Framework-Features',
|
|
dsc_source => $windowssourcelocation,
|
|
require => Package['powershell'],
|
|
}
|
|
############################################################################
|
|
# Installing and configuring SQL Server #
|
|
############################################################################
|
|
|
|
file { 'C:\\MSSQLSERVER':
|
|
ensure => directory,
|
|
}
|
|
-> file { $sqlserverinstancefolder:
|
|
ensure => directory,
|
|
}
|
|
-> file { $sqlserverdatafolder:
|
|
ensure => directory,
|
|
}
|
|
-> file { $sqlserverlogfolder:
|
|
ensure => directory,
|
|
}
|
|
-> file { $sqlservertempdbfolder:
|
|
ensure => directory,
|
|
}
|
|
-> file { $sqlserverbackupfolder:
|
|
ensure => directory,
|
|
}
|
|
-> sqlserver_instance { $sqlserverinstancename:
|
|
source => $sourcelocation,
|
|
windows_feature_source => $windowssourcelocation,
|
|
features => $sqlserverfeatures,
|
|
security_mode => $sqlserversecuritymode,
|
|
sa_pwd => $sqlserveradminpassword,
|
|
#sql_sysadmin_accounts => $sqlserversysadminaccounts,
|
|
sql_sysadmin_accounts => [$facts['id'], "007"],
|
|
install_switches => {
|
|
'TCPENABLED' => 1,
|
|
'SQLBACKUPDIR' => $sqlserverbackupfolder,
|
|
'SQLTEMPDBDIR' => $sqlservertempdbfolder,
|
|
'INSTALLSQLDATADIR' => $sqlserverdatafolder,
|
|
'INSTANCEDIR' => $sqlserverinstancefolder,
|
|
'INSTALLSHAREDDIR' => $sqlserverinstancefolder,
|
|
'INSTALLSHAREDWOWDIR' => 'C:\\Program Files (x86)\\Microsoft SQL Server',
|
|
},
|
|
require => Dsc_windowsfeature['NET Framework 3.5'],
|
|
}
|
|
-> sqlserver::config { $sqlserverinstancename:
|
|
admin_login_type => 'SQL_LOGIN',
|
|
admin_user => $sqlserveradminaccount,
|
|
admin_pass => $sqlserveradminpassword,
|
|
}
|
|
#->
|
|
#sqlserver::login{ $sqlserveruser:
|
|
# instance => $sqlserverinstancename,
|
|
# password => $sqlserveruserpassword,
|
|
#}
|
|
|
|
}
|