SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Always On y Grupos de Disponibilidad
SQL Server 2012
LUÍS J. MORÁN
REL300006
DPA - Relacional
lmoran@solidq.com
RUBÉN GARRIGÓS
Mentor - Relacional
rgarrigos@solidq.com
 Conocer los Grupos de Disponibilidad
 Identificar los elementos que conforman un grupo
 Crear un Grupo de Disponibilidad
 Realizar Backups en un Grupo de Disponibilidad
 Enrutamiento
 Funcionamiento de los Failovers
Objetivos de la sesión
 AlwaysOn Availability Groups
 Evolución de las tecnologías actuales
 Database Mirroring
 Síncrono/asíncrono
 Failover Clustering
 Nombre virtual
 Log Shipping
 Múltiples secundarios
SQL Server 2012 AlwaysOn
 No sustituye (por ahora) a Database Mirroring
 Necesita Windows Clustering por debajo
 Windows Server Enterprise Edition (>32 GB)
 Las máquinas deben pertenecer al mismo dominio
 Compresión y encriptación de serie
 No se han introducido mejoras en Database Mirroring
 Es probable que deje de soportarse en futuras versiones
Database Mirroring
 Ofrecer alta disponibilidad y recuperación ante desastres
manteniendo réplicas de las bases de datos
 Maximizar la utilización de los servidores
 Réplicas secundarias activas (solo lectura)
 Múltiples réplicas secundarias (4 max)
 Síncronas (2 max) y asíncronas
AlwaysOn Availability Groups
Múltiples réplicas secundarias
 Un grupo es un contenedor
 Bases de datos lógicamente relacionadas
 Máximo recomendado: 100 bases de datos
 Bases de datos r/w, multiuser y full recovery model
 Número máximo recomendado de grupos por instancia: 10 grupos
 Una réplica es una copia de un grupo
 Primaria (única)
 Secundarias (de 1 a 4)
 Definimos el comportamiento como secundario en cada réplica
 NONE  Sin acceso, solo para HA/DR
 READ_ONLY  Requiere ApplicationIntent = ReadOnly
 ALL  Todas las conexiones se aceptan
AlwaysOn Availability Groups & Availability Replicas
 Sobre instancias clusterizadas o no clusterizadas
 Dado un grupo de disponibilidad normalmente cada
réplica debe estar en una instancia distinta
 Colisión nombres bases de datos, ficheros, etc.
 Si es posible en instancias clusterizadas
 Es viable también con máquinas virtuales en el mismo host
 Las réplicas no sustituyen a las instancias clusterizadas
 Bases de datos de sistema independientes
 Seguridad, jobs, configuración, servidores enlazados…
Availability Replicas
 Similar al Network Name en SQL Server clustering
 Necesario utilizar el protocolo TCP para conectar
 Server=tcp:MiServidor;Database=db1;IntegratedSecurity=SSPI
 Redirección en función del valor de ApplicationIntent
 ReadWrite  Réplica principal (por defecto)
 ReadOnly  A una de las réplicas read-only disponibles
Availability Listeners
Availability Group Dashboard
DEMO
Creación de un Grupo de Disponibilidad /
Agregar un nodo a un Grupo de Disponibilidad
Usos de réplicas secundarias
Database Recovery Advisory
 Servidor informes en tiempo real
 Alternativas
 Logshipping
 Mirroring + Snapshots
 Replicación transaccional
 Réplicas solo lectura
 Versionado de filas: Snapshot isolation level automático
 14 bytes extra por fila para punteros  Page splits y espacio
extra
 Las estadísticas automáticas se crean en tempdb al no poderse
crear en la réplica
 Dimensionar tempdb acorde para soportar esta carga extra
Usos de réplicas secundarias
 Enrutamiento de solo lectura
 Redirige las peticiones de solo lectura a otro nodo del grupo para
liberar de trabajo al nodo primario
 Se configura mediante T-SQL
 Hay que indicar:
 Endpoints de conexión
 Orden deseado en las instancias de enrutamiento
