SUSE Linux Enterprise Server에 대 한 SQL Server 무인된 설치 스크립트 샘플:Sample: Unattended SQL Server installation script for SUSE Linux Enterprise Server

THIS TOPIC APPLIES TO: noSQL Server on Windows yesSQL Server on Linux noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

이 샘플 Bash 스크립트 대화형 입력이 없는 SUSE Linux Enterprise Server (SLES) v12 s p 2에서 SQL Server 2017 r c 2를 설치합니다.This sample Bash script installs SQL Server 2017 RC2 on SUSE Linux Enterprise Server (SLES) v12 SP2 without interactive input. 데이터베이스 엔진, SQL Server Agent, SQL Server 명령줄 도구를 설치 하는 방식의 예제를 제공 하 고 설치 후 단계를 수행 합니다.It provides examples of installing the database engine, the SQL Server command-line tools, SQL Server Agent, and performs post-install steps. 필요에 따라 전체 텍스트 검색을 설치 하 고 관리 사용자를 만들 수 있습니다.You can optionally install full-text search and create an administrative user.

SQL Server를 설치 하는 가장 빠른 방법은 따라야 하는 무인된 설치 스크립트를 필요 하지 않은 경우는 SLES에 대 한 빠른 시작 자습서합니다.If you do not need an unattended installation script, the fastest way to install SQL Server is to follow the quick start tutorial for SLES. 다른 설정 정보를 참조 하십시오. Linux에서 SQL Server에 대 한 설치 지침합니다.For other setup information, see Installation guidance for SQL Server on Linux.

필수 구성 요소Prerequisites

  • 최소 3.25 g B 메모리 Linux에서 SQL Server를 실행 해야 합니다.You need at least 3.25 GB of memory to run SQL Server on Linux.
  • 파일 시스템을 해야 XFS 또는 EXT4합니다.The file system must be XFS or EXT4. 와 같은 다른 파일 시스템, BTRFS, 지원 되지 않습니다.Other file systems, such as BTRFS, are unsupported.
  • 다른 시스템 요구 사항에 대 한 참조 Linux에서 SQL Server에 대 한 시스템 요구 사항합니다.For other system requirements, see System requirements for SQL Server on Linux.
중요

SQL Server 2017 RC2 libsss_nss_idmap0 기본 SLES 저장소에서 제공 하지 않는 필요 합니다.SQL Server 2017 RC2 requires libsss_nss_idmap0, which is not provided by the default SLES repositories. SLES v12 SP2 SDK에서 설치할 수 있습니다.You can install it from the SLES v12 SP2 SDK.

샘플 스크립트Sample script

#!/bin/bash

# Use the following variables to control your install:

# Password for the SA user (required)
MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>'

# 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'

# Install SQL Server Agent (recommended)
SQL_INSTALL_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='<YourStrong!Passw0rd>'

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

#Add the SLES v12 SP2 SDK to obtain libsss_nss_idmap0
sudo SUSEConnect -p sle-sdk/12.2/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

# Optional SQL Server Agent installation:
if [ ! -z $SQL_INSTALL_AGENT ]
then
  echo Installing SQL Server Agent...
  sudo zypper install -y mssql-server-agent
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 traceflag 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!

스크립트 실행Running the script

스크립트를 실행하려면To run the script

  1. 샘플 원하는 텍스트 편집기에 붙여넣고 같은 기억 하기 쉬운 이름으로 저장 install_sql.sh합니다.Paste the sample into your favorite text editor and save it with a memorable name, like install_sql.sh.

  2. 사용자 지정 MSSQL_SA_PASSWORD, MSSQL_PID, 및의 변경 하려는 다른 변수 중 하나입니다.Customize MSSQL_SA_PASSWORD, MSSQL_PID, and any of the other variables you'd like to change.

  3. 스크립트 실행 가능으로 표시 합니다.Mark the script as executable

    chmod +x install_sql.sh
    
  4. 스크립트 실행Run the script

    ./install_sql.sh
    

스크립트 이해Understanding the script

