Initial impressions of SQL Server v.Next Public Preview

Microsoft announced its SQL Server on Linux public preview yesterday. I’m really excited to check it out. Here are some interesting things I found during my testing. I’ll write more as I play with it further.

  • If you want to play it on Ubuntu, it needs to be 16.04 or above. I didn’t pay attention to that initially, and started installing on Ubuntu 14. Below is a typical message you would get:

    [code language=”text”]
    The following packages have unmet dependencies:
    mssql-server : Depends: openssl (>= 1.0.2) but 1.0.1f-1ubuntu2.21 is to be installed
    E: Unable to correct problems, you have held broken packages.

    Running sudo apt-get dist-upgrade brought my Ubuntu to 16.04. The install was smooth afterwards.

  • Instruction for Red Hat Enterprise Linux also works for Fedora. I tested it on Fedora 23. I think it should also work on CentOS, although I didn’t test it myself.
  • The machine needs to have at least 3.25 GB of memory. On Ubuntu, install won’t continue if that condition is not satisfied:
    [code language=”text”]
    Preparing to unpack …/mssql-server_14.0.1.246-6_amd64.deb …
    ERROR: This machine must have at least 3.25 gigabytes of memory to install Microsoft(R) SQL Server(R).
    dpkg: error processing archive /var/cache/apt/archives/mssql-server_14.0.1.246-6_amd64.deb (–unpack):
    subprocess new pre-installation script returned error exit status 1
    Processing triggers for libc-bin (2.21-0ubuntu4.3) …
    Errors were encountered while processing:
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    On Fedora, installation finishes, but you won’t be able to start the service:
    [code language=”text”]
    [hji@localhost ~]$ sudo /opt/mssql/bin/sqlservr-setup
    Microsoft(R) SQL Server(R) Setup

    You can abort setup at anytime by pressing Ctrl-C. Start this program
    with the –help option for information about running it in unattended

    The license terms for this product can be downloaded from and found
    in /usr/share/doc/mssql-server/LICENSE.TXT.

    Do you accept the license terms? If so, please type “YES”: YES

    Please enter a password for the system administrator (SA) account:
    Please confirm the password for the system administrator (SA) account:

    Setting system administrator (SA) account password…
    sqlservr: This program requires a machine with at least 3250 megabytes of memory.
    Microsoft(R) SQL Server(R) setup failed with error code 1.
    Please check the setup log in /var/opt/mssql/log/setup-20161117-122619.log
    for more information.

  • Some simple testing 🙂 From the output below, we learn that: 1)in sys.sysfiles, full file name is presented like “C:\var\opt\mssql\data\TestDb.mdf”; 2) Database name, at least inside sqlcmd, is not case-sensitive. By the way, login is also case-insensitive: SA is sA.
    [code language=”text”]
    1> create database TestDb;
    2> go

    Network packet size (bytes): 4096
    1 xact[s]:
    Clock Time (ms.): total 447 avg 447.0 (2.2 xacts per sec.)
    1> use testdb;
    2> go
    Changed database context to ‘TestDb’.

    Network packet size (bytes): 4096
    1 xact[s]:
    Clock Time (ms.): total 3 avg 3.0 (333.3 xacts per sec.)
    1> select filename from sys.sysfiles
    2> go

  • I then did a quick testing of advanced feature, like Clustered Columnstore Index (CCI). Yes, it’s available in SQL Server for Linux!
    [code language=”text”]
    1> create table Person (PersonID int, LastName nvarchar(255), FirstName nvarchar(255))
    2> go

    Network packet size (bytes): 4096
    1 xact[s]:
    Clock Time (ms.): total 28 avg 28.0 (35.7 xacts per sec.)
    1> create clustered columnstore index Person_CCI on Person;
    2> go

    Network packet size (bytes): 4096
    1 xact[s]:
    Clock Time (ms.): total 25 avg 25.0 (40.0 xacts per sec.)

    Network packet size (bytes): 4096
    1 xact[s]:
    Clock Time (ms.): total 1 avg 1.0 (1000.0 xacts per sec.)


Overall, it looks pretty nice! I’ve got to say, I’m really impressed with Microsoft’s embrace of Linux. By the way, if you use Windows 10, I recommend Bash on Ubuntu on Windows. It’s in beta, but it works for me pretty well so far.

Stay tuned for more. I’ll definitely write more as I play with this new toy!

, ,

2 responses to “Initial impressions of SQL Server v.Next Public Preview”

  1. Hello this is a very useful post however I got the same error since I am using ubuntu 14.04 LTS, 64-bit, I performed the command: sudo apt-get dist-upgrade, but getting the same result after try again, could you please help me to overcome this situation,

  2. Adolf,

    I suggest you get a VM with the 16.04 and test it there.


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.