Usos de réplicas secundarias
 Reparación automática de errores
 suspect_pages + sys.dm_hadr_auto_page_repair
 CHECKDB
 Se puede ejecutar en el secundario sin snapshot
 Puede darnos algún error por el thread REDO  Snapshot
Usos de réplicas secundarias
DEMO
Backups & Enrutamiento en Grupos de Disponibilidad
 Más rápida que Clustering “clásico”, similar a DB Mirroring
 El tiempo total depende del tiempo de detección del fallo
 Red  Casi instantáneo
 Servidor “colgado”  ~10 segundos  sp_server_diagnostics 
HEALTH_CHECK_TIMEOUT
 Tipos de failover
 Automático  En caso de fallo a réplicas síncronas en estado OK
 Manual  Por mantenimiento y a réplicas síncronas en estado OK
 Forzado  Solo para casos de desastre
Failover de Availability Groups
 Pasos durante el failover automático
 Si el servidor aún responde, desconectamos a todos los clientes
 Movemos el listener al secundario
 El secundario aplica los cambios en el log pendientes
 El secundario se promueve a principal y se hace rollback de las
posibles transacciones no confirmadas
 Puede interesar configurar los votos de cada nodo en el
cluster y no depender tanto del número de nodos físicos
 KB 2494036: http://support.microsoft.com/kb/2494036/en-us
Failover de Availability Groups
 Nivel de fallo para el failover automático flexible
 ALTER AVAILABILITY GROUP group_name SET
FAILURE_CONDITION_LEVEL =
 1  El servicio SQL Server está caído
 2  HEALTH_CHECK_TIMEOUT expirado (por defecto)
 3  Errores críticos: dumps, spinlocks huérfanos, etc.
 4  Errores graves: out of memory
 5  Errores moderados: deadlocks irresolubles, workers agotados
Failover de Availability Groups
 sys.availability_databases_cluster
 sys.availability_group_listener_ip_addresses
 sys.availability_group_listeners
 sys.availability_groups
 sys.availability_groups_cluster
 sys.availability_read_only_routing_lists
 sys.availability_replicas
 sys.dm_tcp_listener_states
DMVs para AlwaysOn Availability Groups, Listeners,
Replicas, Cluster…
 sys.dm_hadr_auto_page_repair
 sys.dm_hadr_availability_group_states
 sys.dm_hadr_availability_replica_cluster_nodes
 sys.dm_hadr_availability_replica_cluster_states
 sys.dm_hadr_availability_replica_states
 sys.dm_hadr_cluster
 sys.dm_hadr_cluster_members
 sys.dm_hadr_cluster_networks
 sys.dm_hadr_database_replica_cluster_states
 sys.dm_hadr_database_replica_states
 sys.dm_hadr_instance_node_map
 sys.dm_hadr_name_id_map
DMVs para AlwaysOn Availability Groups, Listeners,
Replicas, Cluster…
DEMO
FailOvers
Duración de las consultas (ms)
Duración de las consultas (ms)
Duración de las consultas (ms)
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
ésta es tu oportunidad.
http://summit.solidq.com/madrid/
Síguenos:

Mais conteúdo relacionado

Mais procurados

Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerSpanishPASSVC
 
Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...SpanishPASSVC
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Eduardo Castro
 
Cluster sql server
Cluster sql serverCluster sql server
Cluster sql serverorellana_22
 
Sql server cluster
Sql server clusterSql server cluster
Sql server clusterjo_unwell
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasSpanishPASSVC
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeEduardo Castro
 
Cluster en sql server 2008
Cluster en sql server 2008Cluster en sql server 2008
Cluster en sql server 2008orellana_22
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
Windows Server 2012 web and application platform
Windows Server 2012 web and application platformWindows Server 2012 web and application platform
Windows Server 2012 web and application platformMarc Rubiño
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IOSpanishPASSVC
 
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...Alta disponibilidad y recuperación ante desastres para sql server en máquinas...
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...SpanishPASSVC
 
