Benjamin Nevarez Rotating Header Image

Why I decided to write a book about SQL Server on Linux

I started my IT career working with Unix applications and databases back in the early ’90s, and my first job ever was as a data processing manager for a small IT shop. Back then, I was running Unix System V Release 4 on an NCR system. With such big and expensive minicomputer systems, I was always wondering if I could have a Unix system on less expensive hardware, such as a PC, to learn and test without disrupting our shared test systems.

Then I read an article in a personal computing magazine about something called Linux. Nobody knew what Linux was back in those days. Very few people—mostly at universities—had even access to the Internet back then. So I downloaded Linux on four or five floppy disks, installed it on a PC, and started playing with it. It was a distribution called Slackware. It was amazing that I could finally experiment and test everything I wanted on my own personal Unix system.

I continued to work with Linux and all the popular Unix commercial implementations, including IBM AIX, HP-UX, Sun Solaris, and others, throughout the ’90s. For several years, people still didn’t know what Linux was. It was not an immediate success. But by the end of the ’90s I decided to specialize in SQL Server, and by doing that I left the Unix world behind.

So it looked like I was not going to touch a Unix system ever again. But one day in March 2016, Microsoft surprised the technology community by announcing that SQL Server would be available on Linux. When I first heard the news, I thought it would be cool to write a book about it. Because I was just finishing a book about SQL Server 2016, I decided to wait to see how the technology evolved and to take a break from writing. One day, as I was running while training for a marathon, I started thinking about the project again and decided it could be a great idea to write a book about SQL Server on Linux. Just after finishing my run, I went to my laptop and sent an e-mail to my contact at McGraw-Hill Education, who eventually connected me with Lisa McClain. Within a few days, I was now working on this new book project.

Let me tell you how I structured this book.

Chapter 1 shows you how to get SQL Server running on Linux as quickly as possible, so you can start using the technology, even though I haven’t covered all the details yet. The chapter covers how to install SQL Server on Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Ubuntu and how to configure an image of SQL Server on a Docker container. More details of the setup and configuration are included in Chapter 4.

Chapter 2 covers some SQL Server history with different operating systems and explains some of the details about how SQL Server on Linux works. This includes describing the interaction between SQL Server and the operating system, decisions regarding its architecture, and information about its software implementation, among other related topics. It also covers details about the SQL Operating System (SQLOS), the Drawbridge technology, and the SQL Platform Abstraction Layer (SQLPAL).

I include an entire chapter dedicated to Linux for the SQL Server professional. Chapter 3 covers all the basic Linux commands you need to get started, including managing files and directories and their permissions, along with a few more advanced topics, including system monitoring.

Chapter 4 covers SQL Server setup and configuration in a Linux environment, and it is divided into three main topics: using the mssql-conf utility to configure SQL Server, which is required in Linux environments; using Linux-specific kernel settings and operating system configurations; and using some traditional SQL Server configurations for both Windows and Linux installations.

After spending time learning how to set up and configure SQL Server, you’ll move to Chapter 5, which discusses how to use SQL Server to perform database operations. This chapter, in particular, covers query tuning and optimization topics, which are applicable both to Windows and Linux installations—and, in fact, to all the currently supported versions of the product.

Chapter 6 continues with query processing and covers the new features available in SQL Server 2017, such as adaptive query processing and automatic tuning.

Chapter 7 is about high-availability and disaster-recovery solutions for SQL Server on Linux and focuses on Always On availability groups. Availability groups on both Windows and Linux can be used in high-availability and disaster-recovery configurations and for migrations and upgrades, or even to scale out readable copies of one or more databases. The chapter also covers Pacemaker, a clustering solution available on Linux distributions.

Finally, I close the book with Chapter 8, which is about security. This chapter reviews security from a general point of view and includes details about some of the new security features in SQL Server, including Transparent Data Encryption, Always Encrypted, Row-Level Security, and Dynamic Data Masking.

About the author

Benjamin Nevarez Benjamin Nevarez is a database professional based in Los Angeles, California who specializes in SQL Server query tuning and optimization. He is the author of three books, “High Performance SQL Server”, “SQL Server 2014 Query Tuning & Optimization” and “Inside the SQL Server Query Optimizer” and has also coauthored other books including “SQL Server 2012 Internals”. Benjamin has also been a speaker at many SQL Server conferences and events around the world including the PASS Summit, SQL Server Connections and SQLBits. His blog can be found at http://www.benjaminnevarez.com and he can also be reached on twitter at @BenjaminNevarez.

Leave a Reply

Your email address will not be published. Required fields are marked *