$ sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
This will download SQL Server 2019 repository to /etc/yum.repos.d/mssql-server.repo
Update your system cache:
$ sudo yum makecache
Then install SQL server 2019
$ sudo yum install -y mssql-server
$ rpm -qi mssql-server
Name : mssql-server
Version : 15.0.4223.1
Release : 2
Architecture: x86_64
Install Date: Tue May 17 08:22:16 2022
Group : Unspecified
Size : 1297034956
License : Commercial
Signature : RSA/SHA256, Mon Apr 18 20:46:17 2022, Key ID eb3e94adbe1229cf
Source RPM : mssql-server-15.0.4223.1-2.src.rpm
Build Date : Mon Apr 18 20:05:17 2022
Build Host : 17a94b24c000000.qzwxqe3wa2kubparrevzc0ivhc.xx.internal.cloudapp.net
...
After 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
Choose an edition of SQL Server:
Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=2109348
Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 2
2. Accept the license terms
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409
The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409
Do you accept the license terms? [Yes/No]: Yes
3. Set SQL Server system administrator password
Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.
Then install mssql-tools with the unixODBC developer package. Add the repository containing required packages using the next command:
$ sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
With the repository added, we can proceed to install the tools
$ sudo yum -y install mssql-tools unixODBC-devel
Accept license terms as directed during installation:
The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
Installing : msodbcsql17-17.9.1.1-1.x86_64 2/4
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
Start mssql-server service
$ sudo systemctl start mssql-server
Enable it to start on system boot:
$ sudo systemctl enable mssql-server
Add /opt/mssql/bin/ to your $PATH variable:
$ echo 'export PATH=$PATH:/opt/mssql/bin:/opt/mssql-tools/bin' | sudo tee /etc/profile.d/mssql.sh
Source the file to start using MS SQL executable binaries in your current shell session:
$ source /etc/profile.d/mssql.sh
If you have an active Firewalld service, allow SQL Server ports for remote hosts to connect:
$ sudo firewall-cmd --add-port=1433/tcp --permanent
$ sudo firewall-cmd --reload
Connect to the SQL Server and verify it is working.
$ sqlcmd -S localhost -U SA
Password:
Authenticate with the password set in Step 2.
Show Database users:
db_accessadmin
db_backupoperator
db_datareader
db_datawriter
db_ddladmin
db_denydatareader
db_denydatawriter
db_owner
db_securityadmin
dbo
guest
INFORMATION_SCHEMA
public
sys
(16 rows affected)
Create a test database:
CREATE DATABASE mytestDB
SELECT Name from sys.Databases
GO
USE mytestDB
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
GO
SELECT * FROM Inventory LIMIT 1;
Show databases on the SQL Server.
1> select name,database_id from sys.databases;
2> go
Drop a database:
1> drop database mytestDB;
2> go