MS SQL Server on v15

Since we lost support for Leap 42.3, I need to migrate to v15. However, I run many databases on Leap 42.3.
My main concern is that I need to install MS SQL Server 2017 on OpenSuse v15 or 15.1.

I cannot locate any definite answers anywhere online so far regarding MS SQL Server and OpenSuse 15 or SLES 15.

Does anyone know?

I love to stay with OpenSuse–but I may have to migrate to Fedora 30 where MS SQL Server is supported (i.e. known to be installed).

Thank you,
ArDrakho

What version of MSSQL are you trying to run, Express, Standard, Enterprise?

TSU

Without attempting to install,
I found the following…
The following are links for MSSQL 2017, there are also previews for MSSQL 2019 (If you’re migrating, you may want to do this upgrade as well)

Microsoft Quickstart on SLES 12
This is the basic instructions, but recommend the SLES 15 repo which is next
BTW - I suspect the addrepo command is incorrect, should point to the directory that contains the .repo file and should not include that file name… But on the other hand, I’m surprised there are several .repo files in the directory
https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-suse?view=sql-server-2017

SLES 15 repo (likely works for openSUSE 15.0/15.1 as well but needs to be tried)
There is only one .repo file in the directory, unlike the SLES 12 repo
https://packages.microsoft.com/config/sles/15/

I assume that you’ve already had experience administering MSSQL on Linux, the following describes unavailable features on Linux…
Bottom line, supports only single instance and not clustered deployments, DTC not supported, no GUI management tool (at least not Microsoft), lack of several fault tolerant features
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes?view=sql-server-2017#known-issues

There is also a dockerized MSSQL which can be deployed on any Linux (or Windows containers)

Any issues, just post.

TSU

Developer Edition (i.e. Enterprise version)

Yes, you found all that I located. Also, I also located some recent articles and other forum posts–they seem to talk around the subject.

I also reviewed the contents in the SLES15 repo directory–which seems to be missing the actual files for MS SQL Server 2017 or the preview 2019 as compared to SLES12 repo directory.

Just wish the Suse or OpenSuse teams would publicly publish that we can or cannot (at least a possible work-around).

Thanks!!

Looking at the SQL Server 2019 preview published by the Redmond folks, it seems that only SLES12 SP2 is recognised.
Looking at SUSE’s Lifecycle notices, SLES12 has general support up to the 31st of October 2024 or, SLES12 SP4 has general support up to 6 months after SLES12 SP5 release.

  • SLES12 SP2 has general support up to the 31st of March 2018 and Long Term Support until the 31st of March 2021.
  • Hopefully the Redmond folks will offer a SQL Server version suitable for SLES15 before October 2024 …

[HR][/HR]We have absolutely no control over how the folks in the woods around Seattle tick …

I’ve spent as much time as I can on this…
There are a few problems with what is available,
First it should be recognized that the repo and its contents, plus the instructions are all Microsoft and likely setup and written by someone unfamiliar with openSUSE… only by someone who read some documentation but not a regular User.

First major issue is that a gpg cert somewhere in the authentication chain is self-signed which is breaking simple, normal and direct commands to add and refresh the repo. Whatever is happening, I cannot find a zypper configuration that works, and may be the reason why the documentation describes installing a repo configuration which in turn installs the repo instead of installing the repo directly. If this is why the convoluted repo configuration, such are the devices of the uninformed.

The other major issue is that the repodata metadata is faulty in some way. If you look at the repo.xml, it’s big… that’s a lot of stuff to have to verify is correct.

The remaining method which will probably work but I’m not going to do for at least the next few days is to replicate the repos to a local location and set up your own repository with its own level of security. Since I don’t expect the packages to change, it’s possibly an acceptable risk.

Bottom line though, the Microsoft repos should be fixed by Microsoft themselves.

If you want to copy the actual MSSQL repos(bypassing the configuration repos in the documentation), they’re here…
They’re all here… MSSQL for SLES 11, SLES 12, SLES15 and of course SLES15 is supposed to be similar to openSUSE 15

