SQWareProduction:mssql:etc:sqwmsq GlobalVar.cfg

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.

Configuration file $gvsqw_MsqBin/../etc/sqwmsq_GlobalVar.cfg:
Global var for Mssql
It contains the operating variables of SQWareProduction.

File content:

#!/bin/bash
###################################################################
# SQWareProduction for Mssql module of dbSQWare
# 
# dbSQWare is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# CGU/CGA for more details.
# 
# You should have received a copy of the CGU/CGA
# along with this program.  If not, see <http://www.dbsqware.com/licenses/>.
# 
# For information : contact@dbsqware.com or www.dbsqware.com
###################################################################
## @Synopsis	Global var for Mssql
## @Copyright	Copyright 2007-2025, dbSQWare (www.dbsqware.com)

#global
export gvsqw_SqwVersionDbms=2025.06

#Check if we are in local on SQL Linux or distant connection with FreeTds
if [ "$(uname -s)" = "Linux" ]
then
	if [ "$(type sqlcmd 2>&1 >/dev/null;echo $?)" = "0" ]
	then
		export gvsqw_ExecEnvType='SqlCmd'
		export gvsqw_CommandPathVersionList="$gvsqw_CommandPathVersionList sqlcmd;-?"
	elif [ "$(type tsql 2>&1 >/dev/null;echo $?)" = "0" ]
	then
		export gvsqw_ExecEnvType='FreeTds'
		export gvsqw_CommandPathVersionList="$gvsqw_CommandPathVersionList tsql;-C"
	else
		echo $gvsqw_EchoOpt "Can't find if env is 'SqlCmd' or 'FreeTds' !"
		export gvsqw_ExecEnvType='LinuxKO'
	fi
else
	echo $gvsqw_EchoOpt "Script need to be executed on Linux !"
	export gvsqw_ExecEnvType='NoLinuxKO'
fi

if [ "$gvsqw_DistPasswdFile" != "" ]
then
	export gvsqw_MssqlPassFile=$gvsqw_DistPasswdFile
else
	export gvsqw_DistPasswdFile="$HOME/.passwd_mssql"
fi
export gvsqw_MssqlSaUser='sa'
export gvsqw_RootAdmin='$HOME/admin/${lvsqw_InstanceParam}'
export gvsqw_RootAdminDisable='$HOME'
export gvsqw_RootCfg='$gvsqw_RootAdmin/sqwConfig'
export gvsqw_WhereClauseGenDatabaseList="and name not like 'tempdb%' and name not like 'ReportServer%TempDb'"
export gvsqw_DbAlias='$lvsqw_InstanceParam'
export gvsqw_SuppAlert=90
#export gvsqw_MsSqlErrorMsg='^Msg 3014, Level 0, State 1|^Msg 3211, Level 0, State 1|^Msg 4035, Level 0, State 1|^Server ..*, Line 1|@@rowcount'
export gvsqw_MsSqlErrorMsg='^Msg [0-9][0-9]*, Level 0, State 1|^Server ..*, Line 1|@@rowcount'
export gvsqw_XpCmdShellWaitTimeOut=300
#to avoid "Cannot resolve collation conflict for column ..."
export gvsqw_Collate='Latin1_General_CI_AI'

#for backup scripts
export gvsqw_NbThreadBackup=4
export gvsqw_DefAGR_Backup=5
export gvsqw_DefAGE_Backup=20
export gvsqw_BackupNbGeneration=2
export gvsqw_SizeMaxStripe=40000
export gvsqw_NbMaxStripe=5
export gvsqw_BackupStatSize=10
if [ "$gvsqw_ExecEnvType" = 'SqlCmd' ]
then
	##Specific for Linux env
	export gvsqw_LinuxBackupPath='/mssql_backups/${lvsqw_InstanceParam}'
	export gvsqw_SqlCmdOpt='-C'
fi

#for Rebuild index scripts
export gvsqw_NbThreadRebuild=4
export gvsqw_DefAGR_Rebuild=5
export gvsqw_DefAGE_Rebuild=20
export gvsqw_SetOptionsRebuild='set ansi_defaults, concat_null_yields_null on
go'
export gvsqw_RebuildType='index' #Rebuild type, 'all' for tables, 'index' for indexes
export gvsqw_MinRatioReb=30 #Min avg_fragmentation_in_percent before rebuild
export gvsqw_MinRatioRgz=10 #Min avg_fragmentation_in_percent before reorganize
export gvsqw_SizeMinIndexRebuild=1 #Min size of index in Mb to take into account
export gvsqw_SizeMaxIndexRebuild=50000 #Max size of index in Mb to take into account

#for update statistics scripts
export gvsqw_NbThreadStatistics=4
export gvsqw_DefAGR_Statistics=5
export gvsqw_DefAGE_Statistics=20

#for restore scripts
export gvsqw_NbThreadRestore=4
export gvsqw_DefAGR_Restore=5
export gvsqw_DefAGE_Restore=20
export gvsqw_RestoreStatSize=5

#for checkdb scripts
export gvsqw_NbThreadCheckdb=4
export gvsqw_DefAGR_Checkdb=5
export gvsqw_DefAGE_Checkdb=20

#for indicators
export gvsqw_SizeMinTableIndicators=10
export gvsqw_BackupsIndicatorsDays=2
export gvsqw_AuditLogonNbDaysSelect=2
export gvsqw_AuditLogonNbDaysDelete=7
export gvsqw_ExcludeDatabaseStatus="'OFFLINE','RESTORING'"
export gvsqw_GenExcludeDatabasesObjects="^master$|^msdb$|^model$|^ReportServer"
export gvsqw_GenExcludeDatabasesObjectsExtra=""
#Remove or replace extra characters like E with accent !
export gvsqw_StringReplaceSch="tr -d '\015'|tr '\311' 'E'"
export gvsqw_UserTypeList="'SQL_LOGIN','WINDOWS_LOGIN'"

