lecciones aprendidas sql server alwaryon
TRANSCRIPT
AlwaysOn Lecciones Aprendidas16 de Marzo 2016 (12 pm GMT -5)
Julian CastiblancoResumen:Compartir con la audiencia algunas de mis lecciones aprendidas en la implementación de AlwaysOn
Está por comenzar:
Moderador: Kenneth Ureña
Próximos EventosIntroducción a Polybase en
SQL Server 201623 de MarzoEladio Rincón
Real-time Operational Analytic en SQL Server 2016
30 de MarzoJose Luis Rivera
Examinando una consulta problematica con XEvents y
DMVs06 de Abril
Warner Chaves
Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
3
4
Oportunidades de Voluntariado
PASS no pudiera existir sin personas apasionadas y dedicadas de todas partes del
mundo que dan de su tiempo como voluntarios.
Se un voluntario ahora!!
Para identificar oportunidades locales visita volunteer.sqlpass.org
Recuerda actualizar tu perfil en las secciones de “MyVolunteering” y MyPASS para mas
detalles.
Sigan Participando!• Obtén tu membresía gratuita en sqlpass.org
• Linked In: http://www.sqlpass.org/linkedin• Facebook: http://www.sqlpass.org/facebook• Twitter: @SQLPASS• PASS: http://www.sqlpass.org
AlwaysOn Lecciones Aprendidas
16 de Marzo de 2016
Julián CastiblancoMCSE SQL Server Data PlatformMicrosoft Data Platform MVP
Moderador: Kenneth Ureña
7
Agenda
• Conceptos básicos• AlwaysOn• Consideraciones
Conceptos Básicos
http://amzn.to/1ValtU7http://bit.ly/1M5VFqg
Alta Disponibilidad
Conceptos Básicos
http://bit.ly/1RkUpvrhttp://bit.ly/1UenpeMhttp://bit.ly/1UenMWz
Recuperación de Desastres
Conceptos BásicosRTO y RPO
Punto de Recuperación Objetivo: Es el punto del tiempo en el cual la data puede restaurarse después del fallo, o en otros términos la cantidad de datos que pueden perderse. Ejemplo, perdí las factura de la última hora de trabajo y debo reingresarlas al sistema.
Tiempo de Recuperación Objetivo: Es el tiempo que toma volver a dejar operacional un sistema, después de un fallo planeado o improvisto. En otras palabras la cantidad de tiempo que la compañía puede permanecerá sin tener operable el sistema
Conceptos Básicos
http://bit.ly/1R0bThg
Conceptos Básicos
http://bit.ly/1Rk3vPc
FULL
Estrategias de Alta Disponibilidad y Recuperación de Desastres
FULLDIFF
LOGLOGLOGLOG
Estrategia de generación de copias de seguridad programadas, con periodicidad semanal, diaria y horaria.
PROS• Permite ajustar el PRO (punto de recuperación
objetivo)• Relativamente fácil de implementar.• Económico en términos de licenciamiento.
CONTRAS• El tiempo de Recuperación puede ser muy alto.• Es una estratégia de RD más que de AD, por lo
cual si se daña el servidor no es mucho lo que se pueda hacer.
• Requiere tener un buen espacio de almacenamiento para mantener las copias en VLDB’s
Conceptos Básicos
http://bit.ly/1Vb4elz
Estrategias de Alta Disponibilidad y Recuperación de Desastres
DB
db db
Estrategia de “log Shipping”, una base principal genera copias, las mueve a los demás servidores y los restaura en estos automáticamente a través de SQL Agent Service.
PROS• Permite ajustar el PRO (punto de recuperación
objetivo)• Relativamente fácil de implementar.• Permite lecturas en las copias secundarias, si la
base está en stand by.
CONTRAS• El tiempo de Recuperación puede ser muy alto.• Requiere modificar la aplicación para re
direccionar la base de datos.• En tarea de mantenimiento de índices o de datos,
pueden llegar a encolarse las copias pendientes por restaurar.
Primary DB
copiacopia
Conceptos Básicos
http://bit.ly/1Vb4elz
Estrategias de Alta Disponibilidad y Recuperación de Desastres
Estrategia de “log Shipping”, con monitor. Un server se encarga de validar que tanto el primario, como los secundarios no sufran contratiempos en la actualización de información y emite alertas en caso de presentarse algo anormal.
Conceptos Básicos
http://bit.ly/1YYk4Qw
Estrategias de Alta Disponibilidad y Recuperación de Desastres
DB
db db
Estrategia de “Replicación”, se tiene una base de distribución la cual se encarga de proveer las transacciones que van registrándose en la base publicadora.
PROS• Permite lecturas en las bases secundarias.• Aumenta el costo de licenciamiento.• Permite filtrar los objetos que serán replicados.• Puede personalizar grupos de índices en las
diferentes replicas (@Kenneth)
CONTRAS• Requiere modificar la aplicación para re
direccionar la base de datos.
OTROS• Existe más de un tipo de replicación, pero el más
utilizado para alta disponibilidad es la replicación transaccional.
Primary DBPublicador
SuscriptorSuscriptor
Distribuidor DB
Conceptos Básicos
http://bit.ly/1pKtqn4
Estrategias de Alta Disponibilidad y Recuperación de DesastresEstrategia de “Database mirroring” realiza una copia de log transaccional entre una base primaria y una espejo.
El testigo permite validar que la sincronización de las bases está funcionando correctamente.
PROS• Permite sincronización en tiempo
real o cerca del tiempo real.• La aplicación puede redireccionar
hacia el nuevo servidor de db automáticamente.
CONTRAS• Cuando requiere más de una base
las consultas debe asegurarse que todas estén replicando.
• Tecnología que va de salida.
AlwaysOn
http://bit.ly/1UeY3gV
FCI
Estrategia de “AlwaysOn Failover Cluster Instance”.
Es una de las estrategias de alta disponibilidad más utilizadas. A diferencia con versiones anteriores del producto desde SS2012 es posible tener la tempdb de manera local en cada nodo, políticas de fallo flexible y multisite clustering.
DB
NODO 1Datacenter BOG
NODO 2Datacenter BOG
DB
NODO 1Datacenter BOG
NODO 2Datacenter MED
DB
REPLICACION A NIVEL DE
ALMACENAMIENTO (SAN)
AlwaysOnFCI
isAlive: ejecuta Select @@servernameLooksAlive: valida que el servicio esté en ejecuciónNo valida la salud de una base en particular.
AlwaysOn
ALWAYSON AVAILABILIT
YGROUPS
FAILOVER CLUSTER INSTANC
E
WINDOWS SERVER FAILOVER CLUSTERING
(WSFC)
Database Mirroring, no puede garantizar que ambas bases estén de primarias en el mismo servidor
AlwaysOn
ALWAYSON AVAILABILIT
YGROUPS
FAILOVER CLUSTER INSTANC
E
WINDOWS SERVER FAILOVER CLUSTERING
(WSFC)
Un grupo de disponibilidad garantiza que todas las bases relacionadas siempre estén en el mismo nodo.
Grupos de disponibilidad
21
AlwaysOnGrupos de disponibilidad
SQL Server 2016 hasta 3 nodos con automatic failover, hasta 8 réplicas incluyendo réplicas hacia nodos enAzure
22
AlwaysOnGrupos de disponibilidad
AlwaysOnArquitecturas viables
Primary Data Center Disaster Recovery Data Center
SQL ServerPrimary
SQL ServerSecondary
Windows Server Failover Cluster (single WSFC crossing two data centers)
Availability Group
SQL Server
Secondary
Synchronous
Asynchronous
Additional Server for Node Majority Quorum Model
AlwaysOnArquitecturas viables
Primary Data CenterDisaster Recovery
Data Center
SQL ServerPrimary
SQL ServerSecondary
Windows Server Failover Cluster (single WSFC crossing two data centers)
Availability Group
SQL Server
Secondary
Synchronous
Asynchronous
File Share
AlwaysOnArquitecturas viables
http://msdn.microsoft.com/library/hh923056.aspx
AlwaysOn
Data Center Principal
SQLDCPO4Repl Syn Auto /SAN 2
SQLDCPO3Primary Repl.
SAN 1
SRDCP 01/02SQLDCP
Repl. Syn/ SAN 1 Data Center RecuperaciónDe desastres
SRVDCR 01/02SQLDCR
Repl. Asyn / SAN 3
WSFC CLUPRINCIPAL
Granja ServidoresDe Aplicación WEB
SUCURSALES
SQLAG1: DBNEGOCIO1, DBNEGOCIO2SQLAG2: DBMONITOREO, DBRRHH….
Clientes Internos
Equipo de DBA’s
Consideraciones Adicionales – Manejo de múltiples FCI dentro de un mismo AG
AlwaysOnConsideraciones Adicionales – Implementación sobre Azure Resource Manager
Virtual Network - iHA
Microsoft Azure - Suscripción Clientes
WebAPP01-A4
Balanceador APP
Controlador de dominio
Availability Set - APP
Resource group - HA
Storage Standard-LRS
Balanceador Listener AG
Availability Set -Base de datos
DB02-DS12
DB1
DB2
DB2
DB1
DB01-DS12
AlwaysOn Availability
GroupUser
28
AlwaysOnConsideraciones Adicionales – Manejo de multiples FCI dentro de un mismo AG
En los Roles del WSFC debe configurarse solo los nodos que corresponden a cada FCI
29
AlwaysOnConsideraciones Adicionales – Manejo de multiples FCI dentro de un mismo AG
Debe modificarse el dueño de los discos para que solo sean accedidos por los nodos de cada FCI o de cada nodo stand alone según sea el caso.
30
AlwaysOnConsideraciones Adicionales – Manejo de los Jobs de base de datos
Muchas bases de negocio tienen implementados procesos de batch y/o depuración a través de Jobs, con AG esto se torna complicado porque todas las instancias están iniciadas pero solo una tiene la base de producción activa.
31
AlwaysOnConsideraciones Adicionales – Manejo de los Jobs de base de datos
32
AlwaysOnConsideraciones Adicionales – Creación de SQL Server AlwaysOn en Azure
http://bit.ly/1S46ic8
33
AlwaysOnConsideraciones Adicionales – Creación Balanceador para el Listener en Azure RM
# Provide the IP address for the Listener or Load Balancer$ILBIP = '10.0.0.102' $vnet = Get-AzureRMVirtualNetwork -ResourceGroupName $ResourceGroupName|Get-AzureRMVirtualNetworkSubnetConfig –name $subnetname $FEConfig = New-AzureRMLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $vnet.Id $BackendConfig = New-AzureRMLoadBalancerBackendAddressPoolConfig -Name $BackendConfiguratioName #create the ILBNew-AzureRMLoadBalancer -Name $LoadBalancerName -ResourceGroupName $ResourceGroupName -Location $Location -FrontendIpConfiguration $FEConfig -BackendAddressPool $BackendConfig$healthProbe = New-AzureRmLoadBalancerProbeConfig -Name "Probe" -Protocol tcp -Port 1433 -IntervalInSeconds 5 -ProbeCount 2
34
AlwaysOnNuevo en 2016
SQL Server 2016 agrega un balanceador de cargar round-robin, para agregar uno o más grupos de lectura al balanceo
35
Referencias y Recomendaciones• http://www.amazon.com/Server-2012-Alwayson-Joes-Pros/dp/1939666236• http://
download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26-FEF9550EFD44/Building%20a%20High%20Availability%20and%20Disaster%20Recovery%20Solution%20using%20AlwaysOn%20Availability%20Groups.docx
• http://download.microsoft.com/download/d/2/0/d20e1c5f-72ea-4505-9f26-fef9550efd44/microsoft%20sql%20server%20alwayson%20solutions%20guide%20for%20high%20availability%20and%20disaster%20recovery.docx
• https://www.youtube.com/watch?v=ed-h7JhEwUo canal de Eduardo Castro• https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-sql-se
rver-alwayson-availability-groups-gui-arm/ AG en Azure RM
• http://msdn.microsoft.com/library/hh923056.aspx AG con 2 FCI
Introducción a Polybase en SQL Server 201623 de Marzo (12 pm GMT -5)
Eladio RincónResumen:
SQL Server 2016 da la posibilidad de gestionar datos no estructurados desde el motor relacional. En esta sesión verá cómo utilizar dicha integración para gestionar desde un motor relacional (SQL Server) datos no estructurados.
Próximo Evento