Sql server 2019 Linux

Copper Contributor

Sql server 2019 Linux
Good afternoon people,

I have a difficult situation here to understand. Someone has had this problem and can help me!

I'm testing how sql server works on linux. An Ubuntu server 18.04 distribution. Test Sql Server is 2019.

I installed it as suggested by Microsoft. Until then everything working, the problem is the exchange of the port. See what a strange thing.

I broke my head two days trying to change the sql connection to port 220. Nothing working. I did a lot of research on various topics on the internet and switching ports seemed to be a very normal thing. Why my case doesn't work!

Ah, then comes the question. In desperation I changed the port to 1453 and it worked! There was a doubt why port 220 is functional when I am in a 100% Windows environment. I already took the test! Why doesn't it work on port 220 on Linux!

More desperate, I changed the port to 10 and 14 and it didn't work. I switched to ports with 2200 and 3300 and 1450 and etc and everything works!
Apparently sql is only accepting connections to ports with more than 4 digits. using 2 and 3 digit port numbers doesn't work at all. The desperation was so much, that he did the test in two installations and in two different machines!

Has anyone ever experienced this? Very strange. I'm not understanding anything!

9 Replies

@Cristiano705 , this is an English spoken forum, so please post your question/issue/error message in English or to a localized forum.


Why doesn't it work on port 220 on Linux!

@Cristiano705 , has nothing directly to do with the OS.


One IP port can be used by one application at the same time.

Port 220 is default for IMAP, see List of TCP and UDP port numbers - Wikipedia

And so I simply guess, you installed on Linux a services using that IP port.



Thank you for your help

It's a clean install. My Linux (ubuntu server 18.04) has nothing installed. A machine created for SQL Server tests.

As I didn't see much explanation for this, I also tested it with other ports, like 230, 240, 250, 888, 999 1000, and it doesn't work.

Starting from port 1024, the exchange works successfully.

I don't understand why I can't use ports below 1024, since this is possible in Windows environment.
And I don't understand what it could be good for using a port different then default ones, especially one below 1000?
It's to understand!
I'm testing on Linux and checking for differences in the windows environment.
On windows, any port can be used.
I don't understand why on Linux the Sql server doesn't bind with ports below 1024.
Per Microsoft's post, nothing has changed in Sql Server. I do not understand!

Hi @Cristiano705 -- This is likely because ports below 1024 are known as well-known ports (IANA) and on Linux are considered privileged and require root-level privileges to run.  This is by design.  There are several methods for circumventing that restriction but is generally not recommended.  Take care.

Hi! Thanks!
Yes, ports below 1024 are specific as well.
On Linux, switching ports is quite simple! change the ftp port (21), or port (80) to any other without any work. There is this facility in Linux
Already on Sql Server, for Linux it seems not to accept changing ports below 1024, or is there a way?

Thank you for your help!
> seems not to accept changing ports below 1024, or is there a way?
Why? I can't imagine, what that could be good for?




If someone has a windows installation of sql, running on a port below 1024, and is going to migrate to a sql server installation on Linux, you will have problems!
You will have to change all sql server connections or work on a firewall configuration to get around the problem.
Why does it lock in Linux, since in windows the port can be changed without problems!

Sorry for English! I'm using tractor.