Partilhar via


Exemplo: Script de instalação não supervisionada do SQL Server para SUSE Linux Enterprise Server

Aplica-se a:SQL Server em Linux

Este exemplo de script bash instala o SQL Server no SUSE Linux Enterprise Server (SLES) 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 você não precisar de um script de instalação autônoma, a maneira mais rápida de instalar o SQL Server é seguir o início rápido para SLES. 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.

Importante

O SQL Server requer libsss_nss_idmap0, que não é fornecido pelos repositórios SLES padrão. Você pode instalá-lo a partir do SDK do SLES.

Exemplo de script

Este exemplo instala o SQL Server 2019 (15.x) no SLES v15 SP6. Se você quiser instalar uma versão diferente do SQL Server ou SLES, 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.

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...
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/mssql-server-2019.repo
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/15/prod.repo
sudo zypper --gpg-auto-import-keys refresh

#Add the SLES v15 SP6 SDK to obtain libsss_nss_idmap0
sudo SUSEConnect -p sle-sdk/15.3/x86_64

echo Installing SQL Server...
sudo zypper 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 zypper install -y mssql-tools unixODBC-devel

# 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 Enable 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 zypper install -y mssql-server-fts
fi

# Configure firewall to allow TCP port 1433:
echo Configuring SuSEfirewall2 to allow traffic on port 1433...
sudo SuSEfirewall2 open INT TCP 1433
sudo SuSEfirewall2 stop
sudo SuSEfirewall2 start

# Example of setting post-installation configuration options
# Set trace flags 1204 and 1222 for deadlock tracing:
# echo Setting trace flags...
# sudo /opt/mssql/bin/mssql-conf trace flag 1204 1222 on

# Restart SQL Server after making configuration changes:
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 5s
  /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:

  1. Cole o exemplo em seu editor de texto favorito e salve-o com um nome memorável, como install_sql.sh.

  2. Personalize MSSQL_SA_PASSWORD, MSSQL_PIDe qualquer uma das outras variáveis que você gostaria de alterar.

  3. Marcar o script como executável

    chmod +x install_sql.sh
    
  4. 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:

  1. Importe as chaves públicas do Microsoft GPG.

  2. Registre os repositórios da Microsoft para SQL Server e as ferramentas de linha de comando.

  3. Atualize os repositórios locais.

  4. Instale o SQL Server.

  5. Configure o SQL Server com o MSSQL_SA_PASSWORD e aceite automaticamente o End-User Contrato de Licença.

  6. 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-devel.

  7. Adicione as ferramentas de linha de comando do SQL Server ao caminho para facilitar o uso.

  8. Habilite o SQL Server Agent se a variável de script SQL_ENABLE_AGENT estiver definida, ativada por padrão.

  9. Instale a pesquisa de texto completo do SQL Server, se a variável SQL_INSTALL_FULLTEXT estiver definida.

  10. Desbloqueie a porta 1433 para TCP no firewall do sistema, necessária para se conectar ao SQL Server de outro sistema.

  11. Opcionalmente, defina sinalizadores de rastreamento para rastreamento de deadlock (requer descomentar as linhas).

  12. O SQL Server agora está instalado, para torná-lo operacional, reinicie o processo.

  13. Verifique se o SQL Server está instalado corretamente, enquanto oculta todas as mensagens de erro.

  14. Crie um novo usuário administrador do servidor se SQL_INSTALL_USER e SQL_INSTALL_USER_PASSWORD estiverem definidas.

Instalação automática

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