Table of Contents

Foreword

Introduction

Who this book is for

Assumptions about you

How this book is organized

About the companion content

Acknowledgments

Support and feedback

Errata & support

Stay in touch

Chapter 1 Getting started with SQL Server tools

SQL Server setup

Installing SQL Server by using the Installation Center

Planning before an upgrade or installation

Installing or upgrading SQL Server

Tools and services installed with the SQL Server Database Engine

Machine Learning Services

Data Quality Services

Command-line interface

SQL Server Configuration Manager

Performance and reliability monitoring tools

Database Engine Tuning Advisor

Extended events

Management data warehouse

SQL Server Reporting Services

Installation

Report Services Configuration Manager

SQL Server Management Studio

Releases and versions

Installing SQL Server Management Studio

Upgrading SQL Server Management Studio

Features of SQL Server Management Studio

Additional tools in SQL Server Management Studio

Error logs

Activity Monitor

SQL Server Agent

SQL Server Data Tools

SQL Server Integration Services

A note on deprecation

Chapter 2 Introducing database server components

Memory

Understanding the working set

Caching data in the buffer pool

Caching plans in the procedure cache

Lock pages in memory

Editions and memory limits

Central Processing Unit

Simultaneous multithreading

Non-Uniform Memory Access

Disable power saving everywhere

Storing your data

Types of storage

Configuring the storage layer

Connecting to SQL Server over the network

Protocols and ports

Added complexity with Virtual Local-Area Networks

High availability concepts

Why redundancy matters

Disaster recovery

Clustering

The versatility of Log Shipping

Always On availability groups

Read-scale availability groups

Distributed availability groups

Basic availability groups

Improve redundancy and performance with NIC teaming

Securing SQL Server

Integrated authentication and Active Directory

Azure Active Directory

Abstracting hardware with virtualization

Resource provisioning for VMs

When processors are no longer processors

The network is virtual, too

Summary

Chapter 3 Designing and implementing a database infrastructure

Physical database architecture

Data files and filegroups

Recording changes in the transaction log

Table partitioning

Data compression

Managing the temporary database

Configuration settings

Managing system usage by using Resource Governor

Configuring the page file (Windows)

Taking advantage of logical processors by using parallelism

SQL Server memory settings

Carving up CPU cores using an affinity mask

File system configuration

Azure and the Data Platform

Infrastructure as a service

Platform as a service

Hybrid cloud with Azure

Chapter 4 Provisioning databases

What to do before installing SQL Server

Deciding on volume usage

Important SQL Server volume settings

SQL Server editions

Installing a new instance

Planning for multiple SQL Server instances

Installing a SQL Server instance

Installing options and features

Installing other core features

“Smart Setup”

Setting up logging

Automating SQL Server Setup by using configuration files

Post-installation server configuration

Post-installation checklist

Installing and configuring features

SSISDB initial configuration and setup

SQL Server Reporting Services initial configuration and setup

SQL Server Analysis Services initial configuration and setup

Adding databases to a SQL Server instance

Considerations for migrating existing databases

Moving existing databases

Creating a database

Database properties and options

Moving and removing databases

Moving user and system databases

Database actions: offline versus detach versus drop

Single-user mode

Chapter 5 Provisioning Azure SQL Database

Azure and database-as-a-service concepts

Database-as-a-service

Managing Azure: The Azure portal and PowerShell

Azure governance

Logical SQL Servers

Cloud-first

Database Transaction Unit

Resource scalability

Provisioning a logical SQL server

Creating a server using the Azure portal

Creating a server by using PowerShell

Establishing a connection to your server

Deleting a server

Provisioning a database in Azure SQL Database

Creating a database using the Azure portal

Creating a database by using PowerShell

Creating a database by using Azure CLI

Creating a database by using T-SQL

Selecting a pricing tier and service objective

Scaling up or down

Provisioning an elastic pool

Limitations of Azure SQL Database

Database limitations

Other SQL Server services

Overcoming limitations with managed instances

Security in Azure SQL Database