https://packages.microsoft.com/sles/

TSU

For example,
The following is the URI for MSSQL 2017 on SLES 15, which is what I recommend for now for openSUSE 15/15.1

https://packages.microsoft.com/sles/15/prod/

TSU

I saw that too. I downloaded the SLES 12 with the 1-Year Developer License–hoping I do not have to use this option. Though, I could study and easily get the SCA this way.

I hope Microsoft get Suse 15 certified soon!

Thank you!

I see you experienced a similar frustration with both as I did trying to figure out if MS SQL Server can work with Leap 15.x.

I decided to buy another 4Tb drive and will perform the OpenSuse 15.1 install and will attempt to install MS SQL Server 2017 using the repository that you identified.

I will report back what happens on my test on v15.1–I’m imagine others are curious too!!

Thank you for your time and research!!

If you attempt to install MS SQL Server 2017, you will encounter these error messages:

Error message:

Problem: nothing provides openssl < 1.1.0 needed by mssql-server-14.0.3192.2-2.x86_64

Additional rpm output:
touch: cannot touch ‘/var/lib/rpm-state/mssql-sqlagent-disable’: No such file or directory

Hence, to install MS SQL Server 2017 into OpenSuse 15.1, follow these steps:

  1. sudo zypper install python-2.7.14-lp151.9.1

–Download openssl-1.0.2 and install (reboot)

  1. sudo zypper remove openssl

  2. sudo zypper install /home/Downloads/openssl-1.0.2j-38.1.x86_64.rpm
    Note: Select Option 1

– After reboot, download the following the required additional rpm files:

  1. sudo zypper install --oldpackage /home/Downloads/openldap2-2.4.44-18.1.x86_64.rpm
    Note: Select Option 2

  2. sudo zypper install --oldpackage /home/Downloads/libldap-2_4-2-2.4.44-18.1.x86_64.rpm
    Note:Select Option 1

  3. sudo zypper install --oldpackage /home/Downloads/openldap2-client-2.4.44-18.1.x86_64.rpm

  4. sudo mkdir /var/lib/rpm-state/

  5. sudo zypper install mssql-server

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

  7. systemctl status mssql-server
    Note: to verify installation and mssql is running


Install the SQL Server command-line tools

  1. sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo

  2. sudo zypper --gpg-auto-import-keys refresh

  3. sudo zypper install mssql-tools unixODBC-devel
    Note: (Select option 1)

  4. echo ‘export PATH="$PATH:/opt/mssql-tools/bin"’ >> ~/.bash_profile

  5. echo ‘export PATH="$PATH:/opt/mssql-tools/bin"’ >> ~/.bashrc

16 source ~/.bashrc

[Refer to document at ‘https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-suse?view=sql-server-2017’]

I created a database and a few database objects with success!

I will stress the installation soon enough!!

Have fun!!

Addendum to the post-installation of MS SQL Server 2017:


Azure Data Studio INSTALL

–Refer to https://docs.microsoft.com/en-us/sql/azure-data-studio/download?view=sql-server-linux-2017

–Download file from URL
https://docs.microsoft.com/en-us/sql/azure-data-studio/download?view=sql-server-linux-2017

sudo rpm -ivh /home/Downloads/azuredatastudio-linux-1.9.0.rpm


Visual Studio Code INSTALL

–Refer to https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-develop-use-vscode?view=sql-server-linux-2017

sudo zypper install code

-OR-

–Download file from URL
https://code.visualstudio.com/

rpm -ivh /home/Downloads/code-1.36.1-1562627663.el7.x86_64.rpm

–Install mssql extension (refer to instructions)


Node.js INSTALL

sudo zypper --gpg-auto-import-keys addrepo -f https://download.opensuse.org/repositories/devel:/languages:/nodejs/openSUSE_Leap_15.1/devel:languages:nodejs.repo

sudo zypper install nodejs4


PowerShell Core on Linux INSTALL

