About the Author |
|
xv | |
About the Technical Reviewer |
|
xvii | |
Foreword |
|
xix | |
Acknowledgments |
|
xxi | |
Introduction |
|
xxiii | |
|
Chapter 1 SQL Server Rises to the Clouds |
|
|
1 | (38) |
|
|
2 | (1) |
|
|
3 | (1) |
|
The Azure Services Platform |
|
|
4 | (4) |
|
|
8 | (8) |
|
|
9 | (4) |
|
|
13 | (3) |
|
|
16 | (1) |
|
The Virtual Machine Initiative |
|
|
16 | (3) |
|
Becoming Azure SQL Database |
|
|
19 | (11) |
|
The Sterling (SAWAv2) Project |
|
|
20 | (5) |
|
New Editions, the DTU, and Previews |
|
|
25 | (1) |
|
Intelligent Performance and the MDCS |
|
|
26 | (1) |
|
Advanced Data Security and the ILDC Team |
|
|
27 | (1) |
|
A Pane for the Future Called Ibiza |
|
|
28 | (1) |
|
A New Engineering Model for Azure |
|
|
29 | (1) |
|
Bending Azure SQL Database |
|
|
30 | (1) |
|
Lifting Customers to the Cloud |
|
|
31 | (1) |
|
Project Socrates Goes Hyper |
|
|
32 | (3) |
|
|
35 | (4) |
|
Chapter 2 What Is Azure SQL? |
|
|
39 | (42) |
|
|
40 | (12) |
|
Azure Accounts and Subscriptions |
|
|
40 | (2) |
|
|
42 | (3) |
|
|
45 | (1) |
|
|
46 | (1) |
|
Azure Resource Manager (ARM) |
|
|
47 | (3) |
|
|
50 | (1) |
|
Azure Regions and Datacenters |
|
|
50 | (1) |
|
Azure Service-Level Agreement (SLA) |
|
|
51 | (1) |
|
|
52 | (3) |
|
|
52 | (1) |
|
|
53 | (2) |
|
Azure SQL Managed Instance |
|
|
55 | (7) |
|
Managed Instance Capabilities |
|
|
56 | (1) |
|
Managed Instance Options and Limits |
|
|
57 | (2) |
|
|
59 | (1) |
|
Managed Instance vs. SQL Server on Azure Virtual Machine |
|
|
60 | (1) |
|
Customers Using Managed Instance |
|
|
61 | (1) |
|
|
62 | (10) |
|
Azure SQL Database Capabilities |
|
|
62 | (1) |
|
Azure SQL Database Options and Limits |
|
|
63 | (7) |
|
Azure SQL Database vs. Azure SQL Managed Instance |
|
|
70 | (1) |
|
Customers Using Azure SQL Database |
|
|
71 | (1) |
|
|
72 | (8) |
|
|
72 | (2) |
|
|
74 | (1) |
|
|
75 | (1) |
|
|
75 | (1) |
|
|
76 | (1) |
|
|
77 | (1) |
|
SQL Server Management Studio (SSMS) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
79 | (1) |
|
|
80 | (1) |
|
Chapter 3 SQL Server on Azure Virtual Machine |
|
|
81 | (60) |
|
|
82 | (7) |
|
|
82 | (1) |
|
SQL Server Gallery Images |
|
|
83 | (3) |
|
Resource Group, Region, and Availability |
|
|
86 | (3) |
|
|
89 | (35) |
|
Account, Port, and OS Licensing |
|
|
93 | (1) |
|
Making Configuration Choices As Part of Deploy |
|
|
94 | (14) |
|
|
108 | (3) |
|
|
111 | (2) |
|
|
113 | (2) |
|
Exploring the SQL Server Installation |
|
|
115 | (2) |
|
|
117 | (1) |
|
Using a CLI and ARM Template |
|
|
118 | (2) |
|
Reserved Instances and Dedicated Hosts |
|
|
120 | (1) |
|
Migrate Using Azure Migrate |
|
|
121 | (1) |
|
Deploying SQL Server on Linux with Azure Virtual Machine |
|
|
122 | (1) |
|
Deploying SQL Server Containers |
|
|
123 | (1) |
|
SQL Virtual Machine Resource Provider |
|
|
124 | (2) |
|
|
126 | (2) |
|
Stopping vs. Deallocating |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
128 | (1) |
|
Maximizing Storage Performance |
|
|
128 | (2) |
|
|
130 | (4) |
|
|
130 | (2) |
|
|
132 | (1) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
135 | (4) |
|
|
136 | (1) |
|
|
136 | (1) |
|
Always On Failover Cluster Instance |
|
|
137 | (1) |
|
Always On Availability Groups |
|
|
137 | (1) |
|
Go Further with Azure Availability |
|
|
138 | (1) |
|
SQL Server and Linux Availability |
|
|
138 | (1) |
|
|
139 | (2) |
|
Chapter 4 Deploying Azure SQL |
|
|
141 | (62) |
|
|
142 | (7) |
|
New Deployment or Migration |
|
|
142 | (1) |
|
Making Deployment Choices |
|
|
143 | (5) |
|
|
148 | (1) |
|
Deploying Azure SQL Managed Instance |
|
|
149 | (19) |
|
|
150 | (9) |
|
|
159 | (1) |
|
|
159 | (2) |
|
Connecting and Verifying Deployment |
|
|
161 | (7) |
|
Migrating to Azure SQL Managed Instance |
|
|
168 | (3) |
|
|
168 | (2) |
|
|
170 | (1) |
|
|
170 | (1) |
|
|
171 | (1) |
|
Deploying an Azure SQL Database |
|
|
171 | (29) |
|
|
171 | (12) |
|
Deploying Business Critical |
|
|
183 | (2) |
|
|
185 | (1) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
188 | (6) |
|
Connecting and Verifying Deployment |
|
|
194 | (6) |
|
Migrating to Azure SQL Database |
|
|
200 | (2) |
|
|
202 | (1) |
|
Chapter 5 Configuring Azure SQL |
|
|
203 | (32) |
|
Configuring Azure SQL Managed Instance |
|
|
204 | (6) |
|
|
204 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
206 | (2) |
|
|
208 | (2) |
|
Configuring Azure SQL Database |
|
|
210 | (4) |
|
|
210 | (2) |
|
|
212 | (1) |
|
|
213 | (1) |
|
Configuration Restrictions |
|
|
214 | (5) |
|
Azure SQL Managed Instance Restrictions |
|
|
214 | (4) |
|
Azure SQL Database Restrictions |
|
|
218 | (1) |
|
Azure SQL Space Management |
|
|
219 | (2) |
|
Azure SQL Managed Instance Space Management |
|
|
219 | (1) |
|
Azure SQL Database Space Management |
|
|
220 | (1) |
|
|
221 | (10) |
|
|
221 | (1) |
|
|
222 | (1) |
|
Bulk Insert and Openrowset |
|
|
223 | (1) |
|
SQL Server Integration Services (SSIS) |
|
|
224 | (2) |
|
|
226 | (1) |
|
|
227 | (1) |
|
RESTORE to Managed Instance |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (3) |
|
|
231 | (2) |
|
New Features and Capabilities in Azure SQL |
|
|
233 | (1) |
|
|
234 | (1) |
|
Chapter 6 Securing Azure SQL |
|
|
235 | (70) |
|
Security Capabilities and Tasks |
|
|
237 | (2) |
|
|
237 | (1) |
|
|
238 | (1) |
|
|
239 | (17) |
|
Azure SQL Managed Instance Network Security |
|
|
240 | (3) |
|
Azure SQL Database Network Security |
|
|
243 | (13) |
|
Authentication and Access |
|
|
256 | (10) |
|
Azure Role-Based Access Control (RBAC) |
|
|
256 | (1) |
|
Authentication for Azure SQL Managed Instance |
|
|
257 | (2) |
|
Authentication for Azure SQL Database |
|
|
259 | (7) |
|
Set Up and Configure Access |
|
|
266 | (1) |
|
|
266 | (8) |
|
|
266 | (1) |
|
Transparent Data Encryption (TDE) |
|
|
267 | (5) |
|
|
272 | (1) |
|
Dynamic Data Masking (DDM) |
|
|
272 | (2) |
|
|
274 | (12) |
|
Monitoring the Azure Ecosystem |
|
|
274 | (2) |
|
Auditing Azure SQL Managed Instance |
|
|
276 | (1) |
|
Auditing Azure SQL Database |
|
|
277 | (9) |
|
|
286 | (17) |
|
|
288 | (7) |
|
|
295 | (4) |
|
Advanced Threat Protection (ATP) |
|
|
299 | (2) |
|
|
301 | (2) |
|
|
303 | (2) |
|
Chapter 7 Monitoring and Tuning Performance for Azure SQL |
|
|
305 | (68) |
|
|
306 | (7) |
|
|
307 | (3) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
311 | (1) |
|
SQL Server 2019 Enhancements |
|
|
312 | (1) |
|
|
312 | (1) |
|
Configuring and Maintaining for Performance |
|
|
313 | (4) |
|
|
313 | (1) |
|
|
314 | (1) |
|
|
314 | (1) |
|
Max Degree of Parallelism |
|
|
315 | (1) |
|
|
315 | (1) |
|
|
316 | (1) |
|
|
316 | (1) |
|
Monitoring and Troubleshooting Performance |
|
|
317 | (29) |
|
Monitoring Tools and Capabilities |
|
|
317 | (2) |
|
Dive into DMVs and Extended Events |
|
|
319 | (5) |
|
|
324 | (19) |
|
Azure SQL Specific Performance Scenarios |
|
|
343 | (3) |
|
Accelerating and Tuning Performance |
|
|
346 | (17) |
|
|
346 | (10) |
|
|
356 | (1) |
|
Increasing Memory or Workers |
|
|
356 | (1) |
|
Improving Application Latency |
|
|
357 | (1) |
|
Tune Like It Is SQL Server |
|
|
358 | (5) |
|
|
363 | (9) |
|
Intelligent Query Processing |
|
|
363 | (1) |
|
Automatic Plan Correction |
|
|
364 | (1) |
|
|
365 | (7) |
|
|
372 | (1) |
|
Chapter 8 Availability for Azure SQL |
|
|
373 | (68) |
|
|
375 | (2) |
|
Automatic Backups and Point-In-Time restore |
|
|
375 | (1) |
|
Built-in High Availability |
|
|
375 | (1) |
|
|
376 | (1) |
|
Geo-replication and Auto-failover Groups |
|
|
376 | (1) |
|
Database Availability and Consistency |
|
|
376 | (1) |
|
|
377 | (1) |
|
|
377 | (17) |
|
|
378 | (3) |
|
|
381 | (7) |
|
Long-Term Retention Backups |
|
|
388 | (3) |
|
|
391 | (1) |
|
Restore Backups from Deleted Databases - |
|
|
392 | (1) |
|
Restore in Azure SQL Managed Instance |
|
|
393 | (1) |
|
Built-in High Availability |
|
|
394 | (16) |
|
General Purpose High Availability |
|
|
395 | (3) |
|
Business Critical High Availability |
|
|
398 | (6) |
|
Hyperscale High Availability |
|
|
404 | (6) |
|
|
410 | (20) |
|
|
410 | (3) |
|
|
413 | (6) |
|
|
419 | (9) |
|
|
428 | (2) |
|
Database Availability and Consistency |
|
|
430 | (2) |
|
|
430 | (1) |
|
Accelerated Database Recovery (ADR) |
|
|
431 | (1) |
|
|
431 | (1) |
|
|
432 | (7) |
|
Instance, Server, and Database Availability |
|
|
432 | (1) |
|
Backup and Restore History |
|
|
433 | (1) |
|
Region, Data Center, and Service Availability |
|
|
434 | (2) |
|
|
436 | (2) |
|
|
438 | (1) |
|
System Center Management Pack for Azure SQL |
|
|
439 | (1) |
|
|
439 | (2) |
|
Chapter 9 Completing Your Knowledge of Azure SQL |
|
|
441 | (30) |
|
Surface Area of Azure SQL |
|
|
442 | (5) |
|
Linked Servers and Cross-Database Queries |
|
|
443 | (1) |
|
|
444 | (1) |
|
|
444 | (1) |
|
|
445 | (1) |
|
|
446 | (1) |
|
Machine Learning Services |
|
|
446 | (1) |
|
|
447 | (1) |
|
|
447 | (11) |
|
|
448 | (1) |
|
|
449 | (8) |
|
|
457 | (1) |
|
|
458 | (7) |
|
|
458 | (2) |
|
|
460 | (1) |
|
Troubleshooting Resources in the Azure Portal |
|
|
460 | (5) |
|
|
465 | (1) |
|
|
465 | (5) |
|
|
465 | (2) |
|
Best Practices for Performance |
|
|
467 | (1) |
|
|
467 | (2) |
|
Stay in Touch with Our Team |
|
|
469 | (1) |
|
|
470 | (1) |
|
Chapter 10 Go Big with the Cloud |
|
|
471 | (16) |
|
Integration with Azure Services |
|
|
471 | (10) |
|
|
472 | (4) |
|
|
476 | (5) |
|
|
481 | (1) |
|
Azure Architectures and Solutions |
|
|
481 | (2) |
|
|
483 | (1) |
|
|
483 | (1) |
|
|
484 | (3) |
Index |
|
487 | |