Security features shared with SQL Server 2017

Server and database-level firewall

Access control using Azure AD

Role-Based Access Control

Auditing and threat detection

Preparing Azure SQL Database for disaster recovery

Understanding default disaster recovery features

Manually backing up a database

Configuring geo-replication

Setting up failover groups

Using Azure Backup for long-term backup retention

Moving to Azure SQL Database

Chapter 6 Administering security and permissions

Logins and users

Different types of authentication

Solving orphaned SIDs

Preventing orphaned SIDs

Factors in securing logins

Login security

Contained databases

Permissions in SQL Server

Understanding Permissions for Data Definition Language and Data Manipulation Language

Modifying permissions

Granting commonly needed permissions

Ownership versus authorization

Understanding views, stored procedures, and function permissions

Understanding server roles

Understanding database roles

Using the Dedicated Administrator Connection

Moving SQL Server logins and permissions

Moving logins by using SQL Server Integration Services (SQL Server only)

Moving Windows-authenticated logins by using T-SQL (SQL Server only)

Moving SQL Server–authenticated logins by using T-SQL (SQL Server only)

Moving server roles by using T-SQL (SQL Server only)

Moving server permissions by using T-SQL (SQL Server only)

Moving Azure SQL Database logins

Other security objects to move

Alternative migration approaches

Chapter 7 Securing the server and its data

Introducing security principles and protocols

Securing your environment with defense in depth

The difference between hashing and encryption

A primer on protocols and transmitting data

Symmetric and asymmetric encryption

Digital certificates

Encryption in SQL Server

Data protection from the OS

The encryption hierarchy in detail

Using EKM modules with SQL Server

Master keys in the encryption hierarchy

Encrypting data by using TDE

Protecting sensitive columns with Always Encrypted

Securing data in motion

Securing network traffic with TLS

Row-level security

Dynamic data masking

Azure SQL Database

Auditing with SQL Server and Azure SQL Database

SQL Server Audit

Auditing with Azure SQL Database

Securing Azure infrastructure as a service

Network Security Group

User-defined routes and IP forwarding

Additional security features in Azure networking

Chapter 8 Understanding and designing tables

Reviewing table design

Generic data types

Specialized data types

Keys and relationships

Constraints

Sequences

User-defined data types and user-defined types

Sparse columns

Computed columns

Special table types

System-versioned temporal tables

Memory-optimized tables

PolyBase external tables

Graph tables

Storing BLOBs

Understanding FILESTREAM

FileTable

Table partitioning

Horizontally partitioned tables and indexes

Vertical partitioning

Capturing modifications to data

Using change tracking

Using change data capture

Comparing change tracking, change data capture, and temporal tables

Chapter 9 Performance tuning SQL Server

Understanding isolation levels and concurrency

Understanding how concurrent sessions become blocked

Stating the case against READ UNCOMMITTED (NOLOCK)

Changing the isolation level within transactions

Understanding the enterprise solution to concurrency: SNAPSHOT

Understanding on-disk versus memory-optimized concurrency

Understanding delayed durability

Delayed durability database options

Delayed durability transactions

Understanding execution plans

Understanding parameterization and “parameter sniffing”

Understanding the Procedure Cache

Analyzing cached execution plans in aggregate

Retrieving execution plans in SQL Server Management Studio

Using the Query Store feature

Initially configuring the query store

Using query store data in your troubleshooting

Understanding automatic plan correction

Understanding execution plan operators

Interpreting graphical execution plans

Forcing a parallel execution plan

Understanding parallelism

Chapter 10 Understanding and designing indexes

Designing clustered indexes

Choosing a proper clustered index key

The case against intentionally designing heaps

Designing nonclustered indexes

Understanding nonclustered index design

Creating “missing” nonclustered indexes

Understanding and proving index usage statistics

Designing Columnstore indexes

Demonstrating the power of Columnstore indexes

Using compression delay on Columnstore indexes

Understanding indexing in memory-optimized tables

Understanding hash indexes for memory-optimized tables

Understanding nonclustered indexes for memory-optimized tables

