Curso SQL Server 2019 for Developers
32 horasObjetivo
Após realizar este Curso SQL Server 2019 for Developers, você será capaz de:
- Aprenda como implementar as melhores práticas ao instalar o SQL Server 2019
- Entenda as novas melhorias de desempenho no SQL Server 2019
- Melhore o desempenho usando processamento inteligente de consultas, índices de coluna e tabelas/bancos de dados com otimização de memória.
- Implemente estratégia de dados distribuídos usando Polybase.
- Noções básicas sobre os recursos de aprendizado de máquina do SQL Server 2019.
- Conteinerização do SQL Server usando contêineres Docker.
- Entenda os conceitos básicos de CI/CD usando Jenkins.
- Entenda os novos recursos de segurança.
Publico Alvo
- Administradores de banco de dados, desenvolvedores e arquitetos que precisam entender os recursos mais recentes introduzidos no SQL Server 2012 - 2019.
Pre-Requisitos
- Noções básicas de SQL Server ou qualquer outro sistema DBMS são altamente recomendados.
Materiais
Inglês + Exercícios + Lab PraticoConteúdo Programatico
SQL Server Planning
- SQL 2019 New Features
- Upgrade Considerations
- SQL Server 2019 Supported Upgrades
- Pre-upgrade Checklist
- Migration Tools
- Pre-migration Stages
- Discover Stage
- Assess and Convert
- A/B Testing (optional)
- Migration Overview
- Side-by-side Migration DMA
- In-place Upgrade
- Memory and Performance Consideration
- Memory Guidance
- Lock Pages in Memory (LPIM)
- Instant File Initialization
- Perform Pre-checks of I/O
- Using SQLIOSIM
Performance Improvements
- Introduction to the Buffer Pool Extension
- Considerations for Using the Buffer Pool Extension
- Configuring the Buffer Pool Extension
- What Is Resource Governor?
- What Are Resource Pools and Workload Groups?
- Managing Resource Governor
- Assigning a Workload to a Workload Group
- Indexes in SQL Server
- The INCLUDE Clause Considerations
- What are Columnstore Indexes
- Query Plan with Columnstore Index
- Columnstore Index Scenarios
- Nonclustered Columnstore Indexes
- Clustered Columnstore Indexes
- Creating a Nonclustered Columnstore Index
- Creating a Clustered Columnstore Index
- Creating a Clustered Columnstore Table with Primary and Foreign Keys
- Managing Columnstore Indexes
- Index Fragmentation
- Columnstore Indexes and Memory Optimized Tables
- Online Index Create and Rebuild
- Online Index Caveats
- Resumable Online Index
- Working with Resumable Online Index
- Pausing and Resuming Resumable Online Index
- View Resumable Online Index Status
- Intelligent Performance with SQL Server 2019
- Intelligent Query Processing Features
- What Are Memory-Optimized Tables?
- Scenarios for Memory-Optimized Tables
- Creating a Filegroup for Memory-Optimized Data
- Creating Memory-Optimized Tables
- Indexes in Memory-Optimized Tables
- Converting Tables with Memory Optimization Advisor
- Querying Memory-Optimized Tables
- What Are Natively Compiled Stored Procedures?
- When to use Natively Compiled Stored Procedures
- Creating Natively Compiled Stored Procedures
- Execution Statistics
- Planning Memory-Optimized Tables
Advanced Indexing for SQL Server
- Index Strategies
- Covering Indexes
- Using the INCLUDE Clause
- Heap vs. Clustered Index
- Filtered Index
- What Is Fill Factor?
- What is Pad Index
- Implementing Fill Factor and Padding
- Managing Statistics
- Using DMOs to Improve Index Usage
- Consolidating Indexes
- Using Query Hints
- What is an Execution Plan
- Actual vs. Estimated Execution Plans
- Common Execution Plan Elements
- Methods for Capturing Plans
- Execution Plan Related DMVs
- Live Query Statistics
- A Slide Header [Style: Slide Header]
- A Slide with Vertical Split
emporary Data Implications
- TempDB
- tempdb Facts
- tempdb Configuration
- Memory and tempdb
- Default tempdb Configuration
- tempdb Performance Optimization
- tempdb File Placement Recommendations
- Moving the tempdb Database
- tempdb Secondary File Recommendations
- Multiple TempDB Database Files
- tempdb Restrictions
- tempdb Permissions
- Memory-optimized tempdb metadata
- Memory-optimized tempdb limitations
- Configuring and using memory-optimized tempdb metadata
- Enabling Sort In TempDB
- Delayed Durability
- Clear tempdb in SQL Server
- Configuring tempdb Storage
- Configuring tempdb Storage
Docker Introduction
- What is Docker
- Docker Containers vs Traditional Virtualization
- Where Can I Run Docker?
- Docker Containers vs Traditional Virtualization
- Docker as Platform-as-a-Service
- Docker Integration
- Docker Services
- Docker Hub Container Registry
- Alternative Container Registries
- Competing Containerization Systems
- Docker Command-line
- Starting, Inspecting, and Stopping Docker Containers
Building Docker Images
- Docker Images
- Containerizing an Application
- Building The Image
- Building a Docker Images using Dockerfile
- Sample Dockerfile
- Environment Variables
- Environment Variables - Example
- Arguments
- Multi-stage Builds
- Stop at a Specific Build Stage
- RUN
- EXPOSE
- EXPOSE (Continued)
- COPY
- ADD
- CMD
- ENTRYPOINT
- CMD vs. ENTRYPOINT
- VOLUME
- Build the Image
- .dockerignore
- Dockerfile – Best Practices
- Published Ports
- Docker Documentation Link
- Docker Registry
- Hosting a Local Registry
- Deploying Docker Images to a Kubernetes Cluster
- Running Commands in a Container
- Multi-Container Pod
Azure Container Registry and Azure Container Instances
- Azure Container Registry (ACR)
- ACR Typical Workflow
- Container Registry SKUs
- Creating ACR
- Pushing Existing Docker Images into ACR
- Build Images in ACR
- Obtaining ACR Credentials
- Azure Container Instances (ACI)
- Azure Container Instance Workflow
- Working with ACI
- Deleting Container Instances and Container Registry
Kubernetes Core Concepts
- Kubernetes Basics
- What is Kubernetes?
- Container Orchestration
- Kubernetes Architecture
- Kubernetes Concepts
- Cluster and Namespace
- Nodes
- Master
- Pod
- Using Pods to Group Containers
- Label
- Label Syntax
- Annotation
- Label Selector
- Replication Controller and Replica Set
- Service
- Storage Volume
- Secret
- Resource Quota
- Authentication and Authorization
- Routing
- Docker Registry
- Azure Kubernetes Service (AKS)
- AKS Diagram
- Deploying an AKS Cluster
- Application Deployment on AKS
Deploying and Exposing Applications
- Configuring AKS for Deployment
- Deploying to Kubernetes
- Kubernetes Services
- Service Resources
- Service Type
- ClusterIP
- NodePort
- NodePort from Service Spec
- LoadBalancer
- LoadBalancer from Service Spec
- ExternalName
- Accessing Applications
- Service Without a Selector
- Ingress
- Ingress Resource Example
- Ingress Controller
- Service Mesh
Kubernetes Workload
- Kubernetes Workload
- Managing Workloads
- Imperative commands
- Imperative Object Configuration
- Declarative Object Configuration
- Configuration File Schema
- Understanding API Version
- Understanding API Version
- Obtaining API Versions
- Stateless Applications
- Sample Deployment Manifest File
- Working with Deployments
- Stateful Applications
- Sample Stateful Manifest File
- Working with StatefulSet
- Jobs
- Sample Job Manifest File
- Working with Batch Job
- DaemonSets
- Sample Daemon Manifest File
- Rolling Updates
- Summary
- Chapter 11 - Using PolyBase in SQL Server
- Understanding PolyBase
- PolyBase Example
- Data Virtualization with PolyBase
- PolyBase Use-cases
- PolyBase and Massive Parallel Processing
- Supported SQL Products and Services
- PolyBase Connectors
- PolyBase vs. Linked Server
- PolyBase Limitations
- Using PolyBase in SQL Server Instance
- PolyBase Installation
- Enable PolyBase
- Create external data source to reference a SQL Server Instance
- Create external data source in SQL Server 2019 to reference Oracle
- Create external data source to access data in Azure Storage
- Create external data source to reference Hadoop
- Create an external table for SQL Server
- Create an External Table for Azure Blob Storage
- Importing Data with CTAS
- Exporting Data with CETAS
- View PolyBase Objects in SSMS
Security Features
- Always Encrypted
- Security Features
- Always Encrypted using SSMS
- Selecting Columns to Encrypt
- Creating the Always Encrypted Master Key
- Creating the Column Encryption Key
- PowerShell Script
Lab Exercises
- Lab 1 - SQL Server Installation and Configuration
- Lab 2 - Pre-installation Stress Testing
- Lab 3 - Configure Memory
- Lab 4 - Working with Buffer Pool Extension
- Lab 5 - Working with the Resource Governor
- Lab 6 - Using Columnstore Indexes
- Lab 7 - Working with Memory Optimization Advisor
- Lab 8 - Using In-Memory Tables
- Lab 9 - Intelligent Query Processing: Approximate Query Processing
- Lab 10 - Optimizing Indexes
- Lab 11 - Working with tempdb
- Lab 12 - Working with PolyBase
- Lab 13 - Creating a Docker Account and Obtain an Access Token
- Lab 14 - Managing Containers
- Lab 15 - Building Images
- Lab 16 - Dockerfiles
- Lab 17 - Docker Volumes
- Lab 18 - Containerizing SQL Server
- Lab 19 - Configuring Minikube/Kubernetes to Use a Custom Docker Account
- Lab 20 - Accessing Applications
- Lab 21 - Working with Machine Learning Services
- Lab 22 - Working with Dynamic Data Masking
- Lab 23 - Working with Row-level and Always Encrypted Security Features
- Lab 24 - Working with Monitoring Baselining