migración a sql server 2016
TRANSCRIPT
#SQSummit
Migración a SQL Server 2016
Enrique Catalá Bañuls
Mentor
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
SQL Server 2016 “It just run faster”
• Solo por migrar, mejora de rendimiento apreciable
• La primera vez que MS lo promueve oficialmente
“SQL Server 2016 running on the same hardware as SQL Server 2014, 2012, 2008, 2008 R2 or 2005 uses fewer resources and executes a wide range of workloads faster. I have studied code check-ins and tested the improvements seeing the scalability improvement first hand and running SQL Server 2016 for internal SQL Support needs since Mar 2015 because of the improved features and scalability.”
– Bob Dorr, Principle Engineer SQL Server Support
SQL Server 2016 “It just run faster”
DBCC escala7x mejor
Native Spatial (2000x)
Automatic tempdb conf
Best .ldfexpansion
performance
Automatic Soft NUMA
Scheduling algorithm
actualizado
Indirect checkpoints por defecto
Multiple log writer
workers
Column Store soporta
SSE/AVX HW
BULK INSERT usa SSE/AVX
HW
AlwaysOn log transport mejorado
AlwaysON parallel
compression
In-Memory optimized DB worker pool
On demand MSDTC startup
Xevent LinqReader
NCCI updatable
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
Tipos de actualización
• In-place y side-by-side
• OnPremise to OnPremise
• Pero también
OnPremise
Azure IaaSAzure PaaS
Proceso de actualización in-place
8
La instancia
pasa a estar
disponible
Aquí comienza la
disponibilidad
parcial
Punto de no
retornoInstancia
todavía
disponible
La instancia
ya no está
disponible
Instalar
prerequisitos
Comprobar
blockers de
actualización
Instalar los
binarios de
SQL Server
2008 R2
Parar el
servicio
Redirigir
servicios a
nuevos
binarios
Iniciar
servicio en
modo
usuario
unico
Adjuntar bd
de recursos
Parar el
servicio
Reiniciar el
servicio
Iniciar
actualización
de todas las
BDs
Ejecución de
scripts de
migración de
SQL Agent y
Replicación
Desinstalar
binarios
“viejos”
Proceso de migración side-by-side
Comparar
y verificar
SQL Server 2012
Instancia: Foo
SQL Server 2016
Instancia : Bar
Comprobado!
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
Escenarios soportados
Solo X64 IA64, x86
WS2012+Solo X64
SQL2008+SQL2005 ya no se puede migrardirecto
Replicación heterogénea• Versión publicador <= versión distribuidor
• Versión subscriptor between:• -2 versión publicador
• Versión publicador
Escenarios soportados
Replicación heterogénea
DBreplica1
SQL Subscriber1SQL2008R2
SQL Subscriber2SQL2012
SQLSubscriberSQL2016
DBreplica2 DBreplica3
SQL PublisherSQL2008R2
Transactional replication SYNC
SQL DistributorSQL2012
DistributionTU BBDD
PUSH/PULL
SQLSubscriber SQL2014
DBreplica3
Nodos secundarios replicación Capa de base de datos,
suscriptores de SQL1 SQL Standard Edition Pueden ser desde SQL2008R2
hasta 2016 debido al publicador
Nodo publicador Instancia SQL1 que contiene los datos
maestros a replicar mediante replicación transaccional
Es 2008 para que se puedan tener subscriptores desde 2008R2
Nodo publicador Tiene que ser mayor o igual a publicador Para poder usar SQL2016 tiene que ser
como mínimo 2012
DBreplica1
SQL Subscriber1SQL2012
SQL Subscriber2SQL2014
SQLSubscriberSQL2016
DBreplica2 DBreplica3
SQL PublisherSQL2012
Transactional replication SYNC
SQL DistributorSQL2012
Distribution
TU BBDD
PUSH/PULL
Nodos secundarios replicación Capa de base de datos,
suscriptores de SQL1 SQL Standard Edition Pueden ser desde SQL2012 hasta
2016 debido al publicador
Nodo publicador Instancia SQL1 que contiene los datos
maestros a replicar mediante replicación transaccional
Es 2012, por lo que no podemos tener subscriptores anteriores
Nodo publicador Tiene que ser mayor o igual a publicador Para poder usar SQL2016 tiene que ser
como mínimo 2012
Replicación heterogénea
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
Características discontinuadas
• Compatibility level 90 SQL Server 2014
• Se permitemigrar con modo 90
SQL Server 2016
• Necesitasmigrarantes a 100
Replicación
• SQL2008R2 NO SOPORTADO
DTS
• SSUA niescanea
• CUIDADO CON DTS embebido
• Otras características destacables
Características deprecadas y final support
SET ROWCOUNT
Usa TOP
BACKUP … WITH
PASSWORD
Sin workaround
Cmpt_level100
Mínimo 110
Encryption RC4 o
RC4_128
Usa AES
Remote Servers
Linked Servers
ResultSets de triggers
Sin workaround
Final Support
ANSI_NULLS, ANSI_PADDI
NG OFF
Siempre ON
timestamp
Usarowversion
Text, ntext, image
Varchar,nvarchar y
varbinary(max)
Sp_attach_db
CREATE DATABASE
FOR ATTACH
DBREINDEX, INDEXDEFRAG
ALTER INDEX
Database Mirroring
AlwaysON
GRANT, DENY y
REVOKE ALL
Hacerloespecíficame
nte
NOLOCK
Sin workaround
Deprecadas
Breaking changes
sys.dm_io_virtual_file_stats
•Columna sample_ms pasade int a bigint
MD2, MD4, MD5, SHA, or SHA1
•No recomendado su uso
•Solo válido con modo de compatibilidad < 130
REPLICACIÓN
•Subscriptores SQL2012+
•Si tienes anterioresCUIDADO!
En SQL Server 2014 no hubo ninguno, en SQL Server 2016:
SQL Server Upgrade Advisor
Rediseñocompleto
• Multitarea
• Multihilo
Instalaciónindependiente
• No vienecon la ISO
Novedades en análisis
• In-memory
• Stretch database
• AnálisisAzure
• Realiza la migración
Grandes carencias
• Sin soporte profiler ni XEvents
• Todavía en RC
SQL Server Upgrade Advisor
Demo
Probar el nuevo SSUA
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
Tareas pre-migraciónCuidado, SSMA no cubre todos los escenarios
No te olvides openrowset, linked server, código dinámico…
Ratios de trabajo
Recurso Horas %Tiempo
SolidQ 841,96 58%
ClienteX 603,83 42%
Recurso Horas %Tiempo
SolidQ 841,96 58%
Desarrollo ClienteX1 496 34%
Infraestructura
ClienteX97,83
7%
Dirección ClienteX 10 1%
Recurso Horas %Tiempo
Desarrollo ClienteX1 381 26%
SolidQ DPA 346,03 24%
SolidQ Mentor 335,93 23%
SolidQ DPE 160 11%
Infraestructura
ClienteX97,83
7%
Desarrollo ClienteX3 63 4%
Desarrollo ClienteX2 43 3%
Dirección ClienteX 10 1%
Desarrollo ClienteX 9,37 1%
Migracion Duración(jornadas) %duration
Mediciones inicio proyecto 70 60,78%
Pruebas 38,56 33,48%
Solución de problemas 4 3,47%
Migración 1,3 1,13%
Preparacion entorno servidor (Dia D -1) 0,64 0,56%
Migración efectiva (Dia D) 0,41 0,36%
Migración de aplicaciones 0,25 0,22%
TOTAL 115,16
Demo
Project Migración tipo
Pánico!!! Migración a SQL 2014+
TPC-C SQL Server 2012 TPC-C SQL Server 2016
Demo
Pánico en migración a SQL Server 2016
Test de estrés
Minuto AVGMAX
AVG2MAX2
451624,528802 2194,034666
82,1553196995,13892289
461936,319018
2879,2979895,62455852
99,42307696
471870,446072
2733,4077997,66567275
100
481717,19154 2486,401791
96,6711498499,9023509
491744,939078 2395,207878
95,2408540898,90873864
501719,669011 3119,186734
96,0138184498,92578881
Grand Total1768,84892 3119,186734
93,89522889100
Batch Requests/sec
% Processor Time
Tareas post-migración
•QueryStore
•Row level security
•Dynamic datamasking
•Backup to Azure
•Buffer Pool Extension
•Data/Backup Compression
•Transparent Data Encryption
•Resource Governor
•Incremental statistics
•Mejoras en seguridad
•Stretch database
•Partitioning
•AlwaysOn
•Transact-SQL enhancements
•Proyectos de BBDD
•Semantic search
•Operational Analytics
•In-memory+OnDisk+Columnar
•Polybase
•Always Encrypted
•JSON
•Temporal tables
•Spatial Support
•Filestream Support
•Hierarchy Id Support
•CDC,Change Tracking
Cambios significantesen aplicación,
operacionales o de desarrollo
Cambiosmoderados
Cambios
menores
Consejos: Sé precavido
• Piensa en planes de “vuelta atrás”
• Anota benchmarks antes de la actualización• Funcional, rendimiento, Stress
• Tiempo necesario para la actualización• Ninguna de las herramientas de actualización
muestra “tiempo restante…” • Realiza pruebas de actualización
• Identifica problemas de compatibilidad hacia atrás
Consejos: Sé precavido
• Captura actividad que cubra el uso de tu sistema• Trazas de SQL Profiler
• Monitor de rendimiento
• Si es posible Team System para preparar carga de la aplicación actual
• Procesos no tan habituales: fin de mes, cierre de ejercicio
Contenido de la sesión
• ¿Interesa migrar?
• Tipos de actualización
• Escenarios soportados
• Características discontinuadas y deprecadas
• Cómo enfrentarnos a migraciones
También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.
¡Gracias!