Quickstart: Install SQL Server and create a database on Ubuntu

Applies to: yesSQL Server (all supported versions) - Linux

In this quickstart, you install SQL Server 2022 on Ubuntu 16.04/xviii.04. You then connect with sqlcmd to create your outset database and run queries.

In this quickstart, you lot install SQL Server 2022 on Ubuntu sixteen.04, 18.04, or 20.04. Yous then connect with sqlcmd to create your showtime database and run queries.

Note

Ubuntu 20.04 is supported starting with SQL Server 2022 CU10.

Prerequisites

Install SQL Server

Note

The post-obit commands for SQL Server 2022 points to the Ubuntu 18.04 repository. If you are using Ubuntu sixteen.04, change the path below to /ubuntu/16.04/ instead of /ubuntu/18.04/.

To configure SQL Server on Ubuntu, run the following commands in a concluding to install the mssql-server package.

  1. Import the public repository GPG keys:

                        wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-cardinal add -                                      
  2. Register the Microsoft SQL Server Ubuntu repository:

    For Ubuntu xvi.04:

                        sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"                                      

    For Ubuntu 18.04:

                        sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.listing)"                                      

    Tip

    If you lot want to install SQL Server 2022 , you must instead register the SQL Server 2022 repository. Apply the following command for SQL Server 2022 installations:

    For Ubuntu 16.04:

                          sudo add together-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"                                          

    For Ubuntu xviii.04:

                          sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.listing)"                                          
  3. Run the following commands to install SQL Server:

                        sudo apt-get update sudo apt-become install -y mssql-server                                      
  4. Afterward the package installation finishes, run mssql-conf setup and follow the prompts to set the SA password and choose your edition.

                        sudo /opt/mssql/bin/mssql-conf setup                                      

    Tip

    The following SQL Server 2022 editions are freely licensed: Evaluation, Developer, and Express.

    Note

    Make sure to specify a strong password for the SA account (Minimum length 8 characters, including capital and lowercase messages, base 10 digits and/or non-alphanumeric symbols).

  5. In one case the configuration is done, verify that the service is running:

                        systemctl status mssql-server --no-pager                                      
  6. If y'all program to connect remotely, you might as well need to open the SQL Server TCP port (default 1433) on your firewall.

At this betoken, SQL Server is running on your Ubuntu motorcar and is ready to use!

Install SQL Server

Notation

The following commands for SQL Server 2022 points to the Ubuntu xx.04 repository. If you lot are using Ubuntu 18.04 or sixteen.04, alter the path below to /ubuntu/18.04/ or /ubuntu/sixteen.04/ instead of /ubuntu/20.04/.

To configure SQL Server on Ubuntu, run the following commands in a terminal to install the mssql-server parcel.

  1. Import the public repository GPG keys:

                        wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add together -                                      
  2. Annals the Microsoft SQL Server Ubuntu repository for SQL Server 2022:

    For Ubuntu 16.04:

                        sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/xvi.04/mssql-server-2019.list)"                                      

    For Ubuntu 18.04:

                        sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/xviii.04/mssql-server-2019.list)"                                      

    For Ubuntu xx.04:

                        sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"                                      
  3. Run the following commands to install SQL Server:

                        sudo apt-become update sudo apt-get install -y mssql-server                                      
  4. After the package installation finishes, run mssql-conf setup and follow the prompts to gear up the SA countersign and cull your edition.

                        sudo /opt/mssql/bin/mssql-conf setup                                      

    Note

    Make sure to specify a strong password for the SA account (Minimum length eight characters, including capital and lowercase letters, base 10 digits and/or non-alphanumeric symbols).

  5. Once the configuration is done, verify that the service is running:

                        systemctl status mssql-server --no-pager                                      
  6. If you plan to connect remotely, you might also demand to open the SQL Server TCP port (default 1433) on your firewall.

At this indicate, SQL Server 2022 is running on your Ubuntu machine and is ready to apply!

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

Use the following steps to install the mssql-tools on Ubuntu.

Note

