Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server - Linux
Este script bash de exemplo instala o SQL Server no Ubuntu sem entrada interativa. Ele fornece exemplos de instalação do Mecanismo de Banco de Dados, das ferramentas de linha de comando do SQL Server, do SQL Server Agent e executa etapas pós-instalação. Opcionalmente, você pode instalar a pesquisa de texto completo e criar um usuário administrativo.
Dica
Se não precisa de um script de instalação não assistida, a maneira mais rápida de instalar o SQL Server é seguir o guia de início rápido para o Ubuntu. Para obter outras informações de instalação, consulte Diretrizes de instalação do SQL Server no Linux.
Pré-requisitos
- Você precisa de pelo menos 2 GB de memória para executar o SQL Server no Linux.
- O sistema de arquivos deve ser XFS ou ext4. Outros sistemas de arquivos, como BTRFS, não são suportados.
- Para obter outros requisitos do sistema, consulte Requisitos do sistema para o SQL Server no Linux.
Exemplo de script
Este exemplo instala o SQL Server 2019 (15.x) no Ubuntu Server 20.04. Se você quiser instalar uma versão diferente do SQL Server ou Ubuntu Server, altere os caminhos do repositório da Microsoft de acordo.
Salve o script de exemplo em um arquivo e, em seguida, personalize-o. Você deve substituir os valores das variáveis no script. Você também pode definir qualquer uma das variáveis de script como variáveis de ambiente, desde que as remova do arquivo de script.
O script pode falhar se o SQL Server for lento para iniciar. Isso ocorre porque o script termina com um estado diferente de zero. Remover o interruptor -e
na primeira linha pode resolver esse problema.
Importante
A variável de ambiente SA_PASSWORD
foi preterida. Use MSSQL_SA_PASSWORD
em vez disso.
Sua senha deve seguir a política de senha de padrão do SQL Server. Por padrão, a senha deve ter pelo menos oito caracteres e conter caracteres de três dos quatro conjuntos a seguir: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.
#!/bin/bash -e
# Use the following variables to control your install:
# Password for the SA user (required)
MSSQL_SA_PASSWORD='<password>'
# Product ID of the version of SQL Server you're installing
# Must be evaluation, developer, express, web, standard, enterprise, or your 25 digit product key
# Defaults to developer
MSSQL_PID='evaluation'
# Enable SQL Server Agent (recommended)
SQL_ENABLE_AGENT='y'
# Install SQL Server Full Text Search (optional)
# SQL_INSTALL_FULLTEXT='y'
# Create an additional user with sysadmin privileges (optional)
# SQL_INSTALL_USER='<Username>'
# SQL_INSTALL_USER_PASSWORD='<password>'
if [ -z $MSSQL_SA_PASSWORD ]
then
echo Environment variable MSSQL_SA_PASSWORD must be set for unattended install
exit 1
fi
echo Adding Microsoft repositories...
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
sudo add-apt-repository "${repoargs}"
repoargs="$(curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
sudo add-apt-repository "${repoargs}"
echo Running apt-get update -y...
sudo apt-get update -y
echo Installing SQL Server...
sudo apt-get install -y mssql-server
echo Running mssql-conf setup...
sudo MSSQL_SA_PASSWORD=$MSSQL_SA_PASSWORD \
MSSQL_PID=$MSSQL_PID \
/opt/mssql/bin/mssql-conf -n setup accept-eula
echo Installing mssql-tools and unixODBC developer...
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev
# Add SQL Server tools to the path by default:
echo Adding SQL Server tools to your path...
echo PATH="$PATH:/opt/mssql-tools/bin" >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# Optional Enable SQL Server Agent:
if [ ! -z $SQL_ENABLE_AGENT ]
then
echo Enabling SQL Server Agent...
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
fi
# Optional SQL Server Full Text Search installation:
if [ ! -z $SQL_INSTALL_FULLTEXT ]
then
echo Installing SQL Server Full-Text Search...
sudo apt-get install -y mssql-server-fts
fi
# Configure firewall to allow TCP port 1433:
echo Configuring UFW to allow traffic on port 1433...
sudo ufw allow 1433/tcp
sudo ufw reload
# Optional example of post-installation configuration.
# Trace flags 1204 and 1222 are for deadlock tracing.
# echo Setting trace flags...
# sudo /opt/mssql/bin/mssql-conf traceflag 1204 1222 on
# Restart SQL Server after installing:
echo Restarting SQL Server...
sudo systemctl restart mssql-server
# Connect to server and get the version:
counter=1
errstatus=1
while [ $counter -le 5 ] && [ $errstatus = 1 ]
do
echo Waiting for SQL Server to start...
sleep 3s
/opt/mssql-tools/bin/sqlcmd \
-S localhost \
-U sa \
-P $MSSQL_SA_PASSWORD \
-Q "SELECT @@VERSION" 2>/dev/null
errstatus=$?
((counter++))
done
# Display error if connection failed:
if [ $errstatus = 1 ]
then
echo Cannot connect to SQL Server, installation aborted
exit $errstatus
fi
# Optional new user creation:
if [ ! -z $SQL_INSTALL_USER ] && [ ! -z $SQL_INSTALL_USER_PASSWORD ]
then
echo Creating user $SQL_INSTALL_USER
/opt/mssql-tools/bin/sqlcmd \
-S localhost \
-U sa \
-P $MSSQL_SA_PASSWORD \
-Q "CREATE LOGIN [$SQL_INSTALL_USER] WITH PASSWORD=N'$SQL_INSTALL_USER_PASSWORD', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON; ALTER SERVER ROLE [sysadmin] ADD MEMBER [$SQL_INSTALL_USER]"
fi
echo Done!
Executar o script
Para executar o script:
Cole o exemplo em seu editor de texto favorito e salve-o com um nome memorável, como
install_sql.sh
.Personalize
MSSQL_SA_PASSWORD
,MSSQL_PID
e qualquer uma das outras variáveis que você gostaria de alterar.Marcar o script como executável
chmod +x install_sql.sh
Executar o script
./install_sql.sh
Entenda o roteiro
A primeira coisa que o script bash faz é definir algumas variáveis. Essas variáveis podem ser variáveis de script, como a amostra, ou variáveis de ambiente. A variável MSSQL_SA_PASSWORD
é exigida pela instalação do SQL Server. As outras são variáveis personalizadas criadas para o script. O script de exemplo executa as seguintes etapas:
Importe as chaves públicas do Microsoft GPG.
Registre os repositórios da Microsoft para SQL Server e as ferramentas de linha de comando.
Atualize os repositórios locais.
Instale o SQL Server.
Configure o SQL Server com o
MSSQL_SA_PASSWORD
e aceite automaticamente o End-User Contrato de Licença.Aceite automaticamente o Contrato de Licença de End-User para as ferramentas de linha de comando do SQL Server, instale-as e instale o pacote
unixodbc-dev
.Adicione as ferramentas de linha de comando do SQL Server ao caminho para facilitar o uso.
Habilite o SQL Server Agent se a variável de script
SQL_ENABLE_AGENT
estiver definida, ativada por padrão.Opcionalmente, instale o SQL Server Full-Text de pesquisa, se a variável
SQL_INSTALL_FULLTEXT
estiver definida.Desbloqueie a porta 1433 para TCP no firewall do sistema, necessária para se conectar ao SQL Server de outro sistema.
De forma opcional, defina sinalizadores para rastreamento de deadlock (requer descomentar as linhas).
O SQL Server agora está instalado, para torná-lo operacional, reinicie o processo.
Verifique se o SQL Server está instalado corretamente, enquanto oculta todas as mensagens de erro.
Crie um novo usuário administrador do servidor se
SQL_INSTALL_USER
eSQL_INSTALL_USER_PASSWORD
estiverem definidas.
Instalação autónoma
Simplifique várias instalações autônomas e crie um script bash autônomo que define as variáveis de ambiente adequadas. Você pode remover qualquer uma das variáveis que o script de exemplo usa e colocá-las em seu próprio script bash.
#!/bin/bash
export MSSQL_SA_PASSWORD='<password>'
export MSSQL_PID='evaluation'
export SQL_ENABLE_AGENT='y'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<password>'
Atenção
Sua senha deve seguir a política de senha de padrão do SQL Server. Por padrão, a senha deve ter pelo menos oito caracteres e conter caracteres de três dos quatro conjuntos a seguir: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.
Em seguida, execute o script bash da seguinte maneira:
. ./my_script_name.sh