CorpXeno

1 Oct 2025

Automating SQL installation on Linux

SQL ServerLinux

#!/bin/bash

#VARIABLES

MSSQL_SA_PASSWORD=$1

MSSQL_PID=$2

if [ -z $MSSQL_SA_PASSWORD ]

then

echo Environment variable MSSQL_SA_PASSWORD must be set

exit 1

fi

if [ -z $MSSQL_PID ]

then

MSSQL_PID=Developer

fi

curl https://packages.microsoft.com/keys/microsoft.asc| sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019focal main"

sudo apt-get update

sudo apt-get install -y mssql-server

sudo MSSQL_PID=Developer ACCEPT_EULA=Y MSSQL_SA_PASSWORD='Password@123' /opt/mssql/bin/mssql-conf setup

sudo systemctl enable mssql-server

sudo ufw --force enable

sudo ufw allow 22/tcp

sudo ufw allow 1433/tcp

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true

sudo mkdir /tmp/dbdata

sudo chown mssql /tmp/dbdata

sudo chgrp mssql /tmp/dbdata

sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/dbdata

sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/dbdata

sudo mkdir /tmp/dbbackup

sudo chown mssql /tmp/dbbackup

sudo chgrp mssql /tmp/dbbackup

sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/dbbackup

sudo systemctl restart mssql-server

============================================================

Chmod +x automateSQLinstall.sh

Sudo ./automateSQLinstall.sh

OR

Sudo chown root:root automateSQLinstall.sh

Sudo chmod 775 automateSQLinstall.sh

RUN WITH PARAMETERS

Sudo ./automateSQLinstall.sh Password@123 Developer