##Globaly forcing return code for scripts
#export gvsqw_ForcedReturnCodeScript_sqwmsq_BackupAllDatabases=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_BackupDatabase=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_CheckdbAllDatabases=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_CheckdbDatabase=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_CheckIndicators=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_GatherIndicators=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_ParallelRun=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_RebuildIndexAllDatabases=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_RebuildIndexDatabase=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_RestoreAllDatabases=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_RestoreDatabase=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_RotateErrorLog=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_StatisticsAllDatabases=0
#export gvsqw_ForcedReturnCodeScript_sqwmsq_StatisticsDatabase=0


Variables explanation:

#General variables
gvsqw_SqwVersion => SQWare Production version
gvsqw_MssqlPassFile => Password file path
gvsqw_SuppAlert => number of days to delete errorlog files
gvsqw_RootAdmin => admin directory
gvsqw_RootCfg => configuration directory
gvsqw_NbThread => default number of thread for parallelism
gvsqw_WhereClauseGenDatabaseList => XXXXX
gvsqw_DbAlias => Database Alias
gvsqw_MsSqlErrorMsg => XXXXX
gvsqw_XpCmdShellWaitTimeOut => XXXXX
gvsqw_Collate => XXXXX

#for backup scripts
gvsqw_NbThreadBackup => default number of thread for parallelism for backup
gvsqw_DefAGR_Backup => default aggressiveness for execution of backup
gvsqw_DefAGE_Backup => default aggressiveness for check end of backup
gvsqw_BackupNbGeneration => default number generation of backup to keep online
gvsqw_SizeMaxStripe => default size max of stripe
gvsqw_NbMaxStripe => default number max of stripe
#Put disable in gvsqw_TraceBackup if you don't want to trace backup execution in SQWareRepository

gvsqw_BackupStatSize => size of Statistics backup option (to prevent timeout of tsql)

#for Rebuild index scripts
gvsqw_NbThreadRebuild => default number of thread for parallelism for Rebuild
gvsqw_DefAGR_Rebuild => default aggressiveness for execution of Rebuild
gvsqw_DefAGE_Rebuild => default aggressiveness for check end of Rebuild
gvsqw_SetOptionsRebuild => XXXXX
gvsqw_RebuildType => XXXXX
gvsqw_MinRatioReb => XXXXX
gvsqw_MinRatioRgz => XXXXX

#for update statistics scripts
gvsqw_NbThreadStatistics => default number of thread for parallelism for update statistics
gvsqw_DefAGR_Statistics => default aggressiveness for execution of update statistics
gvsqw_DefAGE_Statistics => default aggressiveness for check end of update statistics

#for restore scripts
gvsqw_NbThreadRestore => default number of thread for parallelism for restore
gvsqw_DefAGR_Restore => default aggressiveness for execution of restore
gvsqw_DefAGE_Restore => default aggressiveness for check end of restore
gvsqw_RestoreStatSize => XXXXX

#for checkdb scripts
gvsqw_NbThreadCheckdb => default number of thread for parallelism for checkdb
gvsqw_DefAGR_Checkdb => default aggressiveness for execution of checkdb
gvsqw_DefAGE_Checkdb => default aggressiveness for check end of checkdb

#for indicators
gvsqw_BackupsIndicatorsDays => XXXXX
gvsqw_ExcludeDatabaseStatus => XXXXX
gvsqw_GenExcludeDatabasesObjects => XXXXX
gvsqw_GenExcludeDatabasesObjectsExtra => XXXXX
#Remove or replace extra characters like E with accent !
gvsqw_StringReplaceSch => XXXXX
gvsqw_UserTypeList => List of users types to take into account when gather user access

##Globaly forcing return code for scripts
gvsqw_ForcedReturnCodeScript_sqwmsq_BackupAllDatabases => To force return code of sqwmsq_BackupAllDatabases.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_BackupDatabase => To force return code of sqwmsq_BackupDatabase.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_CheckdbAllDatabases => To force return code of sqwmsq_CheckdbAllDatabases.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_CheckdbDatabase => To force return code of sqwmsq_CheckdbDatabase.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_GatherIndicators => To force return code of sqwmsq_GatherIndicators.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_ParallelRun => To force return code of sqwmsq_ParallelRun.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_RebuildIndexAllDatabases => To force return code of sqwmsq_RebuildIndexAllDatabases.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_RebuildIndexDatabase => To force return code of sqwmsq_RebuildIndexDatabase.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_RestoreAllDatabases => To force return code of sqwmsq_RestoreAllDatabases.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_RestoreDatabase => To force return code of RestoreDatabase.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_RotateErrorLog => To force return code of sqwmsq_RotateErrorLog.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_StatisticsAllDatabases => To force return code of sqwmsq_StatisticsAllDatabases.ksh
gvsqw_ForcedReturnCodeScript_sqwmsq_StatisticsDatabase => To force return code of sqwmsq_StatisticsDatabase.ksh

#for SQWare Web
gvsqw_WebDbaUserConn => Connection string ssh user@hostname to SQWare Web

Note:
You can overload variables contain in $gvsqw_MsqBin/../etc/sqwmsq_GlobalVar.cfg

by the same variables in $gvsqw_MsqBin/../etc_cust/sqwmsq_GlobalVar.cfg for all your environnement
or in $HOME/sqwConfig/sqwmsq_GlobalVar.cfg specifically for this user.