I don’t have any statistics but I think most IT Professionals in the SQL Server field are managing or developing solutions on their SQL Server Databases deployed on Windows Servers. If you’re planning to try SQL Server on Linux, this is a good book to get you started. Or, if your company is looking to deploy SQL Server into Linux, grab this book. Or, maybe you’re in a Linux shop that is considering SQL Server, that’s a solid reason to grab this book.
This book addresses some general groups of IT Pros:
- Those Linux Admins new to the SQL Server implementation.
- Oracle DB Admins migrating to SQL Server within their Linux Environment.
- SQL Server Consultants who are looking to add another income stream.
- Oracle Consultants who are looking to add another income stream.
- Nix People who are interested in SQL Server.
- SQL Server People who are interested in Linux.
- People who want to add more tricks up their sleeve (chances are I belong to this group).
Published by McGraw Hill, SQL Server 2017 on Linux is a 285-page primer guaranteed to help you setup a Linux-Based SQL Server implementation. This is another good resource from Benjamin Nevarez (B|T). It is packed with great information, tips and tricks, and recommendations on installing, configuring, maintaining, tuning, optimizing, and securing SQL Server 2017 on Linux. I think this book accomplishes its goal – that is, provide comprehensive instruction on the subject.
Chapters 1 – 3: Cover Getting Started stuff – how to create VM, install the SQL Server, and its Components. Two particular Nix flavor mentioned are Ubuntu and SUSE Linux Enterprise Server. If you are into Containers, there is a portion dedicated to Docker.
If you want to understand How SQL Server works on Linux, Chapter 2 covers that. This chapter covers that backstory of how SQL Server-to-Linux came to be.
Not well-versed with the Linux OS? Chapter 3 provides the info to get you started using SQL Server. It covers both basic and advanced Linux Commands to get you up and running SQL Server on Linux in no time.
Chapters 4 – 6: Chapter 4 guides you through configuring SQL Server on the Linux Environment. It also provides more detail about the mssql-conf Utility – a tool that installs and configures SQL Server. Topics included are: NUMA, Swap Files, Trace Flags, Process Affinity, MAXDOP, Cost Threshold for Parallelism, and many more.
Chapter 5 is my favorite Chapter which covers SQL Server Query Tuning and Optimization. It even includes a mini-intro on the Query Processor Architecture, which is a good thing. Of course, it includes the usual suspects: Query Optimization, Execution Plans, Query Troubleshooting, Indexes, Statistics, among others.
Chapter 6 covers the New Query Processing Features of SQL
Chapter 7 – 8 Covers High Availability and Disaster Recovery and Security. Chapter 7 covers implementing Availability Groups – yes, this is available in SQL Server On Linux as noted in the book. There is also a short list of differences between availability groups on Windows vs Linux.
Chapter 7 also provides instruction and commands to setup Pacemaker, an open source high-availability resource manager to manage Pacemaker clusters, basically. Of course, the book demonstrates how to fail over an availability group in a Pacemaker cluster operation. If the tool does not work, a T-SQL workaround is also provided.
The book concludes a chapter about Security in Chapter 8. Topics covered are Transparent Data Encryption, Always Encrypted, Row-Level Security, Dynamic Data Masking, among others.
As you can see, this book provides everything that you need to get started using SQL Server on Linux. it pretty much covered the whole nine yards. It’s a 285-page book. You’re getting much meat in this book without you getting a deluge of information overload.
If you don’t think you’ll ever manage a SQL Server on Linux in the near future, you’ll still get a bang for your buck with this book. Most of the information, if not all, provided in Chapters 4 – 8 are generally applicable to any SQL Server implemented in Windows Server platform.