The goal is for SQL Server on Linux to match the performance on Windows, only the core relational engine will be ported initially
In-memory OLTP and Columnstore will be included in the first release
Monthly private previews, next month will be the last private preview, after that will be the public preview with the current plan being GA mid-2017
Initially on Redhat Linux/Ubuntu/Docker,SuSE support to follow
Failover clustering for FCI will be provided via Pacemaker which is the standard failover tool packaged with Redhat Linux and should support other Linux variants so less porting work required by the Microsoft team!
A failover demo was performed with an app that kept trying to reconnect and had a short blip whilst the failover occurred
There will be a standard "script" type interface to support stop/start actions for clustering.
yum install (or aptget), then run a setup script to accept the license and set the sa password
Currently only 1 instance per host, use containers if more are needed, do not forget to map container TCP/IP port to host port!
Always on Availability Groups will NOT be initally supported as this stores metadata inside Window Cluster Services and this needs to be untangled before it can be supported
Filestream IS supported but NOT Filetable as that is outside the relational engine
Full Text Search and AD integration will NOT be initially supported but are to follow
Surprise(!),CLR IS supported via full .NET Framework, compile on Windows/copy file to Linux though, this was demo'ed
SQL Agent should be in the next private preview, code is done.
Taking a backup on Windows, copying the file to Linux and restoring WAS demo'ed with no backup file conversation or conversion options needed!
SQLOS is NOT a Platform Agnostic, tied to Windows API!
Options for porting were:
Option chosen was using Microsoft Research project Drawbridge, run Win32 sub system in process, just port lower level API calls
SQL Server on Linux will include a Platform Abstraction Layer (PAL) so the same SQL Server binaries just run(!), incliuding Service Packs.
This means the SQL Server developers during day to day work just QA as normal on Windows, then handover for final set of testing on Linux
There will be seperate Host Extension Layers for Windows and Linux.
Some latency sensitive calls go via a more direct path to the Host Extention e.g. readfile/writefile, IO completion marked in Host Extension, SQLOSv2 then automatically picks that up.
SQLOSv2 has been pushed down in the stack
Only completed the day before the talk - SQL Server DMVs via a mounted filesystem like /proc!
Also for DBAs who like to view everything via T-SQL,/proc visible in sys.dm_linux_proc% DMVs! Saves having to logon to the host.