|Microsoft SQL Server 2017 On Linux
Author: Benjamin Nevarez
The very fact this book exists would have been unthinkable a few years ago; SQL Server on Linux - unbelievable. However, now it's here, the two tribes need to know how it works.
The aim of the book is to show how to set up, configure and administer SQL Server 2017 on Linux. The problem any author has in writing a book on this topic is whether you're writing for an experienced SQL Server administrator/developer who's moving to the scary world of Linux, or whether your audience is the Linux expert who's moving over to the dark side by choosing SQL Server. The two audiences have very different needs, and in this case the author seems to be targeting people who know SQL Server and who want to know what it's like under Linux.
The book starts with a chapter on creating a virtual machine, installing and configuring SQL Server, connecting it and installing extra components. There are instructions for installing on Ubuntu, SUSE Linux, and Docker.
Nevarez then describes how SQL Server on Linux works, with some history going back to the Sybase years to explain that SQL Server was originally developed for Unix, then ported to OS/2 and only later to Windows NT. This is a fun chapter for old SQL hands who want to reminisce about the good old days, but I'm unsure how really relevant it is to making the Linux version work well.
Chapter Three is all about Linux for the SQL Server Professional, presumably on the basis that if you've followed SQL Server from Windows to Linux, you won't have a clue about the Unix file system, Bash Shell, and other Linux features.
By Chapter Four we're onto the directly relevant material with a look at SQL Server configuration. The chapter looks at the mssql-conf utility, the Linux settings that are likely to work well, and specific aspects of SQL Server configuration such as tempdb, degrees of parallelism, and process affinity.
The next chapter is one of the longest and most detailed, looking at query performance and optimization. This is an excellent chapter, as you'd expect given the author's background as a SQL MVP specializing in query tuning and optimization. This is classic SQL Server stuff, starting from the query processor architecture, and going through execution plans, troubleshooting utilities such as the various sys.dm_exec options, indexes v heaps, the statistics you can use, parameter sniffing and the limitations of the query processor.
Another good chapter on query processing follows looking at what's new in this area, such as adaptive query processing, automatic tuning, the USE HINT query option, and the use of Wait statistics on execution plans.
High availability and disaster recovery is the subject of the next chapter. The majority of the material in this chapter is on availability groups, with info on how they differ between Windows and Linux, and how to implement them in Linux in terms of T-SQL configuration, and of SQL Management Studio configuration.
The final chapter looks at security in SQL Server, with sections on transparent data encryption, always encrypted, row-level security, and dynamic data masking.
This is a good book for SQL Server administrators and developers who want to know how to set up and run SQL Server on Linux. It's well written, technically accurate, and the material on things such as query execution plans would be useful whatever version of SQL Server you were running.
|Last Updated ( Saturday, 26 January 2019 )