SlideShare a Scribd company logo
1 of 74
Download to read offline
#sqlsat
SQL Server Modernization
Gianluca Hotz
Who am I?
Gianluca Hotz | @glhotz | ghotz@ugiss.org
Independent Consultant, Founder and Mentor SolidQ
20+ years on SQL Server (from 4.21 in 1996)
Database modeling and development, sizing and administration, upgrade and migration,
performance tuning
Interests
Relational model, DBMS architecture, Security, High Availability and Disaster Recovery
Community
20 years Microsoft MVP SQL Server (from 1998)
Founder and President UGISS
User Group Italiano SQL Server (PASS Chapter)
Modernization?
Low Complexity
Version upgrades (e.g. 2008 R2 -> 2017)
Edition upgrades/downgrades (e.g. Standard -> Enterprise)
Medium Complexity
Virtualization
Consolidation
Adding HA/DR
High Complexity
Re-Platforming (e.g. Oracle -> SQL Server or Azure SQL Database)
Re-Architecting (e.g. SQL Server -> Azure SQL Datawarehouse or Data Lake)
Holistic Approach
Data Platform technologies
Project types
Hardware modernization and/or consolidation
Virtualization (Private and Public Cloud)
Software solution deployments
SharePoint, Navision, CRM, …
Infrastructure
hardware, virtualization platforms, storage solutions, HA/DR & backup solutions…
Application development
Licensing
SQL Server flavors
On-Premises
SQL Server (Database Engine, SSAS, SSRS, SSIS, DQS, MDS, MLS)
Analytics Platform System (APS was SQL Server PDW)
IaaS
SQL Server (Database Engine, SSAS, SSRS, SSIS, DQS, MDS, MLS)
PaaS
Azure SQL Database, Azure SQL Data Warehouse
Amazon RDS for SQL Server
Richer Data Platform offering (e.g. Data Lake, Data Factory, etc.)
Changing platform
Can be easy
Migrating databases to PaaS or containerized versions (but same RDBMS)
or…
Hard: converting databases to other RDBMSs
data must be physically migrated (different types, different representations,…)
database code must be converted (constraints, triggers, functions, procedures,…)
Application code can be
converted completely, to a new platform
just adapted to run against the new RDBMS
adapted to support multiple RDBMSs
Different kind of projects
Migration
one time conversion
solution switch-over at a certain point
Porting
side-by-side conversion & evolution
no switch-over, current solutions remain
Migration Projects
Usually done by final customers (i.e. not ISVs)
Driving factors
cost reduction
move away from vendor(s)
solution obsolescence
unreliability and/or supportability problems
Application
may be converted to a new platform
may be adapted to run with new RDBMS
Porting Projects
Usually done by ISVs
Driving factors
get into new markets
cost reduction for customers (TCO)
more choice for customers
become less dependent from vendor(s)
Application
may be ported to new platform
happens rarely, means re-write or 2 codebases
may be adapted to run with new RDBMS
Different kind of Databases to migrate/port
Simple schema
all the logic is inside the application
simple access methods (mostly by cursors)
very limited use of SQL dialects
database is used mostly for storage
Complex schema
much of the logic is inside the database
heavy usage of SQL dialects
database used as a rule and inference engine
Origin of problems
Sometimes porting issues arise from
misusage of functionalities
bad decoupling of application/database code
too much row oriented code in the database
low technical skills of coders/architects
Never judge
every application has it own story
a lot of decisions may be compromises
a lot of money was probably already invested
Application portability
Code in the RDBMS
has been a best practice for years
still a very good solution for both
integrity
scalability
however… portability is an issue!
different SQL dialects
different type systems
different engine features
Changing Architecture
Can be much more harder!
More complex
Low familiarity with non RBMS technologies
Low familiarity with unstructured dta
New implementation patterns
ML & AI will stop to be buzzwords…
Version Upgrades: motivations
Compliancy (e.g. end of support and/or security)
Better Performance
New functionalities
Winter is coming!
Version Upgrades: barriers
Licensing Costs
Regressions risk
Application changes costs
Complexity
Testing changes (application or certification processes)
Planning for low downtime
Lack of time/resources/competencies
Edition upgrades/downgrades
Upgrades
Motivations similar to version upgrades
Barriers similar to version upgrades
Complexity usually lower because setup covers the scenario
Downgrades
Main motivation to save money
Barriers similar to version upgrades
Needs reinstallation, less impact for non production environment
Hardest problems
Factors that require application changes
Breaking changes
Discontinued functionalities
Plan affecting changes may cause performance regressions
New Cardinality Estimator
Hotfixes
New QP strategies/behavior (e.g. Intelligent Query Processing)
Testing changes is hard!
Complete Workload coverage
Concurrent access
Database Compatibility Level
Sets behavior compatible with
specified version of SQL Server
Version Native Level Supported Levels
SQL Server 2019 150 150, 140, 130, 120,
110, 100
SQL Server 2017 140 140, 130, 120, 110,
100
Azure SQL Database 130 140, 130, 120, 110,
100
SQL Server 2016 130 130, 120, 110, 100
SQL Server 2014 120 120, 110, 100
SQL Server 2012 110 110, 100, 90
SQL Server 2008 R2 100 100, 90, 80
SQL Server 2008 100 100, 90, 80
SQL Server 2005 90 90, 80
SQL Server 2000 80 80
DB Compatibility Level based certification
Target for a database compatibility level
Stop certifying for any given platform (On-Premises, Cloud, PaaS/IaaS)
Stop certifying for a named SQL Server version
Microsoft Database Compatibility Level Protection
Full functional protection (once assessment tools runs with no errors)
Query Plan shape protection (on comparable hardware)
Maintaining backward compatibility very important for SQL Server
team…
DB Compatibility Level certification benefits
Simplified certification across platforms
E.g. SQL Server On-Premises and Azure SQL Database Managed Instances
Improved risk management
Decoupling application upgrade from database support upgrade cycles
Allow customers to upgrade/migrate to new/different versions
Benefits from new features Without changing functionalities
Not everything is gated by Database Compatibility levels e.g.
Adaptive Joins: gated
Auto-tuning, new Query memory gateways, leveraging NUMA architecture, Columnstore indexes:
non-gated
Functional Change Protection
Breaking Changes
Behavior changes resulting in different outcomes!
Not all protected under Database Compatibility
Protected changes examples
Improved accuracy in compatibility level 130+
Conversion behavior setting LANGUAGE context info
Conversion behavior parsing dates
Non protected changes examples
Column names changes in system objects
Functional Change Protection & Trace Flags
Sometimes functional changes are gated by Trace Flags
Example: truncation error 8152
Gated by trace flag 460
Will be on by default in 2019 with Compatibility Level 150
https://blogs.msdn.microsoft.com/sql_server_team/string-or-binary-data-
would-be-truncated-replacing-the-infamous-error-8152
Discontinued functionalities
Not protected by Compatibility Level!
Removed from database engine
Need to change queries using it
Examples
FASTFIRSTROW
replaced by OPTION (FAST n) in SQL Server 2012
sp_dboption
system stored procedure removed in SQL Server 2012
Query Plan shape protection
Plan-affecting changes
Query Optimizer fixes (Trace Flag 4199)
Changes to Cardinality Estimator
These will very likely cause regressions!
Especially Cardinality Estimator
Many queries better performance, other worse
Are you sure you understood how fixes works?
What about fixes for incorrect result causing regressions?
Query Optimizer Fixes with TF 4199
SQL Server 2016+ QO fixes from
previous versions enabled by default
under the latest level
previously you had to enable them but
you enabled also current version, post-
RTM, fixes
zero reported errors in support cases
after changing the default
Fully Documented
https://support.microsoft.com/en-
us/help/974006/sql-server-query-
optimizer-hotfix-trace-flag-4199-
servicing-model
Compatibili
ty Level
TF
4199
QO
changes
from
previous
level
QO
changes for
current
version
post-RTM
100-120 Off Disabled Disabled
On Enabled Enabled
130 Off Enabled Disabled
On Enabled Enabled
140 Off Enabled Disabled
On Enabled Enabled
Query Optimizer fixes further control
SQL Server 2016+ database-level granularity
ALTER DATABASE SCOPED CONFIGURATION SET
QUERY_OPTIMIZER_HOTFIXES = ON|OFF
SQL Server 2016 SP1+ query-level granularity
OPTION(USE HINT('ENABLE_QUERY_OPTIMIZER_HOTFIXES’))
Cardinality Estimator problems
Essential for query plan generation
Was largely based on SQL Server 7.0
Redesigned in SQL Server 2014+
Ascending data estimation, correlation assumptions, join
containment, fixed estimation values (e.g. MTVF)
Will most probably cause regressions in performance!
Controlling Cardinality Estimation
SQL Server 2014
Bound to Database Compatibility Level 😬
Trace Flags (global, session and query levels)
Trace flag 2312 reverts to CE version 70
Trace flag 9481 use CE version 120
SQL Server 2016+ database-level configuration
ALTER DATABASE SCOPED CONFIGURATION SET
LEGACY_CARDINALITY_ESTIMATION = ON|OFF
SQL Server 2016 SP1+ query-level configuration
OPTION(USE HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION'))
OPTION(USE HINT('FORCE_DEFAULT_CARDINALITY_ESTIMATION'))
Query Optimizer Compatibility Level
SQL Server 2017 CU10 introduces query-level granularity
OPTION(USE
HINT('QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n’))
Includes QO fixes enabled by default up to that level
TF 4199 enabled globally will still enable all fixes
https://blogs.msdn.microsoft.com/sql_server_team/developers-choice-hinting-query-execution-model
Query Optimizer Hints
SQL Server 2016 SP1+
Control QO behavior
Mainly to replace trace flags
USE HINT Trace Flag DB
Option
DISABLE_OPTIMIZED_NESTED_LOOP 2340
FORCE_LEGACY_CARDINALITY_ESTIMATION 9841 Yes
ENABLE_QUERY_OPTIMIZER_HOTFIXES 4199 Yes
DISABLE_PARAMETER_SNIFFING 4136 Yes
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMAT
ES
4137 (Old CE)
9471 (New CE)
DISABLE_OPTIMIZER_ROWGOAL 4138
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS 4139
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS
9476 (New CE)
FORCE_DEFAULT_CARDINALITY_ESTIMATION 2312
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n
QUERY_PLAN_PROFILE
https://blogs.msdn.microsoft.com/sql_server_team/developers-choice-use-hint-query-hints
Microsoft recommended upgrade Plan
Upgrade to
latest SQL
Server
version and
keeping
source
compatibility
level
Enable Query
Store
Create a
baseline of
the workload
Move to
latest
compatibility
level
Quickly fix
regressions
by forcing
last known
good plan!
Upgrade Strategies
Side-by-side
Allow OS Upgrade
Easier testing
Easier rollback strategy
Less downtime
In-Place
No additional Hardware
No data migration
Side-by-side Upgrade Service Availability
Synchronization Strategy Notes
Log Shipping Cutover typically in minutes
Replication Cutover potentially in seconds
Backup/Restore From minutes to hours (depends on
strategy e.g. usage of differential and/or
log backups)
Filesystem/SAN Copy Dependent on technology
Database Mirroring/Availability Groups Cutover typically in seconds
Upgrade process to minimize risks
Functional &
Performance
tests
Optimize
Migrate
schema,
objects & data
Remediate
applications
Discover Assess Convert
Data
Sync
Cutover
Discover Phase
Which SQL Server versions do I have?
Which Editions am I running?
Which SQL Server components are installed?
How many cores are on each server?
How many databases are in each instance?
What are the sizes of all my databases?
What are the settings for each instance and database?
Assessment Tools
Microsoft Assessment and Planning (MAP) Toolkit
SQL PowerDoc
PowerShell Script gather data from WMI in XML
Windows and SQL Server rich inventory in Excel
Best Practices Reports in Excel
Consolidates multiple server/instances
Official https://github.com/kendalvandyke/sqlpowerdoc
Newer https://github.com/bryan5989/SQLPowerDoc
Quest Enterprise Reporter for SQL Server
Based on previously free Discovery Wizard for SQL Server
Part of a suite for compliancy covering several other products (e.g. AD)
Microsoft Upgrade/Migration Tools
Upgrade Advisor
Data Migration Assistant (DMA)
Data Experimentation Assistant (DEA)
Data Migration Service (DMS)
SQL Server Migration Assistant (SSMA)
SQL Server Data Tools for Visual Studio (SSDT)
SQL Server Management Studio (SSMS)
“Export Data Tier Application”
“Deploy Database to Microsoft Azure SQL Database” Wizard
Upgrade Advisor
Static Analysis
Database Engine
Analysis Services
Reporting Services
Integration Services
Dynamic Analysis
Trace Files
Obsolete!
Use only if source database non supported
You can still find it in SQL Server Feature Packs (2014 latest)
Data Migration Assistant
On-premises instances assessment
Blocking issues
Partially supported or unsupported features
Discover issues that may affect compatibility
Breaking Changes, Behavior Changes, Deprecated Features
Discover new features that may benefit after upgrading
Performance, security, Storage
Azure SQL Database SKU Recommendations
Performance counters analysis to suggest SKU Azure SQL Database
Performs the migration
Versions supported by DMA
Source
SQL Server 2005
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014
SQL Server 2016
SQL Server 2017 on Windows
Destination
SQL Server 2012
SQL Server 2014
SQL Server 2016
SQL Server 2017
on Windows and Linux
Azure SQL Database
Azure SQL Database
Managed Instance
Bulk Analysis
Repository instances/databases to assess in SQL/CSV
Automation with PowerShell
Import in reporting database
Reports with PowerBI
DMA Problems
Cannot save sessions!
Only Assessment data in JSON format
Azure SQL Database SKU Recommendations
Command Line Interface only
Currently not working…
Bulk Analysis
Cumbersome process
Errors
dmaDataCollector crashes with pubs, dmacmd.exe is a closed project
LoadWarehouse.sql needs to be fixed
Data Migration Assistant Resources
Docs
https://docs.microsoft.com/en-us/sql/dma/dma-overview
https://docs.microsoft.com/en-us/sql/dma/dma-
consolidatereports
Blog
https://blogs.msdn.microsoft.com/datamigration/tag/dma
https://blogs.msdn.microsoft.com/datamigration/tag/data-
migration-assistant
Database Experimentation Assistant
A/B testing solution for SQL Server
Workload comparison
e.g. upgrades, new indexes, etc.
Capture
SQL Trace
Extended Events (V2.6+)
Replay
DReplay integration
Analysis
Performance improvements and regressions
DEA Analysis Example
Versions supported by DEA
Source
SQL Server 2005+
Target
SQL Server 2005+
Analysis
SQL Server 2008+
Data Migration Service Resources
Docs
https://docs.microsoft.com/en-us/sql/dea/database-
experimentation-assistant-overview
Blog
https://blogs.msdn.microsoft.com/datamigration/tag/dea
Azure Database Migration Service
On-premises
SQL Server 2005 - 2017
Assessment
SSMA & DMA
Azure Database
Migration Service
My
DMS Migration Scenarios
SQL Server -> Azure SQL Database Offline
SQL Server -> Azure SQL Database Online
SQL Server -> Azure SQL Database Managed Instance Offline
SQL Server -> Azure SQL Database Managed Instance Online
MySQL -> Azure DB for MySQL Online
PostgreSQL -> Azure DB for PostgreSQL Online
Data Migration Service Resources
Docs
https://docs.microsoft.com/en-us/azure/dms/dms-overview
https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-
sql
Blog
https://blogs.msdn.microsoft.com/datamigration/tag/azure-database-
migration-service
https://blogs.msdn.microsoft.com/datamigration/tag/dms
SQL Server Migration Assistant
Migration effort assessment
Code conversion
Data migration
Testing
Deployment
Platforms supported by SSMA
Source
Microsoft Access
DB2
MySQL
Oracle
SAP ASE (Sybase ASE)
Destination
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2014
SQL Server 2016
SQL Server 2017 on Windows and Linux
SQL Server 2019 on Windows and Linux
Azure SQL Database
Azure SQL Database Managed Instance
Azure SQL Data Warehouse (Oracle only)
SSMA for Oracle: how it works (101)
Creates two “helper” databases
sysdb
ssmatesterdb
Stores metadata in the file system
data stored in xml compressed format
can rename to .gzip and uncompress it
shred xml into lot of files for caching
reports directory
can be safely deleted and re-generated
metadata reside in the original .mb files
SSMA for Oracle: sysdb helper database
Provides
code infrastructure to emulate features
system functions
schema features (e.g. sequences)
engine features (e.g. autonomous transactions)
session bound data storage
emulated metadata storage (e.g. packages)
Maintenance
protect metadata
performance related depends on workload
SSMA for Oracle: does it really work?
Yes, but don’t expect miracles!
Works well with simple schemas…
Usually won’t do all the work by itself
Very useful for
assessing efforts
assessing problems
doing prototypes
as a learning tool
to translate/emulate some functionalities
Testing
Nothing can replace good testing!
Hard to have tests with good coverage of the whole workload
Sometimes is more cost effective to run fewer tests and fix the
problems later…
SQL Server DReplay infrastructure
Often impossible to capture and replay even a fraction of the
workload
Workload Tools
Very good for side-by-side, real-time workload replay
Captures XE batch completed and replay commands on-the-fly
Captures execution telemetry (cpu, read, writes, duration)
Reports to find regressions
Developed by a well-known MVP ☺
https://github.com/spaghettidba/WorkloadTools
DBA Tools
Lot of PowerShell cmdlets to make the DBA life easier
Many cmdlets target specifically migration/upgrade scenarios
E.g copy logins with synch option
One stop cmdlet migrating an
All instance-level assets (e.g. credentials, linked servers, etc. )
Via backup/restore automation (just specify network share)
https://dbatools.io
Start-DbaMigration
https://youtu.be/hg8tovMRX2k
After the upgrade: remember the plan
Upgrade to
latest SQL
Server
version and
keeping
source
compatibility
level
Enable Query
Store
Create a
baseline of
the workload
Move to
latest
compatibility
level
Quickly fix
regressions
by forcing
last known
good plan!
Automatic Tuning
Automatic plan correction
Automatically force last good plan when regression detected
Minimum 10 CPU seconds improvement
sys.dm_db_tuning_recommendations for manual corrections
SQL Server 2017 and Azure SQL Database
https://docs.microsoft.com/en-us/sql/relational-databases/automatic-tuning/automatic-tuning
Query Tuning Assistant
Well-defined workflow targeting patterns for query regressions
Independence vs. Correlation
Simple Containment vs. Base Containment
Multi-statement table-valued function (MSTVF) fixed cardinality guess
SQL Server Management Studio Wizard-Based Tool
Can be automated via PowerShell
Query Tuning Assistant plan
Upgrade to
latest SQL
Server
version and
keeping
source
compatibilit
y level
Enable
Query Store
Create a
baseline of
the
workload
Move to
latest
compatibilit
y level (or
any target
level to test)
Collect
workload
with new
level and
start
comparing
with
baseline
Instead of
only forcing
last known
good plan,
experiment
with tuning
recommend
ation actions
https://docs.microsoft.com/en-us/sql/relational-databases/performance/upgrade-dbcompat-using-qta
Modernization Stream Phases in a SQL
Project
Partner Collect Inspire
Assess Define Inventory Envision Scope
Modernize Detail Setup Test Execute
Support Tune Mentor
Assessment phase
Define
• Finalize assessment’s scope
• Finalize questionnaires to be sent to project representatives
• Activities kick-off
Inventory
• Detailed inventory of Windows Server & SQL Servers
• Static analysis of databases & SQL code
• Project representatives interviews (questionnaires)
Envision
• Consolidate & analyze inventory data
• Review configuration, performance, reliability and security best practices
• Prepare modernization scenarios and macro action-plan
Scope
• Discuss deliverables and scenarios with customer
• Finalize modernization scenarios
• Prepare next phases offering (Modernize & Support)
Assessment phase: reducing uncertainty
Better planning/flexibility
Size better understood results in reduced expectations and scope
Allows to run several Modernization phases at different times
Leaves the customer with something tangible
Detailed assets inventory
Performance/Security/Reliability automatic assessment
Static analysis of databases code
Possibility to rescope/change scenarios
Enough data to independently run the project
On-Premises to Azure PaaS/IaaS migrations
IaaS
SQL Server on Azure VMs
SQL Server on Azure Containers
SQL Server on Azure Kubernetes
PaaS
Azure SQL Database
Azure SQL Database Managed Instance
On-Premises to SQL Server PaaS migrations
Subnet used for MI
On-Premise to Managed Instance online
workflow
Subnet used for DMS
On-Premise
Cloud network
SQL DB
Managed Instance
Azure Blob Storage
SMB Network Share
Other on-premises to PaaS strategies
Method 1 Method 2 Method 3
Target
DB
Azure SQL Database
SQL Server
SSMS
2. Import
1. DeployOR
.bacpac
1. Export
Source
DB
Target
DB
Azure SQL Database
SQL Server
SQL Azure
Migration
Wizard
2. Execute
1. Generate
T-SQL
Source
DB
Target
DB
Azure SQL Database
SQL Server
SSMS
6.
Export/
Import
or Deploy
Data
Migratio
n
Assistant
4. Copy
Copy
DB
Source
DB
5. Publish
1. Import
Visual
Studio
Database
Project
2. Transform
3. Edit, Build
& Test
*.sql
4. Publish (schema only)
Compatible database: manual
copy or deploy wizard in SSMS
Database almost compatible:
SQL Azure Migration Wizard
DMA and SSMS
Refactor with Visual Studio and Data
Migration Assistant, final deploy with
SSMS
Migration with minimal downtime
Transactional Replication
Data Migration Resources
Blog
https://blogs.msdn.microsoft.com/datamigration
Upgrade SQL Server
https://docs.microsoft.com/sql/database-engine/install-windows/upgrade-sql-
server
Post-migration validation and optimization guide
https://docs.microsoft.com/sql/relational-databases/post-migration-validation-
and-optimization-guide
Azure Database Migration Guide
https://datamigration.microsoft.com
Q&A

More Related Content

What's hot

Oracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationOracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationMozammel Hoque
 
Upgrading to 11.1.2.4 and Other Technical Considerations
Upgrading to 11.1.2.4 and Other Technical ConsiderationsUpgrading to 11.1.2.4 and Other Technical Considerations
Upgrading to 11.1.2.4 and Other Technical Considerationsfinitsolutions
 
Aras Converter Framework Overview
Aras Converter Framework OverviewAras Converter Framework Overview
Aras Converter Framework OverviewProdeos
 
Microsoft Dynamics and Integration
Microsoft Dynamics and IntegrationMicrosoft Dynamics and Integration
Microsoft Dynamics and IntegrationCarolyn Crowe
 
Qmf for z os nordic db2 days andy
Qmf for z os nordic db2 days andyQmf for z os nordic db2 days andy
Qmf for z os nordic db2 days andyPeter Schouboe
 
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Biju Thomas
 
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPT
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPTCOLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPT
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPTPreet Kamal Singh
 
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of Integration
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of IntegrationFDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of Integration
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of IntegrationAlithya
 
How to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure GurusHow to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure Gurusnking821
 
Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1Amit Sharma
 
Testing SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HPTesting SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HPSAP Solution Extensions
 
Best Practices in Preparing for and Managing your EPM Infrastructure
Best Practices in Preparing for and Managing your EPM InfrastructureBest Practices in Preparing for and Managing your EPM Infrastructure
Best Practices in Preparing for and Managing your EPM InfrastructureAlithya
 
Hp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server ConsolidationHp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server ConsolidationCB UTBlog
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
Data Server Manager for DB2 for z/OS
Data Server Manager for DB2 for z/OS Data Server Manager for DB2 for z/OS
Data Server Manager for DB2 for z/OS Saghi Amirsoleymani
 
Sap fundamentals overview_for_sap_minors
Sap fundamentals overview_for_sap_minorsSap fundamentals overview_for_sap_minors
Sap fundamentals overview_for_sap_minorsCenk Ersoy
 

What's hot (19)

Oracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationOracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System Administration
 
Upgrading to 11.1.2.4 and Other Technical Considerations
Upgrading to 11.1.2.4 and Other Technical ConsiderationsUpgrading to 11.1.2.4 and Other Technical Considerations
Upgrading to 11.1.2.4 and Other Technical Considerations
 
Aras Converter Framework Overview
Aras Converter Framework OverviewAras Converter Framework Overview
Aras Converter Framework Overview
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
Microsoft Dynamics and Integration
Microsoft Dynamics and IntegrationMicrosoft Dynamics and Integration
Microsoft Dynamics and Integration
 
Qmf for z os nordic db2 days andy
Qmf for z os nordic db2 days andyQmf for z os nordic db2 days andy
Qmf for z os nordic db2 days andy
 
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
 
Sap system landscape best practice
Sap system landscape best practiceSap system landscape best practice
Sap system landscape best practice
 
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPT
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPTCOLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPT
COLLABORATE 16 Demystifying secrets of R12.2 upgrade_PPT
 
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of Integration
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of IntegrationFDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of Integration
FDM, ERPi, EPMA, DRM, EAL - Understanding the Alphabet Soup of Integration
 
How to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure GurusHow to Turn New Recruits Into Oracle EPM Infrastructure Gurus
How to Turn New Recruits Into Oracle EPM Infrastructure Gurus
 
Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1
 
Testing SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HPTesting SAP HANA applications with SAP LoadRunner by HP
Testing SAP HANA applications with SAP LoadRunner by HP
 
SAP BusinessObjects Security
SAP BusinessObjects SecuritySAP BusinessObjects Security
SAP BusinessObjects Security
 
Best Practices in Preparing for and Managing your EPM Infrastructure
Best Practices in Preparing for and Managing your EPM InfrastructureBest Practices in Preparing for and Managing your EPM Infrastructure
Best Practices in Preparing for and Managing your EPM Infrastructure
 
Hp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server ConsolidationHp Polyserve Database Utility For Sql Server Consolidation
Hp Polyserve Database Utility For Sql Server Consolidation
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
Data Server Manager for DB2 for z/OS
Data Server Manager for DB2 for z/OS Data Server Manager for DB2 for z/OS
Data Server Manager for DB2 for z/OS
 
Sap fundamentals overview_for_sap_minors
Sap fundamentals overview_for_sap_minorsSap fundamentals overview_for_sap_minors
Sap fundamentals overview_for_sap_minors
 

Similar to SQL Server Modernization

SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server ModernizationGianluca Hotz
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right WayJuan Fabian
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft Private Cloud
 
SQL Server End Of Support
SQL Server End Of SupportSQL Server End Of Support
SQL Server End Of SupportMariano Kovo
 
Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000ukdpe
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2Gianluca Hotz
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewGeorge Walters
 
Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT
 Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT
Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPTAmazon Web Services
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overviewmoin_azeem
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseDBmaestro - Database DevOps
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016Marcos Freccia
 
Modernizing sql server the right way
Modernizing sql server the right wayModernizing sql server the right way
Modernizing sql server the right wayMariano Kovo
 
C Cure Users Group Presentation Final 4
C Cure Users Group Presentation Final 4C Cure Users Group Presentation Final 4
C Cure Users Group Presentation Final 4halgig
 

Similar to SQL Server Modernization (20)

SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right Way
 
Microsoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations PresentationMicrosoft SQL Server - SQL Server Migrations Presentation
Microsoft SQL Server - SQL Server Migrations Presentation
 
SQL Server End Of Support
SQL Server End Of SupportSQL Server End Of Support
SQL Server End Of Support
 
Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000Saying goodbye to SQL Server 2000
Saying goodbye to SQL Server 2000
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overview
 
Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT
 Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT
Datavail Accelerates AWS Adoption for Sony DADC New Media Solutions PPT
 
Cooper Oracle 11g Overview
Cooper Oracle 11g OverviewCooper Oracle 11g Overview
Cooper Oracle 11g Overview
 
여기
여기여기
여기
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
SAP virtualization
SAP virtualizationSAP virtualization
SAP virtualization
 
Novidades do SQL Server 2016
Novidades do SQL Server 2016Novidades do SQL Server 2016
Novidades do SQL Server 2016
 
Raghu-UpdatedCV -2016
Raghu-UpdatedCV -2016Raghu-UpdatedCV -2016
Raghu-UpdatedCV -2016
 
Sql Azure
Sql AzureSql Azure
Sql Azure
 
Modernizing sql server the right way
Modernizing sql server the right wayModernizing sql server the right way
Modernizing sql server the right way
 
Vijaya_Lakshmi_Resume1
Vijaya_Lakshmi_Resume1Vijaya_Lakshmi_Resume1
Vijaya_Lakshmi_Resume1
 
Ashutosh_Resume
Ashutosh_Resume Ashutosh_Resume
Ashutosh_Resume
 
BestPractices_SoftwareChangeMgmt
BestPractices_SoftwareChangeMgmtBestPractices_SoftwareChangeMgmt
BestPractices_SoftwareChangeMgmt
 
C Cure Users Group Presentation Final 4
C Cure Users Group Presentation Final 4C Cure Users Group Presentation Final 4
C Cure Users Group Presentation Final 4
 

More from Gianluca Hotz

Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Gianluca Hotz
 
SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceGianluca Hotz
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingGianluca Hotz
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022Gianluca Hotz
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudGianluca Hotz
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSGianluca Hotz
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Gianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaGianluca Hotz
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSGianluca Hotz
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseGianluca Hotz
 

More from Gianluca Hotz (20)

Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)
 
SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query Processing
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database Ledger
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
SQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: SicurezzaSQL Server Back to Basics: Sicurezza
SQL Server Back to Basics: Sicurezza
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
SQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with PolybaseSQL Server Data Virtualization with Polybase
SQL Server Data Virtualization with Polybase
 

Recently uploaded

Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 

Recently uploaded (20)

Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 

SQL Server Modernization

  • 2.
  • 3. Who am I? Gianluca Hotz | @glhotz | ghotz@ugiss.org Independent Consultant, Founder and Mentor SolidQ 20+ years on SQL Server (from 4.21 in 1996) Database modeling and development, sizing and administration, upgrade and migration, performance tuning Interests Relational model, DBMS architecture, Security, High Availability and Disaster Recovery Community 20 years Microsoft MVP SQL Server (from 1998) Founder and President UGISS User Group Italiano SQL Server (PASS Chapter)
  • 4. Modernization? Low Complexity Version upgrades (e.g. 2008 R2 -> 2017) Edition upgrades/downgrades (e.g. Standard -> Enterprise) Medium Complexity Virtualization Consolidation Adding HA/DR High Complexity Re-Platforming (e.g. Oracle -> SQL Server or Azure SQL Database) Re-Architecting (e.g. SQL Server -> Azure SQL Datawarehouse or Data Lake)
  • 5. Holistic Approach Data Platform technologies Project types Hardware modernization and/or consolidation Virtualization (Private and Public Cloud) Software solution deployments SharePoint, Navision, CRM, … Infrastructure hardware, virtualization platforms, storage solutions, HA/DR & backup solutions… Application development Licensing
  • 6. SQL Server flavors On-Premises SQL Server (Database Engine, SSAS, SSRS, SSIS, DQS, MDS, MLS) Analytics Platform System (APS was SQL Server PDW) IaaS SQL Server (Database Engine, SSAS, SSRS, SSIS, DQS, MDS, MLS) PaaS Azure SQL Database, Azure SQL Data Warehouse Amazon RDS for SQL Server Richer Data Platform offering (e.g. Data Lake, Data Factory, etc.)
  • 7. Changing platform Can be easy Migrating databases to PaaS or containerized versions (but same RDBMS) or… Hard: converting databases to other RDBMSs data must be physically migrated (different types, different representations,…) database code must be converted (constraints, triggers, functions, procedures,…) Application code can be converted completely, to a new platform just adapted to run against the new RDBMS adapted to support multiple RDBMSs
  • 8. Different kind of projects Migration one time conversion solution switch-over at a certain point Porting side-by-side conversion & evolution no switch-over, current solutions remain
  • 9. Migration Projects Usually done by final customers (i.e. not ISVs) Driving factors cost reduction move away from vendor(s) solution obsolescence unreliability and/or supportability problems Application may be converted to a new platform may be adapted to run with new RDBMS
  • 10. Porting Projects Usually done by ISVs Driving factors get into new markets cost reduction for customers (TCO) more choice for customers become less dependent from vendor(s) Application may be ported to new platform happens rarely, means re-write or 2 codebases may be adapted to run with new RDBMS
  • 11. Different kind of Databases to migrate/port Simple schema all the logic is inside the application simple access methods (mostly by cursors) very limited use of SQL dialects database is used mostly for storage Complex schema much of the logic is inside the database heavy usage of SQL dialects database used as a rule and inference engine
  • 12. Origin of problems Sometimes porting issues arise from misusage of functionalities bad decoupling of application/database code too much row oriented code in the database low technical skills of coders/architects Never judge every application has it own story a lot of decisions may be compromises a lot of money was probably already invested
  • 13. Application portability Code in the RDBMS has been a best practice for years still a very good solution for both integrity scalability however… portability is an issue! different SQL dialects different type systems different engine features
  • 14. Changing Architecture Can be much more harder! More complex Low familiarity with non RBMS technologies Low familiarity with unstructured dta New implementation patterns ML & AI will stop to be buzzwords…
  • 15. Version Upgrades: motivations Compliancy (e.g. end of support and/or security) Better Performance New functionalities Winter is coming!
  • 16. Version Upgrades: barriers Licensing Costs Regressions risk Application changes costs Complexity Testing changes (application or certification processes) Planning for low downtime Lack of time/resources/competencies
  • 17. Edition upgrades/downgrades Upgrades Motivations similar to version upgrades Barriers similar to version upgrades Complexity usually lower because setup covers the scenario Downgrades Main motivation to save money Barriers similar to version upgrades Needs reinstallation, less impact for non production environment
  • 18. Hardest problems Factors that require application changes Breaking changes Discontinued functionalities Plan affecting changes may cause performance regressions New Cardinality Estimator Hotfixes New QP strategies/behavior (e.g. Intelligent Query Processing) Testing changes is hard! Complete Workload coverage Concurrent access
  • 19. Database Compatibility Level Sets behavior compatible with specified version of SQL Server Version Native Level Supported Levels SQL Server 2019 150 150, 140, 130, 120, 110, 100 SQL Server 2017 140 140, 130, 120, 110, 100 Azure SQL Database 130 140, 130, 120, 110, 100 SQL Server 2016 130 130, 120, 110, 100 SQL Server 2014 120 120, 110, 100 SQL Server 2012 110 110, 100, 90 SQL Server 2008 R2 100 100, 90, 80 SQL Server 2008 100 100, 90, 80 SQL Server 2005 90 90, 80 SQL Server 2000 80 80
  • 20. DB Compatibility Level based certification Target for a database compatibility level Stop certifying for any given platform (On-Premises, Cloud, PaaS/IaaS) Stop certifying for a named SQL Server version Microsoft Database Compatibility Level Protection Full functional protection (once assessment tools runs with no errors) Query Plan shape protection (on comparable hardware) Maintaining backward compatibility very important for SQL Server team…
  • 21. DB Compatibility Level certification benefits Simplified certification across platforms E.g. SQL Server On-Premises and Azure SQL Database Managed Instances Improved risk management Decoupling application upgrade from database support upgrade cycles Allow customers to upgrade/migrate to new/different versions Benefits from new features Without changing functionalities Not everything is gated by Database Compatibility levels e.g. Adaptive Joins: gated Auto-tuning, new Query memory gateways, leveraging NUMA architecture, Columnstore indexes: non-gated
  • 22. Functional Change Protection Breaking Changes Behavior changes resulting in different outcomes! Not all protected under Database Compatibility Protected changes examples Improved accuracy in compatibility level 130+ Conversion behavior setting LANGUAGE context info Conversion behavior parsing dates Non protected changes examples Column names changes in system objects
  • 23. Functional Change Protection & Trace Flags Sometimes functional changes are gated by Trace Flags Example: truncation error 8152 Gated by trace flag 460 Will be on by default in 2019 with Compatibility Level 150 https://blogs.msdn.microsoft.com/sql_server_team/string-or-binary-data- would-be-truncated-replacing-the-infamous-error-8152
  • 24. Discontinued functionalities Not protected by Compatibility Level! Removed from database engine Need to change queries using it Examples FASTFIRSTROW replaced by OPTION (FAST n) in SQL Server 2012 sp_dboption system stored procedure removed in SQL Server 2012
  • 25. Query Plan shape protection Plan-affecting changes Query Optimizer fixes (Trace Flag 4199) Changes to Cardinality Estimator These will very likely cause regressions! Especially Cardinality Estimator Many queries better performance, other worse Are you sure you understood how fixes works? What about fixes for incorrect result causing regressions?
  • 26. Query Optimizer Fixes with TF 4199 SQL Server 2016+ QO fixes from previous versions enabled by default under the latest level previously you had to enable them but you enabled also current version, post- RTM, fixes zero reported errors in support cases after changing the default Fully Documented https://support.microsoft.com/en- us/help/974006/sql-server-query- optimizer-hotfix-trace-flag-4199- servicing-model Compatibili ty Level TF 4199 QO changes from previous level QO changes for current version post-RTM 100-120 Off Disabled Disabled On Enabled Enabled 130 Off Enabled Disabled On Enabled Enabled 140 Off Enabled Disabled On Enabled Enabled
  • 27. Query Optimizer fixes further control SQL Server 2016+ database-level granularity ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON|OFF SQL Server 2016 SP1+ query-level granularity OPTION(USE HINT('ENABLE_QUERY_OPTIMIZER_HOTFIXES’))
  • 28. Cardinality Estimator problems Essential for query plan generation Was largely based on SQL Server 7.0 Redesigned in SQL Server 2014+ Ascending data estimation, correlation assumptions, join containment, fixed estimation values (e.g. MTVF) Will most probably cause regressions in performance!
  • 29. Controlling Cardinality Estimation SQL Server 2014 Bound to Database Compatibility Level 😬 Trace Flags (global, session and query levels) Trace flag 2312 reverts to CE version 70 Trace flag 9481 use CE version 120 SQL Server 2016+ database-level configuration ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = ON|OFF SQL Server 2016 SP1+ query-level configuration OPTION(USE HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION')) OPTION(USE HINT('FORCE_DEFAULT_CARDINALITY_ESTIMATION'))
  • 30. Query Optimizer Compatibility Level SQL Server 2017 CU10 introduces query-level granularity OPTION(USE HINT('QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n’)) Includes QO fixes enabled by default up to that level TF 4199 enabled globally will still enable all fixes https://blogs.msdn.microsoft.com/sql_server_team/developers-choice-hinting-query-execution-model
  • 31. Query Optimizer Hints SQL Server 2016 SP1+ Control QO behavior Mainly to replace trace flags USE HINT Trace Flag DB Option DISABLE_OPTIMIZED_NESTED_LOOP 2340 FORCE_LEGACY_CARDINALITY_ESTIMATION 9841 Yes ENABLE_QUERY_OPTIMIZER_HOTFIXES 4199 Yes DISABLE_PARAMETER_SNIFFING 4136 Yes ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMAT ES 4137 (Old CE) 9471 (New CE) DISABLE_OPTIMIZER_ROWGOAL 4138 ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS 4139 ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS 9476 (New CE) FORCE_DEFAULT_CARDINALITY_ESTIMATION 2312 QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n QUERY_PLAN_PROFILE https://blogs.msdn.microsoft.com/sql_server_team/developers-choice-use-hint-query-hints
  • 32. Microsoft recommended upgrade Plan Upgrade to latest SQL Server version and keeping source compatibility level Enable Query Store Create a baseline of the workload Move to latest compatibility level Quickly fix regressions by forcing last known good plan!
  • 33. Upgrade Strategies Side-by-side Allow OS Upgrade Easier testing Easier rollback strategy Less downtime In-Place No additional Hardware No data migration
  • 34. Side-by-side Upgrade Service Availability Synchronization Strategy Notes Log Shipping Cutover typically in minutes Replication Cutover potentially in seconds Backup/Restore From minutes to hours (depends on strategy e.g. usage of differential and/or log backups) Filesystem/SAN Copy Dependent on technology Database Mirroring/Availability Groups Cutover typically in seconds
  • 35. Upgrade process to minimize risks Functional & Performance tests Optimize Migrate schema, objects & data Remediate applications Discover Assess Convert Data Sync Cutover
  • 36. Discover Phase Which SQL Server versions do I have? Which Editions am I running? Which SQL Server components are installed? How many cores are on each server? How many databases are in each instance? What are the sizes of all my databases? What are the settings for each instance and database?
  • 37. Assessment Tools Microsoft Assessment and Planning (MAP) Toolkit SQL PowerDoc PowerShell Script gather data from WMI in XML Windows and SQL Server rich inventory in Excel Best Practices Reports in Excel Consolidates multiple server/instances Official https://github.com/kendalvandyke/sqlpowerdoc Newer https://github.com/bryan5989/SQLPowerDoc Quest Enterprise Reporter for SQL Server Based on previously free Discovery Wizard for SQL Server Part of a suite for compliancy covering several other products (e.g. AD)
  • 38. Microsoft Upgrade/Migration Tools Upgrade Advisor Data Migration Assistant (DMA) Data Experimentation Assistant (DEA) Data Migration Service (DMS) SQL Server Migration Assistant (SSMA) SQL Server Data Tools for Visual Studio (SSDT) SQL Server Management Studio (SSMS) “Export Data Tier Application” “Deploy Database to Microsoft Azure SQL Database” Wizard
  • 39. Upgrade Advisor Static Analysis Database Engine Analysis Services Reporting Services Integration Services Dynamic Analysis Trace Files Obsolete! Use only if source database non supported You can still find it in SQL Server Feature Packs (2014 latest)
  • 40. Data Migration Assistant On-premises instances assessment Blocking issues Partially supported or unsupported features Discover issues that may affect compatibility Breaking Changes, Behavior Changes, Deprecated Features Discover new features that may benefit after upgrading Performance, security, Storage Azure SQL Database SKU Recommendations Performance counters analysis to suggest SKU Azure SQL Database Performs the migration
  • 41. Versions supported by DMA Source SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Server 2017 on Windows Destination SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Server 2017 on Windows and Linux Azure SQL Database Azure SQL Database Managed Instance
  • 42. Bulk Analysis Repository instances/databases to assess in SQL/CSV Automation with PowerShell Import in reporting database Reports with PowerBI
  • 43. DMA Problems Cannot save sessions! Only Assessment data in JSON format Azure SQL Database SKU Recommendations Command Line Interface only Currently not working… Bulk Analysis Cumbersome process Errors dmaDataCollector crashes with pubs, dmacmd.exe is a closed project LoadWarehouse.sql needs to be fixed
  • 44. Data Migration Assistant Resources Docs https://docs.microsoft.com/en-us/sql/dma/dma-overview https://docs.microsoft.com/en-us/sql/dma/dma- consolidatereports Blog https://blogs.msdn.microsoft.com/datamigration/tag/dma https://blogs.msdn.microsoft.com/datamigration/tag/data- migration-assistant
  • 45. Database Experimentation Assistant A/B testing solution for SQL Server Workload comparison e.g. upgrades, new indexes, etc. Capture SQL Trace Extended Events (V2.6+) Replay DReplay integration Analysis Performance improvements and regressions
  • 47. Versions supported by DEA Source SQL Server 2005+ Target SQL Server 2005+ Analysis SQL Server 2008+
  • 48. Data Migration Service Resources Docs https://docs.microsoft.com/en-us/sql/dea/database- experimentation-assistant-overview Blog https://blogs.msdn.microsoft.com/datamigration/tag/dea
  • 49. Azure Database Migration Service On-premises SQL Server 2005 - 2017 Assessment SSMA & DMA Azure Database Migration Service My
  • 50. DMS Migration Scenarios SQL Server -> Azure SQL Database Offline SQL Server -> Azure SQL Database Online SQL Server -> Azure SQL Database Managed Instance Offline SQL Server -> Azure SQL Database Managed Instance Online MySQL -> Azure DB for MySQL Online PostgreSQL -> Azure DB for PostgreSQL Online
  • 51. Data Migration Service Resources Docs https://docs.microsoft.com/en-us/azure/dms/dms-overview https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure- sql Blog https://blogs.msdn.microsoft.com/datamigration/tag/azure-database- migration-service https://blogs.msdn.microsoft.com/datamigration/tag/dms
  • 52. SQL Server Migration Assistant Migration effort assessment Code conversion Data migration Testing Deployment
  • 53. Platforms supported by SSMA Source Microsoft Access DB2 MySQL Oracle SAP ASE (Sybase ASE) Destination SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Server 2017 on Windows and Linux SQL Server 2019 on Windows and Linux Azure SQL Database Azure SQL Database Managed Instance Azure SQL Data Warehouse (Oracle only)
  • 54. SSMA for Oracle: how it works (101) Creates two “helper” databases sysdb ssmatesterdb Stores metadata in the file system data stored in xml compressed format can rename to .gzip and uncompress it shred xml into lot of files for caching reports directory can be safely deleted and re-generated metadata reside in the original .mb files
  • 55. SSMA for Oracle: sysdb helper database Provides code infrastructure to emulate features system functions schema features (e.g. sequences) engine features (e.g. autonomous transactions) session bound data storage emulated metadata storage (e.g. packages) Maintenance protect metadata performance related depends on workload
  • 56. SSMA for Oracle: does it really work? Yes, but don’t expect miracles! Works well with simple schemas… Usually won’t do all the work by itself Very useful for assessing efforts assessing problems doing prototypes as a learning tool to translate/emulate some functionalities
  • 57. Testing Nothing can replace good testing! Hard to have tests with good coverage of the whole workload Sometimes is more cost effective to run fewer tests and fix the problems later… SQL Server DReplay infrastructure Often impossible to capture and replay even a fraction of the workload
  • 58. Workload Tools Very good for side-by-side, real-time workload replay Captures XE batch completed and replay commands on-the-fly Captures execution telemetry (cpu, read, writes, duration) Reports to find regressions Developed by a well-known MVP ☺ https://github.com/spaghettidba/WorkloadTools
  • 59. DBA Tools Lot of PowerShell cmdlets to make the DBA life easier Many cmdlets target specifically migration/upgrade scenarios E.g copy logins with synch option One stop cmdlet migrating an All instance-level assets (e.g. credentials, linked servers, etc. ) Via backup/restore automation (just specify network share) https://dbatools.io
  • 61. After the upgrade: remember the plan Upgrade to latest SQL Server version and keeping source compatibility level Enable Query Store Create a baseline of the workload Move to latest compatibility level Quickly fix regressions by forcing last known good plan!
  • 62. Automatic Tuning Automatic plan correction Automatically force last good plan when regression detected Minimum 10 CPU seconds improvement sys.dm_db_tuning_recommendations for manual corrections SQL Server 2017 and Azure SQL Database https://docs.microsoft.com/en-us/sql/relational-databases/automatic-tuning/automatic-tuning
  • 63. Query Tuning Assistant Well-defined workflow targeting patterns for query regressions Independence vs. Correlation Simple Containment vs. Base Containment Multi-statement table-valued function (MSTVF) fixed cardinality guess SQL Server Management Studio Wizard-Based Tool Can be automated via PowerShell
  • 64. Query Tuning Assistant plan Upgrade to latest SQL Server version and keeping source compatibilit y level Enable Query Store Create a baseline of the workload Move to latest compatibilit y level (or any target level to test) Collect workload with new level and start comparing with baseline Instead of only forcing last known good plan, experiment with tuning recommend ation actions https://docs.microsoft.com/en-us/sql/relational-databases/performance/upgrade-dbcompat-using-qta
  • 65. Modernization Stream Phases in a SQL Project Partner Collect Inspire Assess Define Inventory Envision Scope Modernize Detail Setup Test Execute Support Tune Mentor
  • 66. Assessment phase Define • Finalize assessment’s scope • Finalize questionnaires to be sent to project representatives • Activities kick-off Inventory • Detailed inventory of Windows Server & SQL Servers • Static analysis of databases & SQL code • Project representatives interviews (questionnaires) Envision • Consolidate & analyze inventory data • Review configuration, performance, reliability and security best practices • Prepare modernization scenarios and macro action-plan Scope • Discuss deliverables and scenarios with customer • Finalize modernization scenarios • Prepare next phases offering (Modernize & Support)
  • 67. Assessment phase: reducing uncertainty Better planning/flexibility Size better understood results in reduced expectations and scope Allows to run several Modernization phases at different times Leaves the customer with something tangible Detailed assets inventory Performance/Security/Reliability automatic assessment Static analysis of databases code Possibility to rescope/change scenarios Enough data to independently run the project
  • 68. On-Premises to Azure PaaS/IaaS migrations IaaS SQL Server on Azure VMs SQL Server on Azure Containers SQL Server on Azure Kubernetes PaaS Azure SQL Database Azure SQL Database Managed Instance
  • 69. On-Premises to SQL Server PaaS migrations
  • 70. Subnet used for MI On-Premise to Managed Instance online workflow Subnet used for DMS On-Premise Cloud network SQL DB Managed Instance Azure Blob Storage SMB Network Share
  • 71. Other on-premises to PaaS strategies Method 1 Method 2 Method 3 Target DB Azure SQL Database SQL Server SSMS 2. Import 1. DeployOR .bacpac 1. Export Source DB Target DB Azure SQL Database SQL Server SQL Azure Migration Wizard 2. Execute 1. Generate T-SQL Source DB Target DB Azure SQL Database SQL Server SSMS 6. Export/ Import or Deploy Data Migratio n Assistant 4. Copy Copy DB Source DB 5. Publish 1. Import Visual Studio Database Project 2. Transform 3. Edit, Build & Test *.sql 4. Publish (schema only) Compatible database: manual copy or deploy wizard in SSMS Database almost compatible: SQL Azure Migration Wizard DMA and SSMS Refactor with Visual Studio and Data Migration Assistant, final deploy with SSMS
  • 72. Migration with minimal downtime Transactional Replication
  • 73. Data Migration Resources Blog https://blogs.msdn.microsoft.com/datamigration Upgrade SQL Server https://docs.microsoft.com/sql/database-engine/install-windows/upgrade-sql- server Post-migration validation and optimization guide https://docs.microsoft.com/sql/relational-databases/post-migration-validation- and-optimization-guide Azure Database Migration Guide https://datamigration.microsoft.com
  • 74. Q&A