Past default, curl isn't installed on Ubuntu. To install coil, run this code:

                sudo apt-get update  sudo apt install curl                              
  1. Import the public repository GPG keys.

                      roll https://packages.microsoft.com/keys/microsoft.asc | sudo apt-central add together -                                  
  2. Annals the Microsoft Ubuntu repository.

    For Ubuntu 16.04:

                      curl https://packages.microsoft.com/config/ubuntu/sixteen.04/prod.list | sudo tee /etc/apt/sources.listing.d/msprod.list                                  

    For Ubuntu 18.04:

                      coil https://packages.microsoft.com/config/ubuntu/xviii.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list                                  

    For Ubuntu twenty.04:

                      curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.listing.d/msprod.list                                  
  3. Update the sources list and run the installation command with the unixODBC programmer bundle. For more than information, see Install the Microsoft ODBC driver for SQL Server (Linux).

                      sudo apt-get update  sudo apt-get install mssql-tools unixodbc-dev                                  

    Annotation

    To update to the latest version of mssql-tools run the post-obit commands:

                        sudo apt-get update  sudo apt-get install mssql-tools                                      
  4. Optional: Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash beat out.

    To brand sqlcmd/bcp attainable from the fustigate shell for login sessions, modify your PATH in the ~/.bash_profile file with the following command:

                      echo 'consign PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile                                  

    To make sqlcmd/bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

                      echo 'consign PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc                                  

Connect locally

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

  1. Run sqlcmd with parameters for your SQL Server name (-South), the user name (-U), and the password (-P). In this tutorial, you are connecting locally, so the server proper noun is localhost. The user name is SA and the password is the one you provided for the SA account during setup.

                      sqlcmd -S localhost -U SA -P '<YourPassword>'                                  

    Tip

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

    Tip

    If you later make up one's mind to connect remotely, specify the machine name or IP address for the -South parameter, and make sure port 1433 is open up on your firewall.

  2. If successful, y'all should get to a sqlcmd command prompt: ane>.

  3. If yous 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 to create a new database, add information, 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 control to create a exam database:

                      CREATE DATABASE TestDB                                  
  2. On the next line, write a query to render the name of all of the databases on your server:

                      SELECT Proper noun from sys.Databases                                  
  3. The previous two commands were not executed immediately. You lot must blazon Get on a new line to execute the previous commands:

                      Become                                  

Insert data

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

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

                      USE TestDB                                  
  2. Create new table named Inventory:

                      CREATE Tabular array Inventory (id INT, name NVARCHAR(50), quantity INT)                                  
  3. Insert information into the new table:

                      INSERT INTO Inventory VALUES (one, 'banana', 150); INSERT INTO Inventory VALUES (ii, 'orange', 154);                                  
  4. Type Get to execute the previous commands:

                      Become                                  

Select data

At present, run a query to return information from the Inventory table.

  1. From the sqlcmd control prompt, enter a query that returns rows from the Inventory tabular array where the quantity is greater than 152:

                      SELECT * FROM Inventory WHERE quantity > 152;                                  
  2. Execute the command:

                      GO                                  

Exit the sqlcmd control prompt

To end your sqlcmd session, type QUIT:

              QUIT                          

Performance best practices

After installing SQL Server on Linux, review the best practices for configuring Linux and SQL Server to improve functioning for production scenarios. For more information, run across Performance best practices and configuration guidelines for SQL Server on Linux.

In improver to sqlcmd, you can employ the following cross-platform tools to manage SQL Server:

Tool Description
Azure Data Studio A cross-platform GUI database direction utility.
Visual Studio Code A cantankerous-platform GUI lawmaking editor that run Transact-SQL statements with the mssql extension.
PowerShell Core A cantankerous-platform automation and configuration tool based on cmdlets.
mssql-cli A cross-platform command-line interface for running Transact-SQL commands.

Connecting from Windows

SQL Server tools on Windows connect to SQL Server instances on Linux in the aforementioned way they would connect to any remote SQL Server case.

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

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

  • SQL Server Management Studio (SSMS)
  • Windows PowerShell
  • SQL Server Data Tools (SSDT)

Other deployment scenarios

For other installation scenarios, see the post-obit resources:

  • Upgrade: Acquire how to upgrade an existing installation of SQL Server on Linux
  • Uninstall: Uninstall SQL Server on Linux
  • Unattended install: Learn how to script the installation without prompts
  • Offline install: Learn how to manually download the packages for offline installation

Next steps