–Refer to https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-6

–Check for dependencies and install as necessary
sudo zypper info curl tar gzip libopenssl1_0_0 libicu60_2

–Download file
https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell-6.2.0-linux-x64.tar.gz

sudo mkdir -p /data/microsoft/powershell/6.2.0

sudo tar zxf “/home/Downloads/powershell-6.2.0-linux-x64.tar.gz” -C /data/microsoft/powershell/6.2.0

sudo chmod +x /data/microsoft/powershell/6.2.0/pwsh

sudo ln -s /data/microsoft/powershell/6.2.0/pwsh /usr/bin/pwsh

Notes: No issues yet! Hope Microsoft will create a new MS SQLServer release for OpenSuse 15.x soon!!

openssl 1.02 is in the OSS,
So,
All those steps to uninstall and install related to openssl can likely be replaced with the following single command, and select option 1
For anyone who might care, note that this downgrades your system openssl from 1.1.0 to 1.0.2 (as of today).

zypper in openssl-1_0_0

I’m not clear on your requirement to possibly downgrade your ldap2, did you really find that necessary and could that be because you’re running an old version of AD?

Regarding adding new PATH to access the location of your User Tools…
Generally I keep my User paths separate from my system paths, anything that should be specific to a logged in User generally points to a location in that User’s directory tree while anything that points to a location that requires root permissions I consider equivalent to “system” so would be configured for system-wide access.
Perhaps someone might comment if my reasoning is flawed,
But consistent with my personal policy, I’d configure those PATH additions in an /etc/profile.local file instead of as a BASHrc configuration.

TSU

Howdy,

All steps identified originated from six or seven complete installs of OpenSuse 15.1 to eliminate any library and/or dependency issues after many failed MS SQL Server 2017 installations. My goal was to provide everyone the working steps for a clean MS SQL Server 2017 on Linux installation on a fresh OpenSuse 15.1 installation (before any other software installs).

  1. MS SQL Server 2017 on Linux WILL NOT run with current packages of ‘openssl’, ‘openldap2’, ‘libldap’, and ‘openldap2-client’ and these MUST be downgraded to match OpenSuse 42.3.
  2. Keeping these packages from being updated and maintaining them at these levels ARE a must–otherwise, MS SQL Server breaks again. (Been there and done that too!)
  3. As for the paths, I kept things simple for others–these can be changed to match your environments.

Also, my database environments exist apart from the User and System paths and are segmented into a designated areas comprised on two 4Tb partitions that will house Oracle 12c, MS SQL Server 2017, PostgreSQL 10, and Neo4j 3.5 databases. As such, one partition named ‘data’ is where I installed PowerShell (i.e. /data/microsoft/powershell/) and is also where MS SQL Server and Neo4j databases exist as well.

I still have a lot of work to do…the data migrations will be fun…and hopefully boring!

I suspect that, holding the versions of openssl, openldap2, libldap and openldap2-client to match what the Redmond folks feel that they need, will be a “no deal” …

  • Why don’t you suggest that, some special SSL and LDAP packages matching the Leap 42.3 versions – to suit the needs of the Redmond world – be produced/packaged and appropriately named …

May I suggest the following names?

  • MS-SQL-openssl
  • MS-SQL-openldap2
  • MS-SQL-libldap
  • MS-SQL-openldap2-client

I wonder how it would run on Docker (container). Does any of you have any experience or what would your expectation be?
At the moment I run SQL on a Windows VMs on KVM/QEMu hosts but I’m looking for better storage-performance and I expect to get that running SQL directly on Linux. But it seems MS’s SQL Linux support is rather half-hearted especially for suse. I see they have updated their support for RHEL (8.3) and Ubuntu (20.04) but still stock on suse ver. 12 :\ (who to blame MS or SLES?)
But maybe running it on Docker + openSUSE 15.3 is the way to go.

Would love to hear your thoughts on the matter.

I will spin up my own test-installation when I get a moment to spare.