Red Hat Developer logo

Microsoft announced SQL Server on Linux public preview, so now you can try SQL Server on your Red Hat Enterprise Linux server. I'll describe how to start SQL Server on RHEL.

Install and connect with CLI on RHEL

Microsoft publishes a step-by-step document how to Install SQL Server on Red Hat Enterprise Linux. It's only 7 steps to install and run.

# systemctl status mssql-server
● mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-11-16 20:59:33 EST; 1 weeks 1 days ago
 Main PID: 77982 (sqlservr)
   Memory: 753.6M
   CGroup: /system.slice/mssql-server.service
           ├─77982 /opt/mssql/bin/sqlservr
           └─77997 /opt/mssql/bin/sqlservr

Now you can connect to SQL Server on RHEL. At first, let's connect with sqlcmd. You should have to install SQL Server tools even if you run sqlcmd on the same host as you installed mssql-server package with following the document. First connect to local SQL Server instance.

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

When you connect to remote SQL Server instance, specify the host name.

$ sqlcmd -S example.com -U SA -P '<YourPassword>'

If SQL Server instance is lisetening the non default port, specify port with ".".

$ sqlcmd -S example.com,8489 -U SA -P '<YourPassword>'

After a succeedful login, sqlcmd is waiting for your commands. Here are commands for creating a new database with default setting and using this created database.

1> CREATE DATABASE testdb;
2> GO
1> USE testdb;
2> GO
Changed database context to 'testdb'.

Commands are case insensitive and each command can be ended with ";". Then when input "GO", SQL Server execute commands. So you can execute several commands at one time. Here are the commands for creating a table and inserting a record. This sample executes 3 commands at one time.

1> CREATE TABLE items (id INT, name NVARCHAR(50), quantity INT);
2> INSERT INTO items VALUES (1, 'box', 10);
3> INSERT INTO items VALUES (2, 'ball', 5);
4> GO

(1 rows affected)

(1 rows affected)
1> SELECT * FROM items WHERE quantity > 6;
2> GO
id          name                                               quantity
----------- -------------------------------------------------- -----------
          1 box                                                         10

(1 rows affected)

Connect from Visual Studio Code

You can operate SQL Server graphically on Linux with Visual Studio Code and mssql extension. Here is a short video that explains how to install and run mssql extension for Visual Studio code.

https://youtu.be/NrzHLcBO2F0

 

To use mssql extension, please set a file type to "SQL".

Visual Studio Code has an IntelliSense for SQL syntax and sql code snippets.

Connect from Visual Studio

If you're using Visual Studio on Windows, you can use this Visual Studio to manage SQL Server on Linux with SQL Server Data Tools(SSDT). Now SSDT can manage not only SQL Server on Windows but also SQL Server on Linux. You can see table definition, execute query and execute other operations graphically.

 

Takayoshi Tanaka

About the author:

Takayoshi Tanaka is the Software Maintenance Engineer of Red Hat. He is mainly in charge of OpenShift, .NET Core on Red Hat Enterprise Linux and Red Hat solutions on Microsoft Azure. He is a Microsoft MVP for Visual Studio and Development Technologies. He writes many articles in his personal blog and web sites, and also he gives many technical session in community events.

Last updated: November 14, 2023