Moving to memory-optimized tables

Understanding other types of indexes

Understanding full-text indexes

Understanding spatial Indexes

Understanding XML indexes

Understanding index statistics

Manually creating and updating statistics

Automatically creating and updating statistics

Important performance options for statistics

Understanding statistics on memory-optimized tables

Understanding statistics on external tables

Chapter 11 Developing, deploying, and managing data recovery

The fundamentals of data recovery

A typical disaster recovery scenario

Losing data with the RPO

Losing time with the RTO

Establishing and using a run book

An overview of recovery models

Understanding backup devices

Backup disk

Backup sets and media

Physical backup device

Understanding different types of backups

Full backups

Transaction log backups

Differential backups

File and filegroup backups

Additional backup options

Creating and verifying backups

Creating backups

Verifying backups

Restoring a database

Restoring a piecemeal database

Defining a recovery strategy

A sample recovery strategy for a DR scenario

Strategies for a cloud/hybrid environment

Chapter 12 Implementing high availability and disaster recovery

Overview of high availability and disaster recovery technologies in SQL Server

Understanding log shipping

Understanding types of replication

Understanding the capabilities of failover clustering

Understanding the capabilities of availability groups

Comparing HA and DR technologies

Configuring Failover Cluster Instances

Configuring a SQL Server FCI

Configuring availability groups

Comparing different cluster types and failover

Creating WSFC for use with availability groups

Understanding the database mirroring endpoint

Configuring the minimum synchronized required nodes

Choosing the correct secondary replica availability mode

Understanding the impact of secondary replicas on performance

Understanding failovers in availability groups

Seeding options when adding replicas

Additional actions after creating an availability group

Reading secondary database copies

Implementing a hybrid availability group topology

Configuring an availability group on Red Hat Linux

Installation requirements

Setting up an availability group

Setting up the cluster

Administering availability groups

Analyzing DMVs for availability groups

Analyzing wait types for availability groups

Analyzing extended events for availability groups

Alerting for availability groups

Chapter 13 Managing and monitoring SQL Server

Detecting database corruption

Setting the database’s page verify option

Using DBCC CHECKDB

Repairing database data file corruption

Recovering the database transaction log file corruption

Database corruption in databases in Azure SQL Database

Maintaining indexes and statistics

Changing the Fill Factor property when beneficial

Monitoring index fragmentation

Rebuilding indexes

Reorganizing indexes

Updating index statistics

Reorganizing Columnstore indexes

Maintaining database file sizes

Understanding and finding autogrowth events

Shrinking database files

Monitoring databases by using DMVs

Sessions and requests

Understanding wait types and wait statistics

Reintroducing extended events

Viewing extended events data

Using extended events to detect deadlocks

Using extended events to detect autogrowth events

Securing extended events

Capturing Windows performance metrics with DMVs and data collectors

Querying performance metrics by using DMVs

Querying performance metrics by using Performance Monitor

Monitoring key performance metrics

Protecting important workloads using Resource Governor

Configuring the Resource Governor classifier function

Configuring Resource Governor pools and groups

Monitoring pools and groups

Understanding the new servicing model

Chapter 14 Automating SQL Server administration

Components of SQL Server automated administration

Database Mail

SQL Server Agent

Configuring SQL Server Agent jobs

Maintaining SQL Server

Basic “care and feeding” of SQL Server

Using SQL Server Maintenance Plans

Maintenance Plan report options

Covering databases with the Maintenance Plan

Building Maintenance Plans by using the design surface in SQL Server Management Studio

Backups on secondary replicas in availability groups

Strategies for administering multiple SQL Servers

Master and Target servers for SQL Agent jobs

SQL Server Agent event forwarding

Policy-Based Management

Evaluating policies and gathering compliance data

Using PowerShell to automate SQL Server administration

PowerShell basics

Installing the PowerShell SQLSERVER module

Using PowerShell with SQL Server

Using PowerShell with availability groups

Using PowerShell with Azure

Index

About the authors

About the Foreword author

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.12.156