From e6db4926cc92ede7ec897732b0caedb166706a67 Mon Sep 17 00:00:00 2001 From: Luis Gizirian Date: Sat, 12 May 2018 12:11:56 -0300 Subject: [PATCH] Release Candidate. --- scripts/windows/dsc/PrepareSQLServer-AGDB.ps1 | 127 ++++++++++++++++++ scripts/windows/dsc/PrepareSQLServer.ps1 | 100 +++----------- scripts/windows/dsc/PrepareSQLServer.ps1.zip | Bin 22015221 -> 22016083 bytes .../n-tier-windows/n-tier-windows.json | 40 ++++++ 4 files changed, 186 insertions(+), 81 deletions(-) create mode 100644 scripts/windows/dsc/PrepareSQLServer-AGDB.ps1 diff --git a/scripts/windows/dsc/PrepareSQLServer-AGDB.ps1 b/scripts/windows/dsc/PrepareSQLServer-AGDB.ps1 new file mode 100644 index 000000000..701db20b3 --- /dev/null +++ b/scripts/windows/dsc/PrepareSQLServer-AGDB.ps1 @@ -0,0 +1,127 @@ +configuration SQLServerDBDsc +{ + param + ( + [Parameter(Mandatory)] + [String]$DomainName, + + [String]$DomainNetbiosName=(Get-NetBIOSName -DomainName $DomainName), + + [Parameter(Mandatory)] + [System.Management.Automation.PSCredential]$Admincreds, + + [Parameter(Mandatory)] + [System.Management.Automation.PSCredential]$SQLServiceCreds, + + [Parameter(Mandatory=$true)] + [String]$ClusterName, + + [Parameter(Mandatory=$true)] + [String]$ClusterOwnerNode, + + [Parameter(Mandatory=$true)] + [String]$ClusterIP, + + [Parameter(Mandatory=$true)] + [String]$witnessStorageBlobEndpoint, + + [Parameter(Mandatory=$true)] + [String]$witnessStorageAccountKey, + + [Int]$RetryCount=20, + [Int]$RetryIntervalSec=30 + ) + + Import-DscResource -ModuleName PSDesiredStateConfiguration, xSmbShare, xComputerManagement, xNetworking, xActiveDirectory, xFailoverCluster, SqlServer, SqlServerDsc + [System.Management.Automation.PSCredential]$DomainCreds = New-Object System.Management.Automation.PSCredential ("${DomainNetbiosName}\$($Admincreds.UserName)", $Admincreds.Password) + + $ipcomponents = $ClusterIP.Split('.') + $ipcomponents[3] = [convert]::ToString(([convert]::ToInt32($ipcomponents[3])) + 1) + $ipdummy = $ipcomponents -join "." + $ClusterNameDummy = "c" + $ClusterName + + $suri = [System.uri]$witnessStorageBlobEndpoint + $uricomp = $suri.Host.split('.') + + $witnessStorageAccount = $uriComp[0] + $witnessEndpoint = $uricomp[-3] + "." + $uricomp[-2] + "." + $uricomp[-1] + + $computerName = $env:COMPUTERNAME + $domainUserName = $DomainCreds.UserName.ToString() + + Node localhost + { + if ($ClusterOwnerNode -eq $env:COMPUTERNAME) + { + File BackupDirectory + { + Ensure = "Present" + Type = "Directory" + DestinationPath = "F:\Backup" + # DependsOn = '[SqlAGReplica]AddReplica' + } + + xSMBShare DBBackupShare + { + Name = "DBBackup" + Path = "F:\Backup" + Ensure = "Present" + FullAccess = $DomainCreds.UserName + Description = "Backup share for SQL Server" + DependsOn = "[File]BackupDirectory" + } + + SqlDatabase Create_Database + { + Ensure = 'Present' + ServerName = $env:COMPUTERNAME + InstanceName = 'MSSQLSERVER' + Name = 'Ha-Sample' + PsDscRunAsCredential = $DomainCreds + DependsOn = "[xSMBShare]DBBackupShare" + } + + SqlAGDatabase AddDatabaseToAG + { + AvailabilityGroupName = $ClusterName + BackupPath = "\\" + $env:COMPUTERNAME + "\DBBackup" + DatabaseName = 'Ha-Sample' + InstanceName = 'MSSQLSERVER' + ServerName = $env:COMPUTERNAME + Ensure = 'Present' + ProcessOnlyOnActiveNode = $true + PsDscRunAsCredential = $DomainCreds + DependsOn = "[SqlDatabase]Create_Database" + } + } + + LocalConfigurationManager + { + RebootNodeIfNeeded = $true + } + } +} + +function Get-NetBIOSName +{ + [OutputType([string])] + param( + [string]$DomainName + ) + + if ($DomainName.Contains('.')) { + $length=$DomainName.IndexOf('.') + if ( $length -ge 16) { + $length=15 + } + return $DomainName.Substring(0,$length) + } + else { + if ($DomainName.Length -gt 15) { + return $DomainName.Substring(0,15) + } + else { + return $DomainName + } + } +} \ No newline at end of file diff --git a/scripts/windows/dsc/PrepareSQLServer.ps1 b/scripts/windows/dsc/PrepareSQLServer.ps1 index b7f7708ba..440c5a30b 100644 --- a/scripts/windows/dsc/PrepareSQLServer.ps1 +++ b/scripts/windows/dsc/PrepareSQLServer.ps1 @@ -335,7 +335,6 @@ configuration SQLServerPrepareDsc DependsOn = "[SqlAGListener]AvailabilityGroupListener" PsDscRunAsCredential = $DomainCreds } - } else { xWaitForCluster WaitForCluster { @@ -375,26 +374,26 @@ configuration SQLServerPrepareDsc DependsOn = "[Script]JoinExistingCluster" } - # Create a DatabaseMirroring endpoint - SqlServerEndpoint HADREndpoint - { - EndPointName = 'HADR' - Ensure = 'Present' - Port = 5022 - ServerName = $env:COMPUTERNAME - InstanceName = 'MSSQLSERVER' - DependsOn = "[SqlAlwaysOnService]EnableAlwaysOn" - } - + # Create a DatabaseMirroring endpoint + SqlServerEndpoint HADREndpoint + { + EndPointName = 'HADR' + Ensure = 'Present' + Port = 5022 + ServerName = $env:COMPUTERNAME + InstanceName = 'MSSQLSERVER' + DependsOn = "[SqlAlwaysOnService]EnableAlwaysOn" + } - SqlWaitForAG WaitForAG - { - Name = $ClusterName - RetryIntervalSec = 20 - RetryCount = 30 - PsDscRunAsCredential = $DomainCreds - DependsOn = "[SqlServerEndpoint]HADREndpoint","[SqlServerRole]AddDomainAdminAccountToSysAdmin" - } + + SqlWaitForAG WaitForAG + { + Name = $ClusterName + RetryIntervalSec = 20 + RetryCount = 30 + PsDscRunAsCredential = $DomainCreds + DependsOn = "[SqlServerEndpoint]HADREndpoint","[SqlServerRole]AddDomainAdminAccountToSysAdmin" + } # Add the availability group replica to the availability group SqlAGReplica AddReplica @@ -412,69 +411,8 @@ configuration SQLServerPrepareDsc DependsOn = "[SqlWaitForAG]WaitForAG" } - File BackupDirectory - { - Ensure = "Present" - Type = "Directory" - DestinationPath = "F:\Backup" - DependsOn = '[SqlAGReplica]AddReplica' - } - - xSMBShare DBBackupShare - { - Name = "DBBackup" - Path = "F:\Backup" - Ensure = "Present" - FullAccess = $DomainCreds.UserName - Description = "Backup share for SQL Server" - DependsOn = "[File]BackupDirectory" - } - - SqlDatabase Create_Database - { - Ensure = 'Present' - ServerName = $env:COMPUTERNAME - InstanceName = 'MSSQLSERVER' - Name = 'Ha-Sample' - PsDscRunAsCredential = $DomainCreds - DependsOn = "[xSMBShare]DBBackupShare" - } - - Script BackupDB - { - SetScript = - { - import-module sqlps; - $container = "\\" + $env:COMPUTERNAME + "\DBBackup"; - $FileName = 'Ha-Sample.bak'; - $database = 'Ha-Sample'; - $BackupFile = $container + '/' + $FileName; - $serverInstance = $env:COMPUTERNAME + '/' + 'MSSQLSERVER' - - Backup-SqlDatabase -ServerInstance $serverInstance –Database $database -BackupFile $BackupFile; - - } - TestScript = { return $false } - GetScript = { @{ Result = ("") } } - DependsOn = "[SqlDatabase]Create_Database" - PsDscRunAsCredential = $DomainCreds - } - - SqlAGDatabase AddDatabaseToAG - { - AvailabilityGroupName = $ClusterName - BackupPath = "\\" + $env:COMPUTERNAME + "\DBBackup" - DatabaseName = 'Ha-Sample' - InstanceName = 'MSSQLSERVER' - ServerName = $env:COMPUTERNAME - Ensure = 'Present' - ProcessOnlyOnActiveNode = $true - PsDscRunAsCredential = $DomainCreds - DependsOn = "[Script]BackupDB" - } } - LocalConfigurationManager { RebootNodeIfNeeded = $true diff --git a/scripts/windows/dsc/PrepareSQLServer.ps1.zip b/scripts/windows/dsc/PrepareSQLServer.ps1.zip index d171d0d0b344514901ff20c470f0ff367e957ce5..572ed243927b9fb20181e677f480ce5fe3b9e60e 100644 GIT binary patch delta 30329 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 Yegpa^n~54x>wQ{MZ?bKSq+Y%M14Fos!T