가장 먼저 Bash 스크립트는 몇 가지 변수를 설정 됩니다.The first thing the Bash script does is set a few variables. 이러한 샘플에서와 같은 스크립팅 변수 또는 환경 변수 가능 합니다.These can be either scripting variables, like the sample, or environment variables. 변수 MSSQL_SA_PASSWORD필요한 SQL Server를 설치 하는 사용자 들이 스크립트에 대해 만든 사용자 지정 변수입니다.The variable MSSQL_SA_PASSWORD is required by SQL Server installation, the others are custom variables created for the script. 샘플 스크립트는 다음 단계를 수행합니다.The sample script performs the following steps:

  1. Microsoft GPG 공개 키를 가져옵니다.Import the public Microsoft GPG keys.

  2. SQL Server 및 명령줄 도구에 대 한 Microsoft 리포지토리를 등록 합니다.Register the Microsoft repositories for SQL Server and the command-line tools.

  3. 로컬 리포지토리를 업데이트 합니다.Update the local repositories

  4. SQL Server 설치Install SQL Server

  5. SQL Server와 구성는 MSSQL_SA_PASSWORD 자동으로 최종 사용자 사용권 계약에 동의 합니다.Configure SQL Server with the MSSQL_SA_PASSWORD and automatically accept the End-User License Agreement.

  6. 자동으로 SQL Server 명령줄 도구에 대 한 최종 사용자 사용권 계약에 동의 하 고, 설치 unixodbc dev 패키지를 설치 합니다.Automatically accept the End-User License Agreement for the SQL Server command-line tools, install them, and install the unixodbc-dev package.

  7. SQL Server 명령줄 도구 사용 편의성에 대 한 경로를 추가 합니다.Add the SQL Server command-line tools to the path for ease of use.

  8. 경우에 SQL Server 에이전트를 설치 스크립팅 변수 SQL_INSTALL_AGENT 에 기본적으로 설정 됩니다.Install the SQL Server Agent if the scripting variable SQL_INSTALL_AGENT is set, on by default.

  9. 경우에 필요에 따라 SQL Server 전체 텍스트 검색을 설치 변수 SQL_INSTALL_FULLTEXT 설정 됩니다.Optionally install SQL Server Full-Text search, if the variable SQL_INSTALL_FULLTEXT is set.

  10. 다른 시스템에서 SQL Server에 연결 하는 데 필요한 시스템 방화벽에서 포트 1433 TCP에 대 한 차단을 해제 합니다.Unblock port 1433 for TCP on the system firewall, necessary to connect to SQL Server from another system.

  11. 필요에 따라 교착 상태 추적에 대 한 추적 플래그를 설정 합니다.Optionally set trace flags for deadlock tracing. (줄의 주석 처리 해야 함)(requires uncommenting the lines)

  12. SQL Server가 설치 되어 이제, 작동 하도록 하려면 프로세스를 다시 시작 합니다.SQL Server is now installed, to make it operational, restart the process.

  13. SQL Server 오류 메시지는 숨기 려 제대로 설치 되어 있는지 확인 합니다.Verify that SQL Server is installed correctly, while hiding any error messages.

  14. 경우 서버 관리자가 새 사용자를 만들 SQL_INSTALL_USERSQL_INSTALL_USER_PASSWORD 모두 설정 합니다.Create a new server administrator user if SQL_INSTALL_USER and SQL_INSTALL_USER_PASSWORD are both set.

다음 단계Next steps

여러 무인된 설치를 단순화 하 고 적절 한 환경 변수를 설정 하는 독립 실행형 Bash 스크립트를 만듭니다.Simplify multiple unattended installs and create a stand-alone Bash script that sets the proper environment variables. 샘플 스크립트를 사용 하 고, 자신의 Bash 스크립트 변수를 제거할 수 있습니다.You can remove any of the variables the sample script uses and put them in their own Bash script.

#!/bin/bash
export MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>'
export MSSQL_PID='evaluation'
export SQL_INSTALL_AGENT='y'
export SQL_INSTALL_USER='<Username>'
export SQL_INSTALL_USER_PASSWORD='<YourStrong!Passw0rd>'
export SQL_INSTALL_AGENT='y'

그런 다음 Bash 스크립트를 다음과 같이 실행 합니다.Then run the Bash script as follows:

. ./my_script_name.sh

Linux에서 SQL Server에 대 한 자세한 내용은 참조 Linux 개요에서 SQL Server합니다.For more information about SQL Server on Linux, see SQL Server on Linux overview.