This article provides guidance for installing, updating, and
uninstalling SQL Server 2017 on Linux.
Supported platforms
SQL Server 2017 is supported on Red Hat Enterprise Linux
(RHEL), SUSE Linux Enterprise Server (SLES), and Ubuntu. It is also supported
as a Docker image, which can run on Docker Engine on Linux or Docker for
Windows/Mac.
Note: Docker is a computer
program that performs operating-system-level
virtualization also known as containerization. It is developed by Docker, Inc. Docker is primarily developed for Linux, where it uses the resource isolation features of
the Linux kernel such
as cgroups and kernel namespaces, and a union-capable
file system such as OverlayFS and
others to allow independent "containers" to
run within a single Linux instance, avoiding the overhead of starting and
maintaining virtual machines (VMs)
|
Platform
|
Supported version(s)
|
|
Red Hat Enterprise
Linux
|
7.3 or 7.4
|
|
SUSE Linux Enterprise
Server
|
v12 SP2
|
|
Ubuntu
|
16.04
|
|
Docker Engine
|
1.8+
|
Microsoft also supports deploying and managing SQL Server
containers by using OpenShift and Kubernetes.
System requirements:
SQL Server 2017 has the following system requirements for Linux:
|
Memory
|
2 GB
|
|
File System
|
XFS or EXT4 (other file systems, such as BTRFS, are
unsupported)
|
|
Disk space
|
6 GB
|
|
Processor speed
|
2 GHz
|
|
Processor cores
|
2 cores
|
|
Processor type
|
x64-compatible only
|
If you use Network File System (NFS) remote shares in production, note the following support
requirements:
·
Use NFS version 4.2 or higher. Older versions of NFS do not support required features, such as
fallocate and sparse file creation, common to modern file systems.
·
Locate only the /var/opt/mssql directories on the NFS mount. Other files, such as the SQL
Server system binaries, are not supported.
·
Ensure that NFS clients
use the 'nolock' option when mounting the remote share.
Note: You must have a RHEL 7.3 or 7.4 machine
with at least 2 GB of
memory.
Installation
Steps:
Note: If you have previously installed a CTP or RC
release of SQL Server 2017, you must first remove the old repository before
registering one of the GA repositories.
Step-1: Download the Microsoft SQL Server Red Hat
repository configuration file:
Use bash shell
sudo curl -o
/etc/yum.repos.d/mssql-server.repo
https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
Step-2: Run the following commands to install SQL Server
sudo yum install -y mssql-server
Step-3 : 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
Step-4: Once
the configuration is done, verify that the service is running
systemctl status mssql-server
Step-5: 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
sudo firewall-cmd
--zone=public --add-port=1433/tcp --permanent
sudo
firewall-cmd –reload
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.
Step1: sudo curl -o /etc/yum.repos.d/msprod.repo
https://packages.microsoft.com/config/rhel/7/prod.repo
Step-2: If you had a previous version of mssql-tools installed,
remove any older unixODBC packages.
sudo yum remove unixODBC-utf16
unixODBC-utf16-devel
Step-3: Run
the following commands to install mssql-tools with
the unixODBC developer package.
sudo yum install -y mssql-tools
unixODBC-devel
Step-4: 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:
echo 'export
PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export
PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
How To connect to your new SQL Server instance using
sqlcmd:
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.
sqlcmd -S localhost -U SA -P '<YourPassword>'
Note-1: You
can omit the password on the command line to be prompted to enter it.
Note-2: 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
Note-3: If
successful, you should get to a sqlcmd command
prompt,then it’s ok. If you get a connection failure, first attempt to diagnose
the problem from the error message.
Create a new database:
1.
From the sqlcmd command
prompt, paste the following Transact-SQL command to create a test database:
CREATE DATABASE TestDB
2.
On the next line, write
a query to return the name of all of the databases on your server:
SELECT Name from sys.Databases
3.
The previous two commands were not executed
immediately. You must type
GO on
a new line to execute the previous commands:
GO
Insert
Some Data:
1.
Next create a new table,
Inventory, and
insert two new rows.
From the sqlcmd command prompt,
switch context to the new
TestDB database:
USE
TestDB
2.
Create new table named
Inventory:
CREATE TABLE
Inventory (id INT, name NVARCHAR(50), quantity INT)
3.
Insert data into the new table:
INSERT INTO
Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
4.
Type
GO to
execute the previous commands:
GO
Select data:
1.
From the sqlcmd command prompt, enter a query that returns rows from
the Inventory table where the quantity is greater than 152:
SELECT * FROM Inventory WHERE quantity > 152;
2.
Execute the command:
Go
Exit the sqlcmd command prompt
QUIT
Connect from Windows:
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.
===================Happy
Learning=============================
No comments:
Post a Comment
thedbaportfolio@gmail.com