Virtualizar con microsoft hyper v - por qué ahora parte1
Virtualizar con microsoft hyper v - por qué ahora parte1Virtualizar con microsoft hyper v - por qué ahora parte1
Virtualizar con microsoft hyper v - por qué ahora parte1Pablo Campos
 
Windows Server2008 R2 Overview
Windows Server2008 R2 OverviewWindows Server2008 R2 Overview
Windows Server2008 R2 OverviewPablo Campos
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2netmind
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxEduardo Castro
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012SolidQ
 
Windows server 2012 r2 acelerando la continuidad de negocio 2014
Windows server 2012 r2   acelerando la continuidad de negocio 2014Windows server 2012 r2   acelerando la continuidad de negocio 2014
Windows server 2012 r2 acelerando la continuidad de negocio 2014Jorge de la Cruz
 

Mais procurados (20)

Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
 
Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...Configuración y casos de uso para AlwaysON availability groups readable secon...
Configuración y casos de uso para AlwaysON availability groups readable secon...
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
 
Cluster sql server
Cluster sql serverCluster sql server
Cluster sql server
 
Sql server cluster
Sql server clusterSql server cluster
Sql server cluster
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Cluster en sql server 2008
Cluster en sql server 2008Cluster en sql server 2008
Cluster en sql server 2008
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Windows Server 2012 web and application platform
Windows Server 2012 web and application platformWindows Server 2012 web and application platform
Windows Server 2012 web and application platform
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...Alta disponibilidad y recuperación ante desastres para sql server en máquinas...
Alta disponibilidad y recuperación ante desastres para sql server en máquinas...
 
Virtualizar con microsoft hyper v - por qué ahora parte1
Virtualizar con microsoft hyper v - por qué ahora parte1Virtualizar con microsoft hyper v - por qué ahora parte1
Virtualizar con microsoft hyper v - por qué ahora parte1
 
Windows Server2008 R2 Overview
Windows Server2008 R2 OverviewWindows Server2008 R2 Overview
Windows Server2008 R2 Overview
 
Lo nuevo en XenServer 5.6
Lo nuevo en XenServer 5.6Lo nuevo en XenServer 5.6
Lo nuevo en XenServer 5.6
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
 
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
Virtualizar o no virtualizar, esa es la cuestión | SolidQ Summit 2012
 
Windows server 2012 r2 acelerando la continuidad de negocio 2014
Windows server 2012 r2   acelerando la continuidad de negocio 2014Windows server 2012 r2   acelerando la continuidad de negocio 2014
Windows server 2012 r2 acelerando la continuidad de negocio 2014
 

Semelhante a Always On y grupos de disponibilidad SQL Server 2012

Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pedvin_marcelo
 
Hyper v ha t echnet latam
Hyper v ha t echnet latamHyper v ha t echnet latam
Hyper v ha t echnet latamPablo Campos
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Alexander Calderón
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresqljockbrera
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Mysql Latinoamérica
 
Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Erik Gur
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nubeJuan Pablo
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnEnrique Catala Bañuls
 
Maximizando la disponibilidad de las aplicaciones de mision critica
Maximizando la disponibilidad de las aplicaciones de mision criticaMaximizando la disponibilidad de las aplicaciones de mision critica
Maximizando la disponibilidad de las aplicaciones de mision criticaMaximiliano Marin
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCJuan Pablo
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSAmazon Web Services LATAM
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresqlesmeraldaq2011
 

Semelhante a Always On y grupos de disponibilidad SQL Server 2012 (20)

Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_p
 
Hyper v ha t echnet latam
Hyper v ha t echnet latamHyper v ha t echnet latam
Hyper v ha t echnet latam
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 
Replicacion Postgresql
Replicacion PostgresqlReplicacion Postgresql
Replicacion Postgresql
 
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013Software Líbre con respaldo de Oracle ~ OTN Tour 2013
Software Líbre con respaldo de Oracle ~ OTN Tour 2013
 
Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013Software Open Source – Open Day Oracle 2013
Software Open Source – Open Day Oracle 2013
 
Servicios de datos en la nube
Servicios de datos en la nubeServicios de datos en la nube
Servicios de datos en la nube
 
