SQL Server 2017 is available on Linux and Docker (which means that it’s also available on Mac). This is the first time SQL Server has been available on a non-Windows platform.
However, not all SQL Server features are available on Linux (at least, not in the initial release).
The following table outlines the main features available in the initial release of SQL Server 2017 on Linux. These are the same features available if you are running SQL Server on a Mac (given the Mac runs SQL Server 2017 via a Linux Docker container).
Operations Features
Below are the main operations features available in SQL Server 2017 for Linux.
- Support for Linux (Red Hat, SUSE, Ubuntu)
- Support for Mac (via Linux Docker image)
- Package based installation, Docker images available for quick installations and upgrades.
- Support for deploying into container platforms such as Open Shift, Docker Swarm, Kubernetes, etc
- Failover Clustering (via Pacemaker) and Always On availability groups
- Backup/restore
- SSMS on Windows connected to Linux (but not installed on Linux itself)
- Command line tools: sqlcmd, bcp, sqlpackage
- SQL Server Agent
- Replication
- Log shipping
- Transparent data encryption
- SCOM management pack
- DMVs
- Full-Text Search
Programming Features
Below are the main programming features available in SQL Server 2017 for Linux.
- All major language driver compatibility
- In memory OLTP and Columnstore
- Compression
- Always Encrypted, Row Level Security, and data masking
- AD user authentication
- Service Broker
- Change data capture
- Partitioning
- Auditing
- CLR
- JSON, XML
- Third party tools
Integration Services
SQL Server Integration Services (SSIS) is also available in SQL Server 2017 for Linux.
Other services such as Reporting Services, Analysis Services, etc were not included in the initial release, but are planned for future release. More below on what’s not included in SQL Server 2017 for Linux.
What’s Not Available on Linux in SQL Server 2017?
SQL Server on Linux doesn’t have all the features that are available in the Windows release (at least, not in the initial release).
Database Engine Features
SQL Server 2017 on Linux does not include the following database engine features:
- DB mail
- Alerts
- FileTables (FileTables have a dependency on the Windows file system)
- Stretch DB
- PolyBase
- Third party extensions
- XPs
- Mirroring
- VSS snapshots
Other Services
Also, the initial release of SQL Server 2017 on Linux does not include the following services:
- Analysis Services
- Reporting Services
- R Services
- Master Data Services
- Data Quality Services
However, Microsoft is currently working on these and has indicated that they will be included in a future release.
Tools and Programmability
A range of tools are available when running SQL Server 2017 on Linux. These include:
- Microsoft has developed Azure Data Studio (previously called SQL Operations Studio), which is an open source, cross-platform GUI tool for managing SQL Server. Includes features such as IntelliSense, Peek Definition, etc. Azure Data Studio is available on Windows, Linux, and Mac.
- Native command line tools, such as sqlcmd, bcp, and sqlpackage, are available on Linux
- Third-party tools such as DBeaver and DataGrip can be used on Linux to connect to SQL Server 2017.
- Visual Studio Code extension. This open source extension allows you to run queries etc directly from the VS Code interface. It includes features such as IntelliSense, Peek Definition, etc. VS Code (and the mssql extension) is available on Windows, Linux, and Mac.
- All existing drivers and frameworks are supported.
- Although Windows-based SQL Server tools such as SSMS, SSDT, and Profiler aren’t available on Linux, they can be used when connecting to SQL Server on Linux
New Features in SQL Server 2017
Apart from adding support for Linux/Mac/Docker, there are a number of other new features in SQL Server 2017. Here’s a list of the main features added to the SQL Server 2017 Database Engine.
The Microsoft website also contains a full list of new features in SQL Server 2017, including new features in the various services such as Reporting Services, Integration Services, etc.