SQWareProduction:mssql:bin:sqwmsq RestoreDatabase.ksh

From Wiki_dbSQWare
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Presentation

Script $gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh :


Standard database restore MsSql
script dynamically find backup files to restore
and makes a synchronisation of users/logins
The script can also:

  • choose backup file
  • change Path to find backup to restore (by default: 'HKEY_LOCAL_MACHINE', 'BackupDirectory')
  • run shell script before restore
  • run shell script after restore



Online help

The online help is available for most scripts with the -h option.
Ex: $gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -h
Content of this assistance :

Can't find if env is 'SqlCmd' or 'FreeTds' !
Sourcing sqwmsq_Global.lib v2025.06 SQWareProduction for MsSql (dbSQWare) ... 

Usage: sqwmsq_RestoreDatabase.ksh [-h] -I <FreeTdsAlias> -DT <DatabaseName> [+ options]

DESCRIPTION
   sqwmsq_RestoreDatabase.ksh restore database
SUPPORT
   MsSql supported versions: 2000 <= v <= 2022

PARAMETERS
     -I   Instance      : Target instance (freeTds alias).
     -DT TargetDatabase : Target database to Load.
OPTIONS
     -h                 : Display the full usage.
     -s                 : Display samples of usage.
     -F   filename      : Backup file to Load ((by default take the latest).
     -BP  path          : Path to find backup to Load (by default: 'HKEY_LOCAL_MACHINE', 'BackupDirectory').
     -DS  DatabaseSource: Database source (by default same than -DT).
     -DD  date          : Date of Dump (by default take the latest).
     -FRT return_code   : Force return code value on error.
     -REP               : Insert into repeat file on error.
     -Move              : Generate move instruction.
     -Type   type       : Type of restore full,diff (by default full).
     -Before    script  : Script to execute before restore.
     -After     script  : Script to execute after restore.
     -BeforeSql script  : Sql script to execute before restore.
     -AfterSql  script  : Sql script to execute after restore.
     -AddMail   email   : Email address to add at 'demo-sqwarebox@dbsqware.com'.
     -SendReport        : Send execution log report.
     -NoMail            : Deactivate sendmail on error demo-sqwarebox@dbsqware.com (by default, send on error).
     -Locale    locale  : Force Locale for help display (fr,en).
     -Exec              : Execute commands (by default, display generated commands).

Note:
To be sure the aid is accurate, refer directly to the online help script -h option.


Error management

Errors passing arguments

This type of message is generated:

Lack 'FreeTdsAlias' parameter, Usage: sqwmsq_RestoreDatabase.ksh [-h] -I <FreeTdsAlias> -DT <DatabaseName> [+ options]
For full help : sqwmsq_RestoreDatabase.ksh -h

If you are connecting through a terminal, no mail will be sent and you will have more this kind of message:

Not sending mail because you are in connected mode !!!
Lack 'FreeTdsAlias' parameter

If you are not connected to a terminal, the error message appears and is sent by mail to the address contained in the variable $gvsqw_GlobalMail (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_mssql : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Execution errors

Whether you are or not connected to a terminal, the error message appears and an email containing a summary of treatment errors is sent to the address contained in the variable $gvsqw_Mail_mssql (See help customize this variable). The subject line will always start by "$gvsqw_MailMsg_mssql : " (See help customize this variable).

Note:
Sending mail can be disabled by the option -NoMail for one execution.


Usage examples

Can't find if env is 'SqlCmd' or 'FreeTds' !
Sourcing sqwmsq_Global.lib v2025.06 SQWareProduction for MsSql (dbSQWare) ... 

#Standard help for script sqwmsq_RestoreDatabase.ksh:


$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -h
#Display online help for this script

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -Locale en -h
#Display online help for this script with forcing of the 'en' locale (by default locale managed by $gvsqw_Locale)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -s
#Display usage examples for this script

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName>
#Generate commands but don't execute them !

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -Exec
#Execute Standard restore of target database 

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -DS <DatabaseSource> -After <script> -Exec
#Execute the script <script> after restoring the database (by default, even that -DT)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -DD <date> -Before <script> -Exec 
#Execute the script <script> then restore the database with backup of <date> (by default, take the latest)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -BP <path> -Exec
#Path <path> of backups to restore (by default: 'HKEY_LOCAL_MACHINE', 'BackupDirectory')

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -REP -Exec
#Retries failed backups (takes priority of the other options)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -Move -Exec
#Restore the database by moving the file locations

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -AfterSql <script> -Exec
#Executes an sql script <script> once the restore is complete

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -BeforeSql <script> -Exec
#Execute the sql script <script> before the restoration 

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec
#Add the mail list to the default address managed by the variable gvsqw_GlobalMail

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -SendReport -Exec
#Send the log by email at the end of the treatment even if there is no error

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -Type <TypeRestore> -Exec
#Change backup type (full,diff)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -NoMail -Exec
#Disables sending an email on error to $gvsqw_GlobalMail (by default, send on error)

$gvsqw_MsqBin/sqwmsq_RestoreDatabase.ksh -I $Alias -DT <DbName> -FRT <NumericValue> -Exec
#Force return code to '<NumericValue>' on error (if no error, "exit 0!")
#You can also force return code of this script on all your
#environnement if you set the variable: $gvsqw_ForcedReturnCodeScript_sqwmsq_RestoreDatabase=<NumericValue>
#in configuration file $gvsqw_MsqBin/../etc_cust/sqwmsq_GlobalVar.cfg

Note:
To be sure the examples are accurate, refer directly to the online help script -s option.