Microsoft SQL Server 2017 on Linux

Book description

Essential Microsoft® SQL Server® 2017 installation, configuration, and management techniques for Linux

Foreword by Kalen Delaney, Microsoft SQL Server MVP

This comprehensive guide shows, step-by-step, how to set up, configure, and administer SQL Server 2017 on Linux for high performance and high availability. Written by a SQL Server expert and respected author, Microsoft SQL Server 2017 on Linux teaches valuable Linux skills to Windows-based SQL Server professionals. You will get clear coverage of both Linux and SQL Server and complete explanations of the latest features, tools, and techniques. The book offers clear instruction on adaptive query processing, automatic tuning, disaster recovery, security, and much more.

•Understand how SQL Server 2017 on Linux works
•Install and configure SQL Server on Linux
•Run SQL Server on Docker containers
•Learn Linux Administration
•Troubleshoot and tune query performance in SQL Server
•Learn what is new in SQL Server 2017
•Work with adaptive query processing and automatic tuning techniques
•Implement high availability and disaster recovery for SQL Server on Linux
•Learn the security features available in SQL Server

Table of contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Dedication
  5. Contents
  6. Foreword
  7. Acknowledgments
  8. Introduction
  9. Chapter 1 SQL Server on Linux: Getting Started
    1. Creating a Virtual Machine
      1. Step 1. Basics: Configure Basic Settings
      2. Step 2. Size: Choose Virtual Machine Size
      3. Step 3. Settings: Configure Optional Features
      4. Step 4. Summary and Purchase
    2. Installing SQL Server
    3. Configuring SQL Server
      1. Intro to Unix Commands
    4. Connecting to SQL Server
    5. Installing Additional Components
    6. Installing on Ubuntu
    7. Installing on SUSE Linux Enterprise Server
    8. Running SQL Server on Docker
    9. Uninstalling SQL Server
    10. Summary
  10. Chapter 2 How SQL Server on Linux Works
    1. The Sybase Years
    2. SQLOS
    3. The Industry Changes
    4. Project Helsinki
    5. A Virtualization Surprise
    6. Drawbridge
      1. Looking for a Shortcut
    7. SQLPAL
    8. Summary
  11. Chapter 3 Linux for the SQL Server Professional
    1. Getting Started
    2. Files and Directories
      1. Files
      2. The Unix File System
    3. Additional Commands
      1. Building a Command
    4. Permissions
    5. Bash Shell
    6. Services Management
    7. Software Management
    8. Disk Management
    9. System Monitoring
    10. Summary
  12. Chapter 4 SQL Server Configuration
    1. The mssql-conf Utility
      1. Using Variables
    2. Linux Settings
      1. Kernel Settings
      2. Transparent Huge Pages
      3. Swap File
      4. Last Accessed Date/Time
    3. SQL Server Configuration
      1. Linux Out-of-Memory Killer
      2. tempdb Configuration
      3. Process Affinity
      4. Max Degree of Parallelism
      5. Cost Threshold for Parallelism
      6. Statistics
      7. Trace Flag 2371
    4. Summary
  13. Chapter 5 SQL Server Query Tuning and Optimization
    1. Query Performance
    2. Query Processor Architecture
      1. Parsing and Binding
      2. Query Optimization
      3. Generating Candidate Execution Plans
      4. Assessing the Cost of Each Plan
      5. Query Execution and Plan Caching
    3. Execution Plans
      1. Graphical Plans
      2. XML Plans
      3. Text Plans
    4. Query Troubleshooting
      1. sys.dm_exec_requests and sys.dm_exec_sessions
      2. sys.dm_exec_query_stats
      3. statement_start_offset and statement_end_offset
      4. sql_handle and plan_handle
      5. query_hash and plan_hash
      6. Finding Expensive Queries
      7. SET STATISTICS TIME / IO
    5. Indexes
      1. Creating Indexes
      2. Clustered Indexes vs. Heaps
      3. Clustered Index Key
    6. Statistics
      1. Creating and Updating Statistics
      2. The New Cardinality Estimator
      3. Cardinality Estimation Errors
      4. Statistics Maintenance
    7. Parameter Sniffing
      1. Optimizing for a Typical Parameter
      2. Optimizing on Every Execution
      3. Using Local Variables and the OPTIMIZE FOR UNKNOWN Hint
      4. Disabling Parameter Sniffing
    8. Query Processor Limitations
      1. Query Optimization Research
      2. Break Down Complex Queries
      3. Hints
    9. Summary
  14. Chapter 6 New Query Processing Features
    1. Adaptive Query Processing
      1. Batch Mode Adaptive Joins
      2. Batch Mode Adaptive Memory Grant Feedback
      3. Interleaved Execution for Multistatement Table-Value Functions
    2. Automatic Tuning
    3. SQL Server 2016 Service Pack 1
    4. USE HINT Query Option
    5. CXPACKET and CXCONSUMER Waits
    6. Wait Statistics on Execution Plans
    7. Recent Announcements
    8. Summary
  15. Chapter 7 High Availability and Disaster Recovery
    1. SQL Server High-Availability and Disaster-Recovery Features
    2. Always On Availability Groups
    3. Availability Groups on Windows vs. Linux
    4. Implementing Availability Groups
      1. T-SQL Configuration
      2. SQL Server Management Studio Configuration
      3. Configuring Pacemaker on Red Hat Enterprise Linux
      4. Configuring Pacemaker on Ubuntu
      5. Operating an Availability Group Resource
    5. Summary
  16. Chapter 8 Security
    1. Introduction to Security on SQL Server
    2. Transparent Data Encryption
      1. Attach or Restore a TDE Database to Another SQL Server Instance
    3. Always Encrypted
    4. Row-Level Security
    5. Dynamic Data Masking
    6. Summary
  17. Index

Product information

  • Title: Microsoft SQL Server 2017 on Linux
  • Author(s): Benjamin Nevarez
  • Release date: June 2018
  • Publisher(s): McGraw-Hill
  • ISBN: 9781260121148