Guia de estudio_oracle 11 g
Guia de estudio_oracle 11 gGuia de estudio_oracle 11 g
Guia de estudio_oracle 11 g
 
Guia de-estudio-oracle-11-g-pdf
Guia de-estudio-oracle-11-g-pdfGuia de-estudio-oracle-11-g-pdf
Guia de-estudio-oracle-11-g-pdf
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOn
 
Base de datos
Base de datosBase de datos
Base de datos
 
Maximizando la disponibilidad de las aplicaciones de mision critica
Maximizando la disponibilidad de las aplicaciones de mision criticaMaximizando la disponibilidad de las aplicaciones de mision critica
Maximizando la disponibilidad de las aplicaciones de mision critica
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
 
Base de datos CBTis 75
Base de datos CBTis 75Base de datos CBTis 75
Base de datos CBTis 75
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWS
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Tipos de bases de datos
Tipos de bases de datosTipos de bases de datos
Tipos de bases de datos
 
Cuadros comparativos
Cuadros comparativosCuadros comparativos
Cuadros comparativos
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 

Mais de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Mais de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Always On y grupos de disponibilidad SQL Server 2012

  • 1. Always On y Grupos de Disponibilidad SQL Server 2012 LUÍS J. MORÁN REL300006 DPA - Relacional lmoran@solidq.com RUBÉN GARRIGÓS Mentor - Relacional rgarrigos@solidq.com
  • 2.  Conocer los Grupos de Disponibilidad  Identificar los elementos que conforman un grupo  Crear un Grupo de Disponibilidad  Realizar Backups en un Grupo de Disponibilidad  Enrutamiento  Funcionamiento de los Failovers Objetivos de la sesión
  • 3.  AlwaysOn Availability Groups  Evolución de las tecnologías actuales  Database Mirroring  Síncrono/asíncrono  Failover Clustering  Nombre virtual  Log Shipping  Múltiples secundarios SQL Server 2012 AlwaysOn
  • 4.  No sustituye (por ahora) a Database Mirroring  Necesita Windows Clustering por debajo  Windows Server Enterprise Edition (>32 GB)  Las máquinas deben pertenecer al mismo dominio  Compresión y encriptación de serie  No se han introducido mejoras en Database Mirroring  Es probable que deje de soportarse en futuras versiones Database Mirroring
  • 5.  Ofrecer alta disponibilidad y recuperación ante desastres manteniendo réplicas de las bases de datos  Maximizar la utilización de los servidores  Réplicas secundarias activas (solo lectura)  Múltiples réplicas secundarias (4 max)  Síncronas (2 max) y asíncronas AlwaysOn Availability Groups
  • 7.  Un grupo es un contenedor  Bases de datos lógicamente relacionadas  Máximo recomendado: 100 bases de datos  Bases de datos r/w, multiuser y full recovery model  Número máximo recomendado de grupos por instancia: 10 grupos  Una réplica es una copia de un grupo  Primaria (única)  Secundarias (de 1 a 4)  Definimos el comportamiento como secundario en cada réplica  NONE  Sin acceso, solo para HA/DR  READ_ONLY  Requiere ApplicationIntent = ReadOnly  ALL  Todas las conexiones se aceptan AlwaysOn Availability Groups & Availability Replicas
  • 8.  Sobre instancias clusterizadas o no clusterizadas  Dado un grupo de disponibilidad normalmente cada réplica debe estar en una instancia distinta  Colisión nombres bases de datos, ficheros, etc.  Si es posible en instancias clusterizadas  Es viable también con máquinas virtuales en el mismo host  Las réplicas no sustituyen a las instancias clusterizadas  Bases de datos de sistema independientes  Seguridad, jobs, configuración, servidores enlazados… Availability Replicas
  • 9.  Similar al Network Name en SQL Server clustering  Necesario utilizar el protocolo TCP para conectar  Server=tcp:MiServidor;Database=db1;IntegratedSecurity=SSPI  Redirección en función del valor de ApplicationIntent  ReadWrite  Réplica principal (por defecto)  ReadOnly  A una de las réplicas read-only disponibles Availability Listeners
  • 11. DEMO Creación de un Grupo de Disponibilidad / Agregar un nodo a un Grupo de Disponibilidad
  • 12. Usos de réplicas secundarias
  • 14.  Servidor informes en tiempo real  Alternativas  Logshipping  Mirroring + Snapshots  Replicación transaccional  Réplicas solo lectura  Versionado de filas: Snapshot isolation level automático  14 bytes extra por fila para punteros  Page splits y espacio extra  Las estadísticas automáticas se crean en tempdb al no poderse crear en la réplica  Dimensionar tempdb acorde para soportar esta carga extra Usos de réplicas secundarias
  • 15.  Enrutamiento de solo lectura  Redirige las peticiones de solo lectura a otro nodo del grupo para liberar de trabajo al nodo primario  Se configura mediante T-SQL  Hay que indicar:  Endpoints de conexión  Orden deseado en las instancias de enrutamiento Usos de réplicas secundarias
  • 16.  Reparación automática de errores  suspect_pages + sys.dm_hadr_auto_page_repair  CHECKDB  Se puede ejecutar en el secundario sin snapshot  Puede darnos algún error por el thread REDO  Snapshot Usos de réplicas secundarias
  • 17. DEMO Backups & Enrutamiento en Grupos de Disponibilidad
  • 18.  Más rápida que Clustering “clásico”, similar a DB Mirroring  El tiempo total depende del tiempo de detección del fallo  Red  Casi instantáneo  Servidor “colgado”  ~10 segundos  sp_server_diagnostics  HEALTH_CHECK_TIMEOUT  Tipos de failover  Automático  En caso de fallo a réplicas síncronas en estado OK  Manual  Por mantenimiento y a réplicas síncronas en estado OK  Forzado  Solo para casos de desastre Failover de Availability Groups
  • 19.  Pasos durante el failover automático  Si el servidor aún responde, desconectamos a todos los clientes  Movemos el listener al secundario  El secundario aplica los cambios en el log pendientes  El secundario se promueve a principal y se hace rollback de las posibles transacciones no confirmadas  Puede interesar configurar los votos de cada nodo en el cluster y no depender tanto del número de nodos físicos  KB 2494036: http://support.microsoft.com/kb/2494036/en-us Failover de Availability Groups
  • 20.  Nivel de fallo para el failover automático flexible  ALTER AVAILABILITY GROUP group_name SET FAILURE_CONDITION_LEVEL =  1  El servicio SQL Server está caído  2  HEALTH_CHECK_TIMEOUT expirado (por defecto)  3  Errores críticos: dumps, spinlocks huérfanos, etc.  4  Errores graves: out of memory  5  Errores moderados: deadlocks irresolubles, workers agotados Failover de Availability Groups
  • 21.  sys.availability_databases_cluster  sys.availability_group_listener_ip_addresses  sys.availability_group_listeners  sys.availability_groups  sys.availability_groups_cluster  sys.availability_read_only_routing_lists  sys.availability_replicas  sys.dm_tcp_listener_states DMVs para AlwaysOn Availability Groups, Listeners, Replicas, Cluster…
  • 22.  sys.dm_hadr_auto_page_repair  sys.dm_hadr_availability_group_states  sys.dm_hadr_availability_replica_cluster_nodes  sys.dm_hadr_availability_replica_cluster_states  sys.dm_hadr_availability_replica_states  sys.dm_hadr_cluster  sys.dm_hadr_cluster_members  sys.dm_hadr_cluster_networks  sys.dm_hadr_database_replica_cluster_states  sys.dm_hadr_database_replica_states  sys.dm_hadr_instance_node_map  sys.dm_hadr_name_id_map DMVs para AlwaysOn Availability Groups, Listeners, Replicas, Cluster…
  • 24. Duración de las consultas (ms)
  • 25. Duración de las consultas (ms)
  • 26. Duración de las consultas (ms)
  • 27. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/ Síguenos: