Lecciones aprendidas SQL Server AlwaryOn

Preview:

Citation preview

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

Recommended