1 Oct 2025
Automating SQL installation on Linux
#!/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