Install SQL Server and create a database on Red Hat

In this quick start tutorial, you first install SQL Server 2017 RC1 on Red Hat Enterprise Linux (RHEL) 7.3. Then connect with sqlcmd to create your first database and run queries.

Prerequisites

You must have a RHEL 7.3 machine with at least 3.25 GB of memory.

To install Red Hat Enterprise Linux, go to http://access.redhat.com/products/red-hat-enterprise-linux/evaluation. You can also create RHEL virtual machines in Azure. For the basic process, see Create a Linux virtual machine with the Azure CLI.

For other system requirements, see System requirements for SQL Server on Linux.

Install SQL Server

To configure SQL Server on RHEL, run the following commands in a terminal to install the mssql-server package:

Tip

These commands involve user input and assume a connection to the internet. If you are interested in the unattended or offline installation procedures, see Installation guidance for SQL Server on Linux.

  1. Enter superuser mode.
    bash

 

  • sudo su
    
  • Download the Microsoft SQL Server Red Hat repository configuration file:
    bash
  • curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
    
  • Exit superuser mode.
    bash
  • exit
    
  • Run the following commands to install SQL Server:
    bash
  • sudo yum install -y mssql-server
    
  • After the package installation finishes, run mssql-conf setup and follow the prompts. Make sure to specify a strong password for the SA account (Minimum length 8 characters, including uppercase and lowercase letters, base 10 digits and/or non-alphanumeric symbols).
    bash
  • sudo /opt/mssql/bin/mssql-conf setup
    
  • Once the configuration is done, verify that the service is running:
    bash
  • systemctl status mssql-server
    
  • To allow remote connections, open the SQL Server port on the firewall on RHEL. The default SQL Server port is TCP 1433. If you are using FirewallD for your firewall, you can use the following commands:
    bash

 

  1. sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

At this point, SQL Server is running on your RHEL machine and is ready to use!

Install the SQL Server command-line tools

To create a database, you need to connect with a tool that can run Transact-SQL statements on the SQL Server. The following steps install the SQL Server command-line tools, sqlcmd and bcp.

  1. Enter superuser mode.
    bash

 

  • sudo su
    
  • Download the Microsoft Red Hat repository configuration file.
    bash
  • curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
    
  • Exit superuser mode.
    bash
  • exit
    
  • If you had a previous version of mssql-tools installed, remove any older unixODBC packages.
    bash
  • sudo yum update
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  • Run the following commands to install mssql-tools with the unixODBC developer package.
    bash
  • sudo yum update
    sudo yum install mssql-tools unixODBC-devel
    
  • For convenience, add /opt/mssql-tools/bin/ to your PATH environment variable. This enables you to run the tools without specifying the full path. Run the following commands to modify the PATH for both login sessions and interactive/non-login sessions:
    bash

 

  1. echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    
Tip

Sqlcmd is just one tool for connecting to SQL Server to run queries and perform management and development tasks. Other tools include SQL Server Management Studio and Visual Studio Code.

Connect locally

The following steps use sqlcmd to locally connect to your new SQL Server instance.

  1. Run sqlcmd with parameters for your SQL Server name (-S), the user name (-U), and the password (-P). In this tutorial, you are connecting locally, so the server name is localhost. The user name is SA and the password is the one you provided for the SA account during setup.
    bash
  1. sqlcmd -S localhost -U SA -P '<YourPassword>'
    
    Tip

    You can omit the password on the command-line to be prompted to enter it.

    Tip

    If you later decide to connect remotely, specify the machine name or IP address for the -S parameter, and make sure port 1433 is open on your firewall.

  2. If successful, you should get to a sqlcmd command prompt: 1>.
  3. If you get a connection failure, first attempt to diagnose the problem from the error message. Then review the connection troubleshooting recommendations.

Create and query data

The following sections walk you through using sqlcmd and Transact-SQL to create a new database, add data, and run a simple query.

Create a new database

The following steps create a new database named TestDB.

  1. From the sqlcmd command prompt, paste the following Transact-SQL command to create a test database:
    SQL

 

  • CREATE DATABASE TestDB
    
  • On the next line, write a query to return the name of all of the databases on your server:
    SQL
  • SELECT Name from sys.Databases
    
  • The previous two commands were not executed immediately. You must type GO on a new line to execute the previous commands:
    SQL

 

  1. GO
    

Insert data

Next create a new table, Inventory, and insert two new rows.

  1. From the sqlcmd command prompt, switch context to the new TestDB database:
    SQL

 

  • USE TestDB
    
  • Create new table named Inventory:
    SQL
  • CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  • Insert data into the new table:
    SQL
  • INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  • Type GO to execute the previous commands:
    SQL

 

  1. GO
    

Select data

Now, run a query to return data from the Inventory table.

  1. From the sqlcmd commandd prompt, enter a query that returns rows from the Inventory table where the quantity is greater than 152:
    SQL

 

  • SELECT * FROM Inventory WHERE quantity > 152;
    
  • Execute the command:
    SQL

 

  1. GO
    

Exit the sqlcmd command prompt

To end your sqlcmd session, type QUIT:

SQL
QUIT

Connect from Windows

It is important to note that SQL Server tools on Windows connect to SQL Server instances on Linux in the same way they would connect to any remote SQL Server instance.

If you have a Windows machine that can connect to your Linux machine, try the same steps in this topic from a Windows command-prompt running sqlcmd. Just verify that you use the target Linux machine name or IP address rather than localhost, and make sure that TCP port 1433 is open. If you have any problems connecting from Windows, see connection troubleshooting recommendations.

For other tools that run on Windows but connect to SQL Server on Linux, see:

Next Steps

If you’re new to T-SQL, see Tutorial: Writing Transact-SQL Statements and the Transact-SQL Reference (Database Engine).

To explore other ways to connect and manage SQL Server, see Visusal Studio Code and SQL Server Management Studio.

Author: lamichhane kamal

System administrator Unix. Experinced Author Always with new idea. Contact me If you need help about Linux or windows server.

Leave a Reply

Your email address will not be published. Required fields are marked *

Solve : *
2 + 22 =