Step by Step Installation for SQL Server on Linux


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