Public/Restore-SqlDatabases.ps1
function Restore-SqlDatabases { ############################################################################## #.SYNOPSIS # Restores SQL databases (used with Backup-SqlDatabases) # #.DESCRIPTION # Use this function to maintain backups restore of website SQL databases # Supports all MS SQL Server versions from MS SQL Server 2008 R2 to MS SQL Server 2014 # Used with Backup-SqlDatabases # #.PARAMETER SqlServerName # SQL Server name # #.PARAMETER DatabaseNames # Databases which will be backed up (coma separated) # #.PARAMETER BackupDirectory # Backup directory (absolute path) # #.EXAMPLE # $sqlServerName = "MS-SQL2008R2" # $databases = "sitecore_master, sitecore_web, sitecore_core" # $backupDir = "C:\backups" # Restore-SqlDatabases -SqlServerName $sqlServerName -DatabaseNames $databases -BackupDirectory $backupDir ############################################################################## [CmdletBinding()] Param ( $VerbosePreference = $PSCmdlet.GetVariableValue('VerbosePreference'), [string]$SqlServerName, [string]$DatabaseNames, [string]$BackupDirectory ) try { #region Begin $systemLog = NewSystemLog -Name "Restore-SqlDatabases" WriteLog -Path $systemLog -Message "OUTPUT: Restore databases started" WriteLog -Path $systemLog -Message "SQL Server name: '$SQLServerName'" WriteLog -Path $systemLog -Message "Database names: '$DatabaseNames'" WriteLog -Path $systemLog -Message "Backup directory: '$BackupDirectory'" #endregion Begin #region Process RestoreSqlDatabases -SqlServerName $SqlServerName -DatabaseNames $DatabaseNames -BackupDirectory $BackupDirectory -LogFile $systemLog #endregion Process #region End WriteLog -Path $systemLog -Message "OUTPUT: Restore databases finished" WriteLog -Path $systemLog -Message "OUTPUT: Detailed information logged into '$systemLog'" #endregion End } catch { RegisterException } } |