| About the authors |
|
xix | |
| Introduction |
|
xxi | |
| Who this book is for |
|
xxii | |
| How this book is organized |
|
xxii | |
| Acknowledgments |
|
xxvi | |
| Errata, updates, & book support |
|
xxvii | |
|
|
|
1 | (138) |
|
Chapter 1 Getting started with SQL Server tools |
|
|
3 | (50) |
|
|
|
3 | (6) |
|
Installing SQL Server by using the Installation Center |
|
|
4 | (1) |
|
Planning before an upgrade or installation |
|
|
5 | (4) |
|
Installing or upgrading SQL Server |
|
|
9 | (1) |
|
Tools and services installed with the SQL Server Database Engine |
|
|
9 | (7) |
|
Machine Learning Services |
|
|
10 | (1) |
|
|
|
11 | (1) |
|
|
|
12 | (3) |
|
SQL Server Configuration Manager |
|
|
15 | (1) |
|
Performance and reliability monitoring tools |
|
|
16 | (6) |
|
Database Engine Tuning Advisor |
|
|
16 | (1) |
|
|
|
17 | (2) |
|
Management data warehouse |
|
|
19 | (3) |
|
SQL Server Reporting Services |
|
|
22 | (2) |
|
|
|
22 | (2) |
|
Report Services Configuration Manager |
|
|
24 | (1) |
|
SQL Server Management Studio (SSMS) |
|
|
24 | (20) |
|
|
|
25 | (1) |
|
Installing SQL Server Management Studio |
|
|
25 | (1) |
|
Upgrading SQL Server Management Studio |
|
|
26 | (1) |
|
Features of SQL Server Management Studio |
|
|
26 | (6) |
|
Additional tools in SQL Server Management Studio |
|
|
32 | (3) |
|
|
|
35 | (1) |
|
|
|
36 | (4) |
|
|
|
40 | (4) |
|
|
|
44 | (5) |
|
|
|
44 | (2) |
|
Highlighted features in Azure Data Studio |
|
|
46 | (2) |
|
Notebooks in Azure Data Studio |
|
|
48 | (1) |
|
|
|
49 | (3) |
|
SQL Server Integration Services |
|
|
49 | (3) |
|
A note on discontinued and deprecated features |
|
|
52 | (1) |
|
Chapter 2 Introducing database server components |
|
|
53 | (38) |
|
|
|
54 | (4) |
|
Understanding the working set |
|
|
54 | (1) |
|
Caching data in the buffer pool |
|
|
54 | (2) |
|
Caching plans in the procedure cache |
|
|
56 | (1) |
|
|
|
56 | (1) |
|
Editions and memory limits |
|
|
57 | (1) |
|
|
|
58 | (3) |
|
Simultaneous multithreading |
|
|
58 | (2) |
|
Non-Uniform Memory Access |
|
|
60 | (1) |
|
Disable power saving everywhere |
|
|
61 | (1) |
|
|
|
61 | (8) |
|
|
|
62 | (2) |
|
Configuring the storage layer |
|
|
64 | (5) |
|
Connecting to SQL Server over the network |
|
|
69 | (1) |
|
|
|
70 | (1) |
|
Added complexity with Virtual Local Area Networks |
|
|
70 | (1) |
|
High availability concepts |
|
|
70 | (10) |
|
|
|
72 | (1) |
|
|
|
72 | (1) |
|
|
|
73 | (3) |
|
The versatility of log shipping |
|
|
76 | (1) |
|
Always On availability groups |
|
|
76 | (3) |
|
Read-scale availability groups |
|
|
79 | (1) |
|
Distributed availability groups |
|
|
79 | (1) |
|
Basic availability groups |
|
|
79 | (1) |
|
|
|
80 | (5) |
|
Integrated authentication and Active Directory |
|
|
80 | (3) |
|
|
|
83 | (2) |
|
Understanding virtualization and containers |
|
|
85 | (6) |
|
|
|
85 | (1) |
|
Resource provisioning for virtual consumers |
|
|
86 | (2) |
|
When processors are no longer processors |
|
|
88 | (1) |
|
The network is virtual, too |
|
|
89 | (2) |
|
Chapter 3 Designing and implementing an on-premises database infrastructure |
|
|
91 | (48) |
|
Introduction to SQL Server database architecture |
|
|
91 | (1) |
|
Data files and filegroups |
|
|
92 | (5) |
|
Grouping data pages with extents |
|
|
93 | (1) |
|
Contents and types of data pages |
|
|
94 | (2) |
|
Verifying data pages by using a checksum |
|
|
96 | (1) |
|
Recording changes in the transaction log |
|
|
97 | (8) |
|
Flushing data to the storage subsystem with checkpoints |
|
|
98 | (1) |
|
Inside the transaction log file |
|
|
98 | (3) |
|
|
|
101 | (1) |
|
Types of database checkpoints |
|
|
101 | (2) |
|
|
|
103 | (1) |
|
MinLSN and the active log |
|
|
104 | (1) |
|
A faster recovery with-Accelerated Database Recovery |
|
|
104 | (1) |
|
|
|
105 | (2) |
|
|
|
107 | (3) |
|
Table and index compression |
|
|
107 | (2) |
|
|
|
109 | (1) |
|
Managing the temporary database |
|
|
110 | (2) |
|
Storage options for TempDB |
|
|
110 | (1) |
|
Recommended number of files |
|
|
111 | (1) |
|
|
|
112 | (13) |
|
Managing system usage with Resource Governor |
|
|
112 | (1) |
|
Configuring the operating system page file |
|
|
113 | (1) |
|
Taking advantage of logical processors by using parallelism |
|
|
114 | (2) |
|
SQL Server memory settings |
|
|
116 | (4) |
|
Allocating CPU cores with an affinity mask |
|
|
120 | (2) |
|
File system configuration |
|
|
122 | (3) |
|
Container orchestration with Kubernetes |
|
|
125 | (14) |
|
Kubernetes support for SQL Sewer |
|
|
126 | (2) |
|
Deploying SQL Server in containers |
|
|
128 | (3) |
|
Getting started with SQL Server on Kubernetes |
|
|
131 | (1) |
|
Deploying SQL Server in Kubernetes |
|
|
132 | (4) |
|
|
|
136 | (3) |
|
|
|
139 | (166) |
|
Chapter 4 Installing and configuring SQL Server instances and features |
|
|
141 | (48) |
|
What to do before installing SQL Server |
|
|
141 | (8) |
|
|
|
142 | (3) |
|
Important SQL Server volume settings |
|
|
145 | (2) |
|
|
|
147 | (2) |
|
Installing a new instance |
|
|
149 | (22) |
|
Planning for multiple SQL Server instances |
|
|
149 | (1) |
|
Creating an Azure VM running SQL Server |
|
|
150 | (1) |
|
Installing SQL Server on Windows |
|
|
151 | (10) |
|
Installing common features |
|
|
161 | (5) |
|
|
|
166 | (1) |
|
Automating SQL Server Setup by using configuration files |
|
|
167 | (4) |
|
Post-installation server configuration |
|
|
171 | (13) |
|
Post-installation checklist |
|
|
171 | (13) |
|
Post-installation configuration of other features |
|
|
184 | (5) |
|
SSISDB initial configuration and setup |
|
|
184 | (1) |
|
SQL Server Reporting Services initial configuration and setup |
|
|
185 | (3) |
|
SQL Server Analysis Services initial configuration and setup |
|
|
188 | (1) |
|
Chapter 5 Installing and configuring SQL Server on Linux |
|
|
189 | (20) |
|
|
|
189 | (5) |
|
Differences between Windows and Linux |
|
|
190 | (3) |
|
Linux distributions supported by SQL Server |
|
|
193 | (1) |
|
Considerations for installing SQL Server on Linux |
|
|
194 | (3) |
|
|
|
194 | (3) |
|
Installing SQL Server on Linux |
|
|
197 | (3) |
|
Installation requirements |
|
|
198 | (1) |
|
Downloading and installing packages |
|
|
198 | (2) |
|
Configuring SQL Server for Linux |
|
|
200 | (6) |
|
Using mssql-conf to set up and configure SQL Server |
|
|
201 | (5) |
|
Caveats of SQL Server on Linux |
|
|
206 | (3) |
|
Missing SQL Server features on Linux |
|
|
207 | (2) |
|
Chapter 6 Provisioning and configuring SQL Server databases |
|
|
209 | (34) |
|
Adding databases to a SQL Server instance |
|
|
210 | (24) |
|
|
|
210 | (4) |
|
Moving existing databases |
|
|
214 | (2) |
|
Upgrading database compatibility levels |
|
|
216 | (3) |
|
Other Considerations for migrating databases |
|
|
219 | (4) |
|
Database properties and options |
|
|
223 | (11) |
|
Moving and removing databases |
|
|
234 | (9) |
|
Moving user and system databases |
|
|
234 | (2) |
|
Database actions: offline versus detach versus drop |
|
|
236 | (4) |
|
|
|
240 | (3) |
|
Chapter 7 Understanding table features |
|
|
243 | (62) |
|
|
|
243 | (27) |
|
General purpose data types |
|
|
244 | (8) |
|
|
|
252 | (8) |
|
|
|
260 | (1) |
|
|
|
260 | (3) |
|
|
|
263 | (4) |
|
User-defined data types and user-defined types |
|
|
267 | (1) |
|
|
|
268 | (1) |
|
|
|
269 | (1) |
|
|
|
270 | (17) |
|
System-versioned temporal tables |
|
|
270 | (6) |
|
|
|
276 | (5) |
|
|
|
281 | (6) |
|
|
|
287 | (3) |
|
|
|
288 | (2) |
|
|
|
290 | (1) |
|
|
|
290 | (8) |
|
Horizontally partitioned tables and indexes |
|
|
291 | (6) |
|
|
|
297 | (1) |
|
Capturing modifications to data |
|
|
298 | (7) |
|
|
|
299 | (2) |
|
Using change data capture |
|
|
301 | (1) |
|
Querying change tracking and change data capture |
|
|
302 | (2) |
|
Comparing change tracking, change data capture, and temporal tables |
|
|
304 | (1) |
|
Part III SQL Server management |
|
|
305 | (232) |
|
Chapter 8 Maintaining and monitoring SQL Server |
|
|
307 | (74) |
|
Detecting, preventing, and responding to database corruption |
|
|
307 | (6) |
|
Setting the database's page verify option |
|
|
308 | (1) |
|
|
|
308 | (3) |
|
Repairing database data file corruption |
|
|
311 | (1) |
|
Recovering from database transaction log file corruption |
|
|
312 | (1) |
|
Database corruption in databases in Azure SQL Database |
|
|
312 | (1) |
|
Maintaining indexes and statistics |
|
|
313 | (13) |
|
Changing the Fill Factor property when beneficial |
|
|
314 | (1) |
|
Monitoring index fragmentation |
|
|
315 | (2) |
|
|
|
317 | (9) |
|
Managing database file sizes |
|
|
326 | (5) |
|
Understanding and finding autogrowth events |
|
|
328 | (1) |
|
|
|
329 | (2) |
|
Monitoring activity by using DMOs |
|
|
331 | (12) |
|
Observing sessions and requests |
|
|
331 | (3) |
|
Understanding wait types and wait statistics |
|
|
334 | (9) |
|
Monitoring with the SQL Assessment API |
|
|
343 | (4) |
|
Utilizing extended events |
|
|
347 | (10) |
|
Viewing extended events data |
|
|
348 | (5) |
|
Using extended events to capture deadlocks |
|
|
353 | (2) |
|
Using extended events to detect autogrowth events |
|
|
355 | (1) |
|
Using extended events to detect page splits |
|
|
356 | (1) |
|
|
|
357 | (1) |
|
Capturing performance metrics with DMOs and Data Collectors |
|
|
357 | (15) |
|
Querying performance metrics by using DMVs |
|
|
358 | (3) |
|
Capturing performance metrics by using Performance Monitor |
|
|
361 | (1) |
|
Monitoring key performance metrics |
|
|
362 | (4) |
|
Monitoring key performance metrics in Linux |
|
|
366 | (1) |
|
Monitoring key performance metrics in Azure Data Portal |
|
|
367 | (5) |
|
Protecting important workloads by using Resource Governor |
|
|
372 | (5) |
|
Configuring the Resource Governor classifier function |
|
|
373 | (1) |
|
Configuring Resource Governor, pools and groups |
|
|
374 | (2) |
|
Monitoring Resource Pools and Workload Groups |
|
|
376 | (1) |
|
Understanding the new servicing model |
|
|
377 | (4) |
|
Chapter 9 Automating SQL Server administration |
|
|
381 | (52) |
|
Components of SQL Server automated administration |
|
|
382 | (18) |
|
|
|
382 | (5) |
|
|
|
387 | (13) |
|
|
|
400 | (2) |
|
Basic "care and feeding" of SQL Server |
|
|
400 | (2) |
|
Using SQL Server Maintenance Plans |
|
|
402 | (14) |
|
Covering databases with the Maintenance Plan |
|
|
403 | (1) |
|
|
|
404 | (8) |
|
Maintenance Plan report options |
|
|
412 | (1) |
|
Building Maintenance Plans using the designer in SSMS |
|
|
412 | (2) |
|
Backing up availability groups using a secondary replica |
|
|
414 | (2) |
|
Strategies for administering multiple SQL Servers |
|
|
416 | (6) |
|
Master and Target servers for SQL Agent jobs |
|
|
416 | (3) |
|
SQL Server Agent event forwarding |
|
|
419 | (1) |
|
|
|
420 | (2) |
|
Using PowerShell to automate SQL Server administration |
|
|
422 | (11) |
|
|
|
424 | (1) |
|
Installing the PowerShell SQL Server module |
|
|
425 | (2) |
|
Using PowerShell with SQL Server |
|
|
427 | (4) |
|
Using PowerShell with availability groups |
|
|
431 | (2) |
|
Chapter 10 Developing, deploying, and managing data recovery |
|
|
433 | (38) |
|
Preparing for data recovery |
|
|
434 | (5) |
|
A disaster recovery scenario |
|
|
435 | (2) |
|
Defining acceptable data loss: RPO |
|
|
437 | (1) |
|
Defining acceptable downtime: RTO |
|
|
438 | (1) |
|
Establishing and using a run book |
|
|
438 | (1) |
|
Understanding different types of backups |
|
|
439 | (13) |
|
An overview of SQL Server recovery models |
|
|
440 | (2) |
|
|
|
442 | (3) |
|
|
|
445 | (2) |
|
File and filegroup backups |
|
|
447 | (1) |
|
Additional backup options and considerations |
|
|
448 | (3) |
|
Availability and security of backup media |
|
|
451 | (1) |
|
Understanding backap devices |
|
|
452 | (4) |
|
|
|
452 | (1) |
|
|
|
452 | (2) |
|
|
|
454 | (2) |
|
Creating and verifying backups |
|
|
456 | (3) |
|
|
|
456 | (2) |
|
|
|
458 | (1) |
|
|
|
459 | (7) |
|
Restoring a database using a full backup |
|
|
460 | (1) |
|
Restoring a database with differential and log backups |
|
|
460 | (2) |
|
Restoring a database to a point in time |
|
|
462 | (2) |
|
Restoring a database piecemeal |
|
|
464 | (2) |
|
Defining a recovery strategy |
|
|
466 | (5) |
|
A sample recovery strategy for our DR scenario |
|
|
466 | (3) |
|
Recovery strategies for hybrid and cloud environments |
|
|
469 | (2) |
|
Chapter 11 Implementing high availability and disaster recovery |
|
|
471 | (66) |
|
Overview of high availability and disaster recovery technologies in SQL Server |
|
|
471 | (14) |
|
Comparing HA and DR technologies |
|
|
472 | (2) |
|
Understanding log shipping |
|
|
474 | (2) |
|
Understanding types of replication |
|
|
476 | (4) |
|
Understanding the capabilities of failover clustering |
|
|
480 | (3) |
|
Understanding the capabilities of availability groups |
|
|
483 | (2) |
|
Configuring failover cluster instances |
|
|
485 | (6) |
|
|
|
485 | (3) |
|
Configuring a SQL Server FCI |
|
|
488 | (2) |
|
Patching A Failover Cluster |
|
|
490 | (1) |
|
Designing availability groups solutions |
|
|
491 | (31) |
|
Comparing different cluster types |
|
|
492 | (4) |
|
Creating WSFC for use with availability groups |
|
|
496 | (1) |
|
Understanding the database mirroring endpoint |
|
|
497 | (1) |
|
Improvements to availability groups recently |
|
|
498 | (3) |
|
Choosing the correct secondary replica availability mode |
|
|
501 | (1) |
|
Understanding the impact of secondary replicas on performance |
|
|
502 | (2) |
|
Understanding failovers in availability groups |
|
|
504 | (4) |
|
Seeding options when adding replicas |
|
|
508 | (4) |
|
Additional actions after creating an availability group |
|
|
512 | (2) |
|
Reading secondary database copies |
|
|
514 | (7) |
|
Implementing a hybrid availability group topology |
|
|
521 | (1) |
|
Configuring availability groups in SQL Server on Linux |
|
|
522 | (7) |
|
Understanding the differences between Windows and Linux clustering |
|
|
522 | (1) |
|
Setting up an availability group in SQL Server on Linux |
|
|
523 | (6) |
|
Administering availability groups |
|
|
529 | (8) |
|
Analyzing DMVs for availability groups |
|
|
529 | (3) |
|
Analyzing wait types for availability groups |
|
|
532 | (1) |
|
Analyzing extended events for availability groups |
|
|
533 | (2) |
|
Alerting for availability groups |
|
|
535 | (2) |
|
|
|
537 | (118) |
|
Chapter 12 Administering security and permissions |
|
|
539 | (66) |
|
|
|
539 | (5) |
|
|
|
540 | (1) |
|
SQL Server Authentication |
|
|
541 | (1) |
|
Azure Active Directory universal authentication |
|
|
541 | (1) |
|
Azure Active Directory password authentication |
|
|
542 | (1) |
|
Azure Active Directory integrated authentication |
|
|
542 | (1) |
|
Advanced types of server principals |
|
|
542 | (1) |
|
Authentication to SQL Server on Linux |
|
|
543 | (1) |
|
Contained database authentication |
|
|
544 | (1) |
|
|
|
544 | (34) |
|
Understanding the basics of privileges |
|
|
546 | (2) |
|
Configuring login server principals' |
|
|
548 | (19) |
|
Configuring database principals |
|
|
567 | (11) |
|
|
|
578 | (13) |
|
Understanding permissions for Data Definition Language and Data Manipulation Language |
|
|
578 | (2) |
|
Understanding overlapping permissions |
|
|
580 | (2) |
|
Understanding authorization |
|
|
582 | (9) |
|
Common security administration tasks |
|
|
591 | (14) |
|
|
|
591 | (3) |
|
|
|
594 | (1) |
|
Moving SQL Server logins and permissions |
|
|
594 | (7) |
|
Saving the day with the Dedicated Administrator Connection |
|
|
601 | (4) |
|
Chapter 13 Protecting data through encryption, privacy and auditing |
|
|
605 | (50) |
|
Privacy in the modern era |
|
|
605 | (2) |
|
General Data Protection-Regulation (GDPR) |
|
|
606 | (1) |
|
Introducing security principles and protocols |
|
|
607 | (12) |
|
Securing your environment with defense in depth |
|
|
607 | (2) |
|
The difference between hashing and encryption |
|
|
609 | (3) |
|
A primer on protocols and transmitting data |
|
|
612 | (5) |
|
Symmetric and asymmetric encryption |
|
|
617 | (1) |
|
|
|
618 | (1) |
|
Protecting the data-platform |
|
|
619 | (22) |
|
Securing the network with TLS |
|
|
620 | (2) |
|
Data protection from the OS |
|
|
622 | (1) |
|
The encryption hierarchy in detail |
|
|
622 | (1) |
|
Using EKM modules with SQL Server |
|
|
623 | (2) |
|
Master keys in the encryption hierarchy |
|
|
625 | (2) |
|
Encrypting data by using TDE |
|
|
627 | (4) |
|
Protecting sensitive columns with Always Encrypted |
|
|
631 | (6) |
|
|
|
637 | (1) |
|
|
|
638 | (1) |
|
Protecting Azure SQL Database |
|
|
639 | (2) |
|
Auditing with SQL Server and Azure SQL Database |
|
|
641 | (7) |
|
|
|
641 | (7) |
|
Auditing with Azure SQL Database |
|
|
648 | (1) |
|
Securing Azure infrastructure as a service |
|
|
648 | (7) |
|
|
|
649 | (1) |
|
User-defined routes and IP forwarding |
|
|
650 | (2) |
|
Additional security features in Azure networking |
|
|
652 | (3) |
|
|
|
655 | (122) |
|
Chapter 14 Performance tuning SQL Server |
|
|
657 | (84) |
|
Understanding isolation levels and concurrency |
|
|
658 | (33) |
|
Understanding how concurrent sessions become blocked |
|
|
663 | (4) |
|
Changing the isolation level |
|
|
667 | (2) |
|
Understanding and handling common concurrency scenarios |
|
|
669 | (11) |
|
Understanding the enterprise solution to concurrency: row version-based concurrency |
|
|
680 | (8) |
|
Understanding on-disk versus memory-optimized concurrency |
|
|
688 | (3) |
|
Understanding durability settings for performance |
|
|
691 | (3) |
|
Delayed durability database options |
|
|
692 | (2) |
|
Understanding how SQL Server executes your query |
|
|
694 | (28) |
|
Understanding the overall query execution process |
|
|
694 | (2) |
|
Retrieving execution plans in SQL Server Management Studio |
|
|
696 | (6) |
|
Understanding execution plans |
|
|
702 | (11) |
|
Understanding parameterization and parameter sniffing |
|
|
713 | (2) |
|
Understanding the Procedure Cache |
|
|
715 | (5) |
|
Understanding parallelism |
|
|
720 | (2) |
|
Understanding advanced engine features fortuning queries |
|
|
722 | (19) |
|
Plan Guides and Query Store |
|
|
723 | (9) |
|
Automatic Plan-Correction |
|
|
732 | (1) |
|
Intelligent Query Processing |
|
|
733 | (8) |
|
Chapter 15 Understanding and designing indexes |
|
|
741 | (36) |
|
Designing clustered indexes |
|
|
742 | (6) |
|
Choosing a proper rowstore clustered index key |
|
|
742 | (4) |
|
The case against intentionally designing heaps |
|
|
746 | (1) |
|
Understanding the OPTIMIZE FOR SEQUENTIAL KEY feature |
|
|
747 | (1) |
|
Designing rowstore nonclustered indexes |
|
|
748 | (13) |
|
Understanding nonclustered index design |
|
|
749 | (6) |
|
Creating filtered nonclustered indexes |
|
|
755 | (1) |
|
Understanding the "missing" indexes feature |
|
|
756 | (4) |
|
Understanding and proving-index usage |
|
|
760 | (1) |
|
Understanding columnstore indexes |
|
|
761 | (8) |
|
Designing columnstore indexes |
|
|
763 | (1) |
|
|
|
764 | (1) |
|
Understanding the deltastore of columnstore indexes |
|
|
765 | (1) |
|
Demonstrating the power of columnstore indexes |
|
|
766 | (3) |
|
Understanding indexing in memory-optimized tables |
|
|
769 | (2) |
|
Understanding hash indexes for memory-Optimized tables |
|
|
770 | (1) |
|
Understanding nonclustered-indexes for memory-optimized tables |
|
|
771 | (1) |
|
Understanding index statistics |
|
|
771 | (3) |
|
Automatically creating and updating statistics |
|
|
772 | (1) |
|
Manually creating statistics for on-disk tables |
|
|
773 | (1) |
|
Understanding statistics on memory-optimized tables |
|
|
773 | (1) |
|
Understanding statistics on external tables |
|
|
774 | (1) |
|
Understanding other types of indexes |
|
|
774 | (3) |
|
Understanding full-text indexes |
|
|
774 | (1) |
|
Understanding spatial indexes |
|
|
775 | (1) |
|
Understanding XML indexes |
|
|
775 | (2) |
|
|
|
777 | (126) |
|
Chapter 16 Designing and implementing hybrid and Azure database infrastructure |
|
|
779 | (40) |
|
Cloud computing and Microsoft Azure |
|
|
779 | (7) |
|
|
|
780 | (1) |
|
Managing Azure: The Azure portal and PowerShell Core |
|
|
780 | (2) |
|
|
|
782 | (2) |
|
|
|
784 | (1) |
|
|
|
784 | (1) |
|
|
|
785 | (1) |
|
Cloud models and SQL Server |
|
|
786 | (30) |
|
Infrastructure-as-a-service |
|
|
787 | (8) |
|
|
|
795 | (14) |
|
|
|
809 | (7) |
|
|
|
816 | (1) |
|
Other data services in Azure |
|
|
816 | (3) |
|
Chapter 17 Provisioning Azure SQL Database |
|
|
819 | (36) |
|
Provisioning a logical SQL server |
|
|
820 | (5) |
|
Creating a server using the Azure portal |
|
|
821 | (1) |
|
Creating a server by using PowerShell Core |
|
|
822 | (1) |
|
Establishing a connection to your server |
|
|
823 | (2) |
|
|
|
825 | (1) |
|
Provisioning a database in Azure SQL Database |
|
|
825 | (5) |
|
Creating a database using the Azure portal |
|
|
826 | (1) |
|
Creating a database by using PowerShell Corp |
|
|
827 | (1) |
|
Creating a database by using Azure CLI |
|
|
828 | (1) |
|
Creating a database by using T-SQL |
|
|
829 | (1) |
|
|
|
829 | (1) |
|
Provisioning an elastic pool |
|
|
830 | (1) |
|
|
|
831 | (1) |
|
Security in Azure SQL Database |
|
|
832 | (13) |
|
Security features shared with SQL Server 2019 |
|
|
832 | (1) |
|
Server and database-level firewall |
|
|
832 | (3) |
|
Integration with virtual networks |
|
|
835 | (1) |
|
Access control using Azure AD |
|
|
835 | (2) |
|
Role-Based Access Control |
|
|
837 | (1) |
|
|
|
838 | (4) |
|
|
|
842 | (3) |
|
Preparing Azure SQL Database for disaster recovery |
|
|
845 | (10) |
|
Understanding default disaster recovery features |
|
|
845 | (1) |
|
Manually backing up a database |
|
|
846 | (3) |
|
Enabling zone redundant configuration |
|
|
849 | (1) |
|
Configuring geo-replication |
|
|
849 | (3) |
|
Setting up failover groups |
|
|
852 | (2) |
|
Using Azure Backup for long-term backup retention |
|
|
854 | (1) |
|
Chapter 18 Provisioning Azure SQL Database managed instance |
|
|
855 | (26) |
|
What is a Managed Instance? |
|
|
855 | (5) |
|
Differences between SQL Server on-premises and in a Managed Instance |
|
|
856 | (4) |
|
Creating a managed instance |
|
|
860 | (5) |
|
X Selecting a pricing tier and service objective |
|
|
861 | (1) |
|
Provisioning a managed instance from the portal |
|
|
862 | (1) |
|
Provisioning a managed instance using PowerShell |
|
|
863 | (2) |
|
Establishing a connection |
|
|
865 | (4) |
|
Creating the endpoints via the portal |
|
|
866 | (1) |
|
Creating the VPN Gateway via PowerShell |
|
|
866 | (1) |
|
Connect from an on-premises computer |
|
|
867 | (1) |
|
Connect from a Virtual Machine (VM) |
|
|
868 | (1) |
|
Migrating data to Managed Instance |
|
|
869 | (2) |
|
|
|
869 | (1) |
|
|
|
870 | (1) |
|
Deleting a Managed Instance |
|
|
871 | (1) |
|
Network requirements for Managed Instances |
|
|
872 | (1) |
|
|
|
872 | (1) |
|
|
|
872 | (1) |
|
|
|
873 | (1) |
|
|
|
873 | (1) |
|
|
|
873 | (1) |
|
Managed Instance administration features |
|
|
873 | (4) |
|
|
|
874 | (1) |
|
|
|
875 | (1) |
|
|
|
876 | (1) |
|
|
|
876 | (1) |
|
|
|
877 | (1) |
|
Security of Managed Instance |
|
|
877 | (2) |
|
Azure Active Directory (Azure AD) |
|
|
877 | (2) |
|
|
|
879 | (2) |
|
|
|
879 | (1) |
|
|
|
879 | (1) |
|
|
|
879 | (1) |
|
|
|
880 | (1) |
|
Chapter 19 Migrating to SQL Server solutions in Azure |
|
|
881 | (22) |
|
Migration Services Options |
|
|
881 | (8) |
|
Database Experimentation Assistant (DEA) |
|
|
882 | (2) |
|
Azure Data Migration Assistant (DMA) |
|
|
884 | (1) |
|
Specifics for Linux migrations |
|
|
885 | (1) |
|
Features of Data Migration Assistant |
|
|
885 | (1) |
|
Database Migration Service |
|
|
886 | (2) |
|
SQL Server Migration Assistant |
|
|
888 | (1) |
|
Common causes for migration failures |
|
|
889 | (7) |
|
Open Source PowerShell migration option |
|
|
891 | (5) |
|
Integration Runtime options for Migration Services |
|
|
896 | (3) |
|
Best Practice's for security and resiliency during migration |
|
|
899 | (4) |
|
Part VII Big Data and Machine Learning |
|
|
903 | (34) |
|
Chapter 20 Leveraging big data and machine learning |
|
|
905 | (32) |
|
|
|
906 | (1) |
|
Introducing MapReduce with Hadoop and HDFS |
|
|
906 | (1) |
|
Introducing distributed memory with Spark |
|
|
907 | (1) |
|
Introducing Big Data flusters |
|
|
907 | (5) |
|
Big Data Clusters technical overview |
|
|
909 | (3) |
|
Deploying Big Data Clusters |
|
|
912 | (2) |
|
|
|
913 | (1) |
|
Big Data Clusters security |
|
|
913 | (1) |
|
|
|
914 | (11) |
|
Unified data platform features |
|
|
915 | (10) |
|
Operationalizing analytics with Machine Learning Server |
|
|
925 | (8) |
|
|
|
926 | (2) |
|
|
|
928 | (1) |
|
How to operationalize your models |
|
|
929 | (4) |
|
|
|
933 | (4) |
| Index |
|
937 | |