SlideShare una empresa de Scribd logo
1 de 56
SQL Server 2016
Query Store
Bienvenida
• Ing. Eduardo Castro, PhD
• MVP de Microsoft SQL Server
• PASS Regional de Mentor
• PASS Board of Directors
• ecastro@simsasys.com
• http://www.youtube.com/eduardocastrom
Material de Referencia
SQL 2016 – What’s New? David Cobb
SQL Server Evolution. Lindsey Allen
The SQL Server 2016 Query Store: Overview and Architecture. Enrico
van de Laar
Agenda
4
• Información general y de Query Store
Arquitecture
• Query Store Reporting
• Acceso a la información de consulta Store a
través de DMV
• Forzar planes de ejecución utilizando el Query
Store
• Analizar el rendimiento de Query Store
Cuando el rendimiento no es bueno ...
Base de datos
no funciona
Web site
está caído
Imposible de
predecir/Cual
es la causa?
Problema
desempeño
temporal Regresión
causada por
nueva versión
Actualizació
n de DB
Con Query Storese puede ...
Buscar y corregir
las regresiones del
plan
Identificar los
principales
consumidores de
recursos
Reducir riesgo
actualización de
SQL Server
Profundamente
analizar los
patrones de carga
de trabajo
el Query Store
7
• El Query Store es una característica que nos
puede ayudar a solucionar problemas de
rendimiento de las consultas, captura de
información de ejecución de la consulta, tales
como el número de ejecuciones o la duración
promedio de una consulta.
• El Query Store también se captura cada plan de
ejecución que se ha generado para una consulta
específica y se puede entonces decidir qué plan
de ejecución desea que SQL Server utilice para
esa consulta específica.
Los usos más comunes para el Query Store
8
• Encontrar y corregir rápidamente una regresión
desempeño de los planes forzando el plan de
consulta previo.
• Forzar las consultas que recientemente han
retrocedido en el rendimiento debido a cambios
en el plan de ejecución.
• Determinar el número de veces que una
consulta se ejecuta en una ventana de tiempo
dado, ayuda a un DBA en problemas de
recursos de rendimiento y en la resolución de
problemas.
Los usos más comunes para el Query Store
9
• Identificar las principales n consultas (por el
tiempo de ejecución, el consumo de memoria,
etc.) en los últimos x horas.
• Auditar la historia de los planes de ejecución
para una consulta determinada.
• Analizar los recursos (CPU, E/S y la memoria) los
patrones de uso de una base de datos en
particular.
Los usos más comunes para el Query Store
10
• A pesar de que ya es posible para nosotros realizar
muchas de las mismas acciones que hace el Query
Store en las versiones anteriores de SQL Server
• La captura de los contadores de rendimiento
específicos de tiempo de ejecución de consulta o
forzar planes de ejecución es una tarea compleja y
especializada.
• El Query Store hace que estas acciones mucho más
fácil de usar y disponible a todo el mundo sin
necesidad de volver a escribir cualquier pregunta.
Ventajas del Query Store
11
• El Query Store se integra directamente en SQL
Server, esto significa que puede capturar la
información de tiempo de ejecución de consulta
directamente en el nivel de la fuente
• Sin el Query Store con frecuencia dependemos del
caché del plan, lugar donde se almacenan los
planes de ejecución en memoria, cuando es
necesario analizar los planes de ejecución de la
consulta.
• Sin embargo, si se reinicia SQL Server, todos los
planes de ejecución serán removidos de la caché y
se ven obligados a empezar de nuevo.
Ventajas de el Query Store
12
• El Query Store, en cambio, almacena la
información que captura en el disco, lo que
significa que un reinicio de SQL Server no afecta
a ninguna información que ha sido capturado
en el Query Store
• El Query Store se puede habilitar en una base
de datos individual
• Una gran cantidad de información está
disponible directamente a través de reportes de
consulta integrados
Query Store Arquitectura
13
Query StoreArquitectura
14
• El Query Store consiste en realidad dos “stores",
• El Plan Store y el Runtime Stats Store.
• Estos “stores” son objetos en memoria que
contienen información de la consulta.
Query Store Arquitectura
15
• Cuando una consulta se ejecuta en una base de
datos que tiene habilitada el Query Store, el plan de
la consulta compilado se escribe en el Query Store
Plan y la información de tiempo de ejecución de la
consulta se guarda en el Runtime Stats Store.
• Esta información se almacena inicialmente en
memoria. Después de un intervalo específico la
información escribe en el disco de forma asíncrona
para guardar la información.
• El Query Store escribe los planes de ejecución y las
estadísticas de tiempo de ejecución en Primary
Filegroup de la base de datos que ejecútó la
consulta.
Query Store Arquitectura
dieciséis
• Al guardar los planes de ejecución y las estadísticas
de tiempo de ejecución en el disco, la información
dentro de el Query Store no se pierde cada vez que
se produce un reinicio de SQL Server.
• Esto es más valioso que el análisis de los planes de
ejecución dentro del caché, ya que el caché del plan
estará vacía de nuevo cada vez que se reinicie SQL
Server.
• Lo mismo ocurre con la sys.dm_exec_query_stats
DMV, que se utiliza con frecuencia para analizar la
información de tiempo de ejecución de la consulta.
Este DMV también se restablecerá después de un
reinicio de SQL Server.
Query Store Flush
17
• Por defecto se guarda a disco con intervalo que
se establece en 15 minutos, esto provoca una
sobrecarga de rendimiento promedio de 3-5%
cuando se ha activado el Query Store.
• Cuanto menor sea el intervalo, mayor será el
impacto en el rendimiento
• Nuevos planes de ejecución que son capturados
por primera vez por el Query Store se guardan
en disco de forma más rápida que planes de
ejecución que ya existen dentro de el Query
Store
Impacto del Query Store
18
• Existe una Table Defined Function (TDF) que
toma datos todavía en la memoria y también
información que ya fue persistida en disco
• TDF (QUERY_STORE_RUNTIME_STATS_IN_MEM)
toma los datos de la memoria y un Clustered
Index Scan en el plan_persist_runtime_stats que
toma los datos desde el disco
Impacto del Query Store
19
Habilitar Query Store
20
• ALTER DATABASE SET AdventureWorks2012
QUERY_STORE = ON;
Opciones de Query Store
21
Examinando las opciones del Query Store
22
• " Operation Mode (Actual)” no se puede
cambiar, ya que sólo indica el modo actual deñ
Query Store. El valor puede ser Off, Read Write
or Read.
• Cuando el Query Store tiene un modo de Read
no se guardan nuevos planes de ejecución o las
estadísticas de tiempo de ejecución de la
consulta.
Examinando las opciones del Query Store
23
• El " Data Flush Interval (Minutes)” le permite establecer el
intervalo de la rapidez que se guarda la información
• Los Execution Plans y los Query Runtime Statistics se están
guardando de la memoria en el disco. Por defecto esta
opción se establece en 15 minutos.
• Cambiar el intervalo en un valor más bajo significa que la
información de Query Store dentro de la memoria de SQL
Server se escribe en el disco más rápido, esto puede tener un
impacto negativo en el rendimiento de la Instancia.
• Establecer el valor en un intervalo más alto significa que el
memory flush es menor, pero también significa más
información del Query Store que reside en la memoria se
perderán cuando si se produce un reinicio de SQL Server.
Examinando las opciones del Query Store
24
• “Statistics Collection Interval" le permite configurar un
nuevo intervalo.
• Éste le permite configurar el nivel de granularidad de las
estadísticas de tiempo de ejecución. Por defecto se
establece en 1 hora.
• Básicamente esto significa que se establece el intervalo
de agregación de las estadísticas de tiempo de
ejecución de consulta dentro de el Query Store.
• Cuanto menor sea el valor de esta opción más fina es la
granularidad de las estadísticas de tiempo de ejecución,
pero esto también significa que más intervalos se
producen y se requiere por lo tanto más espacio para
almacenar las estadísticas de consulta de tiempo de
ejecución en el disco.
Examinando las opciones del Query Store
25
• El " Max Size (MB)” le permite configurar el tamaño
máximo de el Query Store.
• Por defecto, este valor se establece en 100 MB. Una
cosa importante a tener en cuenta es que los datos
dentro de el Query Store se almacena dentro de la
Primary File Group de la base de datos que tiene
habilitada el Query Store.
• Cambiar la opción por un valor más alto le permitirá
almacenar más datos del Query Store pero también
significa que su base de datos crecerá.
• Cada vez que el Query Store llega al tamaño máximo
configurado por esta opción el modo de operación
cambiará automáticamente a sólo lectura y no se
recolectarán nuevos datos.
Examinando las opciones del Query Store
26
• La opción " Query Store Capture Mode" permite filtrar
las consultas con los tiempos de ejecución muy bajo.
• Por defecto, la opción se establece en “All” lo que
significa cada consulta ejecutada en contra de la base
de datos se registra en el Query Store.
• Al establecer la opción en “Auto” el Query Store filtrará
consultas insignificantes.
• Qué consultas se filtran está determinada por un
proceso interno y no tenemos ninguna influencia sobre
ella. El coste final de esta opción es Ninguno cual
significa que no hay nuevos planes de ejecución o las
estadísticas de tiempo de ejecución de consulta son
capturados.
Examinando las opciones del Query Store
27
• " Size Based Cleanup Mode " se puede
configurar para que automáticamente el Query
Store limpie los datos una vez que alcanza el
90% del tamaño máximo de Query Store
• La limpieza eliminará los datos de consulta más
antigua y menos costosa y se detiene la
limpieza en el 80% del “Max Size (MB)” .
• Por defecto esta opción está desactivada. Si se
establece en Auto permitirá a la limpieza
automática.
Examinando las opciones del Query Store
28
• "Stale Query Threshold (Days)” establece cómo
los datos de consulta es retenida dentro de el
Query Store.
• Por defecto, la configuración se establece en
367 días. El valor de esta opción debe reflejar
sus necesidades de análisis históricos.
• Si no necesita almacenar información de
consulta por 376 días, pero por un período de
tiempo más corto se puede bajar esta opción
por lo que no está perdiendo espacio dentro de
el Query Store.
Query Store opciones por TSQL
29
GUI Option T-SQL Option
Operation Mode (Requested) OPERATION_MODE
Data Flush Interval (Minutes) DATA_FLUSH_INTERVAL_SECONDS
Statistics Collection Interval INTERVAL_LENGHT_MINUTES
Max Size (MB) MAX_STORAGE_SIZE_MB
Query Store Capture Mode QUERY_CAPTURE_MODE
Size Based Cleanup Mode SIZE_BASED_CLEANUP_MODE
Stale Query Threshold (Days) CLEANUP_POLICY (STALE_QUERY_THRESHOLD_DAYS)
MAX_PLANS_PER_QUERY
Query Store opciones por TSQL
30
• ALTER DATABASE [db_name]SET
QUERY_STORE ( [Query Store options] );
• ALTER DATABASE AdventureWorksSET
QUERY_STORE ( MAX_STORAGE_SIZE_MB =
250 );
Query Store opciones por TSQL
31
ALTER DATABASE AdventureWorks
SET QUERY_STORE
(
MAX_STORAGE_SIZE_MB = 250,
SIZE_BASED_CLEANUP_MODE = AUTO,
CLEANUP_POLICY =
(STALE_QUERY_THRESHOLD_DAYS = 30)
);
-- Purge Query Data
ALTER DATABASE [db_name] SET QUERY_STORE
CLEAR;
Query Store
Query Store Built-in Reporting
33
Query Store Built-in Reporting
34
• Regressed Queries. Una 'consulta ha retrocedido' si
recibió un plan de ejecución peor al que tenía antes.
• Este reporte muestra todas las consultas que han
tenido su plan de ejecución retrocedido en el
tiempo.
• Overall Resource Consumption. Muestra un
resumen de las estadísticas de tiempo de ejecución
de las consultas durante un intervalo de tiempo
específico. Todas las estadísticas de las consultas
que se han ejecutado dentro del intervalo de
tiempo específico se agregan para dar una visión
general del rendimiento de la consulta.
Built-in Query Storede reportes
35
• Top Resource Consuming Queries. Muestra las
consultas más caros (sobre la base de criterios
de selección personalizados) que se ejecutaron
durante un intervalo de tiempo específico.
• Tracked Queries. Muestra las estadísticas de
tiempo de ejecución para la ejecución de la
consulta, y le permite inspeccionar los diversos
planes de ejecución de una consulta específica.
Regressed Queries Report
36
Regressed Queries Report
37
Informe de consumo de recursos en general
38
DMV Query Store
39
• Nuevos DMV que se introdujeron en SQL Server
2016 para soportar el Query Store
Sys.database_query_store_options
Sys.query_store_query
Sys.query_store_query_text
Sys.query_context_settings
Sys.query_store_plan
Sys.query_store_runtime_stats
Sys.query_store_runtime_stats_interval
DMV Query Store
40
• El DMV sys.query_store_query se registra a nivel
de la instrucción SQL.
-- Empty the Query Store
ALTER DATABASE AdventureWorks SET QUERY_STORE CLEAR;
-- Statement 1
SELECT TOP 100 *
FROM Person.Address;
-- Statement 2
SELECT TOP 100 *
FROM Sales.SalesOrderDetail;
DMV Query Store
41
-- Query sys.query_store_query
SELECT
query_id,
qt.query_sql_text AS 'Statement Text',
[text] AS 'Query Batch Text'
FROM sys.query_store_query q
CROSS APPLY
sys.dm_exec_sql_text(last_compile_batch_sql_handle)
INNER JOIN sys.query_store_query_text qt
ON q.query_text_id = qt.query_text_id;
DMV Query Store
42
• context_settings_id
Este número enlaza el sys.query_store_query DMV
para el sys.query_context_settings
• sys.query_context_settings
Registra información sobre el contexto en el que
se ejecuta la consulta
• last_compile_batch_sql_handle
Devuelve el query text handle de la consulta SQL
Sys.query_store_query_text
43
• sys.query_store_query_text
Devuelve el texto de consulta de la instrucción
SQL
Sys.query_context_settings
44
• sys.query_context_settings
devuelve la configuración de contexto bajo el
cual se ejecuta la instrucción SQL.
Sys.query_context_settings
45
SELECT
qsq.query_id,
qsqt.query_sql_text,
qs.plan_handle
FROM sys.query_store_query qsq
INNER JOIN sys.dm_exec_query_stats qs
ON qsq.last_compile_batch_sql_handle = qs.sql_handle
INNER JOIN sys.query_store_query_text qsqt
ON qsq.query_text_id = qsqt.query_text_id
ORDER BY qsq.query_id
Sys.query_store_plan
46
• sys.query_store_plan
almacena información sobre los planes de
ejecución que está relacionado con las
consultas que son capturados dentro de el
Query Store.
• Devuelve información, tales como la versión de
motor utilizaqdo, el nivel de compatibilidad y si
el plan era trivial.
Sys.query_store_plan
47
SELECT
plan_id,
query_id,
CAST(query_plan AS XML) AS 'Execution Plan'
FROM sys.query_store_plan;
Sys.query_store_runtime_stats
48
• Dentro de sys.query_store_runtime_stats , las
métricas de rendimiento de las consultas son
capturados y agregados
Top 10 consultas más caros basados ​​en
tiempo de ejecución promedio
49
SELECT TOP 10
qt.query_sql_text,
CAST(query_plan AS XML) AS 'Execution Plan',
rs.avg_duration
FROM sys.query_store_plan qp
INNER JOIN sys.query_store_query q
ON qp.query_id = q.query_id
INNER JOIN sys.query_store_query_text qt
ON q.query_text_id = qt.query_text_id
INNER JOIN sys.query_store_runtime_stats rs
ON qp.plan_id = rs.plan_id
ORDER BY rs.avg_duration DESC;
Consultar planes paralelos
50
SELECT
qt.query_sql_text,
CAST(query_plan AS XML) AS 'Execution Plan',
rs.avg_duration
FROM sys.query_store_plan qp
INNER JOIN sys.query_store_query q
ON qp.query_id = q.query_id
INNER JOIN sys.query_store_query_text qt
ON q.query_text_id = qt.query_text_id
INNER JOIN sys.query_store_runtime_stats rs
ON qp.plan_id = rs.plan_id
WHERE rs.last_dop > 1;
Regresión de planes
51
• Plan de regresión ocurre cuando el optimizador
de consultas de SQL Server compila un nuevo
plan de ejecución para una consulta que ejecuta
(mucho) peor que el anterior plan de ejecución
para esa misma consulta.
• Hay muchas razones por las que el optimizador
de consultas piensa que se necesita un nuevo
plan. Algunos ejemplos incluyen un cambio en
el número de filas dentro de una tabla, una
adición o eliminación de un índice o un cambio
en el esquema de la tabla
Regresión de planes
52
• Plan de ejecución con id 113 ejecuta mucho
peor, en función de su duración, que el plan con
id 114
Forzado de Plan
53
Plan Forcing en SQL 2016
55
• EXEC sp_query_store_force_plan 136, 146;
Demostración
Query Store
56
SQL Server 2016
Query Store

Más contenido relacionado

La actualidad más candente

Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.pptssuserb52d9e
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xSophia Galarraga
 
Conceptualizacion sistema operativo
Conceptualizacion sistema operativoConceptualizacion sistema operativo
Conceptualizacion sistema operativoMaria Garcia
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Gestión de archivos en Mac OS
Gestión de archivos en Mac OSGestión de archivos en Mac OS
Gestión de archivos en Mac OSRafael Bolivar
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memóriasElaine Cecília Gatto
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasRafael D Martinez
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresEduardo de Lucena Falcão
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Políticas de grupos GPO
Políticas de grupos GPOPolíticas de grupos GPO
Políticas de grupos GPOAntonio Ortega
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Faculdade Mater Christi
 

La actualidad más candente (20)

Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
spiceworks
spiceworksspiceworks
spiceworks
 
Estructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+xEstructura+del+sistema+mac+os+x
Estructura+del+sistema+mac+os+x
 
Conceptualizacion sistema operativo
Conceptualizacion sistema operativoConceptualizacion sistema operativo
Conceptualizacion sistema operativo
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Memória Interna (AOC)
Memória Interna (AOC)Memória Interna (AOC)
Memória Interna (AOC)
 
Microprocessadores
MicroprocessadoresMicroprocessadores
Microprocessadores
 
Diseño de Redes y Comunicación de Datos
Diseño de Redes y Comunicación de DatosDiseño de Redes y Comunicación de Datos
Diseño de Redes y Comunicación de Datos
 
Gestión de archivos en Mac OS
Gestión de archivos en Mac OSGestión de archivos en Mac OS
Gestión de archivos en Mac OS
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
Tipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemasTipos de arquitecturas de sistemas
Tipos de arquitecturas de sistemas
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Políticas de grupos GPO
Políticas de grupos GPOPolíticas de grupos GPO
Políticas de grupos GPO
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
 

Destacado

Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Eduardo Castro
 
Consideraciones de sql server hardware
Consideraciones de sql server hardwareConsideraciones de sql server hardware
Consideraciones de sql server hardwareEduardo Castro
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query ProcessorEduardo Castro
 
Que hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesQue hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesEduardo Castro
 
Consideraciones de discos sql server hardware
Consideraciones de discos sql server hardwareConsideraciones de discos sql server hardware
Consideraciones de discos sql server hardwareEduardo Castro
 
Servicios cognitivos y su integración
Servicios cognitivos y su integraciónServicios cognitivos y su integración
Servicios cognitivos y su integraciónEduardo Castro
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareEduardo Castro
 
Introduccion a Big Data stack
Introduccion a Big Data stackIntroduccion a Big Data stack
Introduccion a Big Data stackEduardo Castro
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexEduardo Castro
 
Smart Grid Big Data e IoT
Smart Grid Big Data e IoTSmart Grid Big Data e IoT
Smart Grid Big Data e IoTEduardo Castro
 
Servicios cognitivos y su integración
Servicios cognitivos y su integraciónServicios cognitivos y su integración
Servicios cognitivos y su integraciónEduardo Castro
 
Introduccion a Azure Machine Learning
Introduccion a Azure Machine LearningIntroduccion a Azure Machine Learning
Introduccion a Azure Machine LearningEduardo Castro
 
SQL Server 2016 Reporting Services
SQL Server 2016 Reporting ServicesSQL Server 2016 Reporting Services
SQL Server 2016 Reporting ServicesEduardo Castro
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidadEduardo Castro
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Eduardo Castro
 
Resumen del Microsoft Big Data Stack
Resumen del Microsoft Big Data StackResumen del Microsoft Big Data Stack
Resumen del Microsoft Big Data StackEduardo Castro
 
Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Eduardo Castro
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

Destacado (20)

Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
Consideraciones de sql server hardware
Consideraciones de sql server hardwareConsideraciones de sql server hardware
Consideraciones de sql server hardware
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
Que hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis ServicesQue hay de nuevo en SQL 2016 Analysis Services
Que hay de nuevo en SQL 2016 Analysis Services
 
Microsoft R Server
Microsoft R ServerMicrosoft R Server
Microsoft R Server
 
Consideraciones de discos sql server hardware
Consideraciones de discos sql server hardwareConsideraciones de discos sql server hardware
Consideraciones de discos sql server hardware
 
Servicios cognitivos y su integración
Servicios cognitivos y su integraciónServicios cognitivos y su integración
Servicios cognitivos y su integración
 
Consideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardwareConsideraciones de memoria sql server hardware
Consideraciones de memoria sql server hardware
 
Introduccion a Big Data stack
Introduccion a Big Data stackIntroduccion a Big Data stack
Introduccion a Big Data stack
 
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store IndexSQL 2016 Mejoras en InMemory OLTP y Column Store Index
SQL 2016 Mejoras en InMemory OLTP y Column Store Index
 
Smart Grid Big Data e IoT
Smart Grid Big Data e IoTSmart Grid Big Data e IoT
Smart Grid Big Data e IoT
 
Servicios cognitivos y su integración
Servicios cognitivos y su integraciónServicios cognitivos y su integración
Servicios cognitivos y su integración
 
Introduccion a Azure Machine Learning
Introduccion a Azure Machine LearningIntroduccion a Azure Machine Learning
Introduccion a Azure Machine Learning
 
Microsoft R Server
Microsoft R ServerMicrosoft R Server
Microsoft R Server
 
SQL Server 2016 Reporting Services
SQL Server 2016 Reporting ServicesSQL Server 2016 Reporting Services
SQL Server 2016 Reporting Services
 
Azure sql database escalabilidad
Azure sql database escalabilidadAzure sql database escalabilidad
Azure sql database escalabilidad
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Resumen del Microsoft Big Data Stack
Resumen del Microsoft Big Data StackResumen del Microsoft Big Data Stack
Resumen del Microsoft Big Data Stack
 
Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos Mejores prácticas desarrollo de base de datos
Mejores prácticas desarrollo de base de datos
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similar a Introducción al SQL Server 2016 Query Store

Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish Javier Villegas
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalEnrique Catala Bañuls
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014SolidQ
 
Query store
Query storeQuery store
Query storeSolidQ
 
Administrador de base de datos(dba) y tipos de bd
Administrador de base de datos(dba) y tipos de bdAdministrador de base de datos(dba) y tipos de bd
Administrador de base de datos(dba) y tipos de bdPatrick Nick Alamo Ramos
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016Joseph Lopez
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaEduardo Castro
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionJulián Castiblanco
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store IndexEduardo Castro
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Joseph Lopez
 
Sql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónSql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónGuillermo Taylor
 
Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01NestorNieto
 
Casos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerCasos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerEduardo Castro
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdCristian Merchan
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdCristian Merchan
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016SpanishPASSVC
 

Similar a Introducción al SQL Server 2016 Query Store (20)

Funciones del DBA
Funciones del DBAFunciones del DBA
Funciones del DBA
 
Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish Query Store al rescate - PASS Spanish
Query Store al rescate - PASS Spanish
 
Novedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacionalNovedades de SQL Server 2014 en motor relacional
Novedades de SQL Server 2014 en motor relacional
 
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
Novedades deSQL Server 2014 en Motor Relacional | SolidQ Summit 2014
 
Query store
Query storeQuery store
Query store
 
Query store
Query storeQuery store
Query store
 
Administrador de base de datos(dba) y tipos de bd
Administrador de base de datos(dba) y tipos de bdAdministrador de base de datos(dba) y tipos de bd
Administrador de base de datos(dba) y tipos de bd
 
In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016In-Memory OLTP en SQL Server 2016
In-Memory OLTP en SQL Server 2016
 
SQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en MemoriaSQL Server 2016 Tablas en Memoria
SQL Server 2016 Tablas en Memoria
 
SQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra SesionSQL Server Fundamentals 3ra Sesion
SQL Server Fundamentals 3ra Sesion
 
SQL 2016 Column Store Index
SQL 2016 Column Store IndexSQL 2016 Column Store Index
SQL 2016 Column Store Index
 
Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016Conociendo los cambios de SQL Server a partir de 2012 a 2016
Conociendo los cambios de SQL Server a partir de 2012 a 2016
 
Sql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfecciónSql server 2012 y share point server 2013 integración cercana a la perfección
Sql server 2012 y share point server 2013 integración cercana a la perfección
 
Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01Nestor Nieto BaseDatos_Tarea01
Nestor Nieto BaseDatos_Tarea01
 
Casos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL ServerCasos de bodegas de datos con SQL Server
Casos de bodegas de datos con SQL Server
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bd
 
Tarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bdTarea1 cristian merchan_adm_bd
Tarea1 cristian merchan_adm_bd
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016
 
Sql Safe
Sql SafeSql Safe
Sql Safe
 
Oracle
OracleOracle
Oracle
 

Más de Eduardo Castro

Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL ServerEduardo Castro
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerCreando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerEduardo Castro
 
Seguridad en SQL Azure
Seguridad en SQL AzureSeguridad en SQL Azure
Seguridad en SQL AzureEduardo Castro
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflowEduardo Castro
 
SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022Eduardo Castro
 
Novedades en SQL Server 2022
Novedades en SQL Server 2022Novedades en SQL Server 2022
Novedades en SQL Server 2022Eduardo Castro
 
Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Eduardo Castro
 
Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceEduardo Castro
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022Eduardo Castro
 
Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Eduardo Castro
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricksEduardo Castro
 
Pronosticos con sql server
Pronosticos con sql serverPronosticos con sql server
Pronosticos con sql serverEduardo Castro
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsEduardo Castro
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Eduardo Castro
 
Introduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsIntroduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsEduardo Castro
 
Seguridad de SQL Database en Azure
Seguridad de SQL Database en AzureSeguridad de SQL Database en Azure
Seguridad de SQL Database en AzureEduardo Castro
 
Python dentro de SQL Server
Python dentro de SQL ServerPython dentro de SQL Server
Python dentro de SQL ServerEduardo Castro
 
Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Eduardo Castro
 
Script de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesScript de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesEduardo Castro
 
Introducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesIntroducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesEduardo Castro
 

Más de Eduardo Castro (20)

Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL Server
 
Creando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL ServerCreando tu primer ambiente de AI en Azure ML y SQL Server
Creando tu primer ambiente de AI en Azure ML y SQL Server
 
Seguridad en SQL Azure
Seguridad en SQL AzureSeguridad en SQL Azure
Seguridad en SQL Azure
 
Azure Synapse Analytics MLflow
Azure Synapse Analytics MLflowAzure Synapse Analytics MLflow
Azure Synapse Analytics MLflow
 
SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022SQL Server 2019 con Windows Server 2022
SQL Server 2019 con Windows Server 2022
 
Novedades en SQL Server 2022
Novedades en SQL Server 2022Novedades en SQL Server 2022
Novedades en SQL Server 2022
 
Introduccion a SQL Server 2022
Introduccion a SQL Server 2022Introduccion a SQL Server 2022
Introduccion a SQL Server 2022
 
Machine Learning con Azure Managed Instance
Machine Learning con Azure Managed InstanceMachine Learning con Azure Managed Instance
Machine Learning con Azure Managed Instance
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022
 
Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022Sql server 2019 con windows server 2022
Sql server 2019 con windows server 2022
 
Introduccion a databricks
Introduccion a databricksIntroduccion a databricks
Introduccion a databricks
 
Pronosticos con sql server
Pronosticos con sql serverPronosticos con sql server
Pronosticos con sql server
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analytics
 
Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2Que hay de nuevo en el Azure Data Lake Storage Gen2
Que hay de nuevo en el Azure Data Lake Storage Gen2
 
Introduccion a Azure Synapse Analytics
Introduccion a Azure Synapse AnalyticsIntroduccion a Azure Synapse Analytics
Introduccion a Azure Synapse Analytics
 
Seguridad de SQL Database en Azure
Seguridad de SQL Database en AzureSeguridad de SQL Database en Azure
Seguridad de SQL Database en Azure
 
Python dentro de SQL Server
Python dentro de SQL ServerPython dentro de SQL Server
Python dentro de SQL Server
 
Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft
 
Script de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure EnclavesScript de paso a paso de configuración de Secure Enclaves
Script de paso a paso de configuración de Secure Enclaves
 
Introducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure EnclavesIntroducción a conceptos de SQL Server Secure Enclaves
Introducción a conceptos de SQL Server Secure Enclaves
 

Último

Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaRicardoEstrada90
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .llocllajoaquinci00
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosYOMIRAVILLARREAL1
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...dramosbrise1403
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónUniversidad de Sonora
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024NicolleAndrade7
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 

Último (20)

Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
Tipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de DatosTipos de datos en Microsoft Access de Base de Datos
Tipos de datos en Microsoft Access de Base de Datos
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 

Introducción al SQL Server 2016 Query Store

  • 2. Bienvenida • Ing. Eduardo Castro, PhD • MVP de Microsoft SQL Server • PASS Regional de Mentor • PASS Board of Directors • ecastro@simsasys.com • http://www.youtube.com/eduardocastrom
  • 3. Material de Referencia SQL 2016 – What’s New? David Cobb SQL Server Evolution. Lindsey Allen The SQL Server 2016 Query Store: Overview and Architecture. Enrico van de Laar
  • 4. Agenda 4 • Información general y de Query Store Arquitecture • Query Store Reporting • Acceso a la información de consulta Store a través de DMV • Forzar planes de ejecución utilizando el Query Store • Analizar el rendimiento de Query Store
  • 5. Cuando el rendimiento no es bueno ... Base de datos no funciona Web site está caído Imposible de predecir/Cual es la causa? Problema desempeño temporal Regresión causada por nueva versión Actualizació n de DB
  • 6. Con Query Storese puede ... Buscar y corregir las regresiones del plan Identificar los principales consumidores de recursos Reducir riesgo actualización de SQL Server Profundamente analizar los patrones de carga de trabajo
  • 7. el Query Store 7 • El Query Store es una característica que nos puede ayudar a solucionar problemas de rendimiento de las consultas, captura de información de ejecución de la consulta, tales como el número de ejecuciones o la duración promedio de una consulta. • El Query Store también se captura cada plan de ejecución que se ha generado para una consulta específica y se puede entonces decidir qué plan de ejecución desea que SQL Server utilice para esa consulta específica.
  • 8. Los usos más comunes para el Query Store 8 • Encontrar y corregir rápidamente una regresión desempeño de los planes forzando el plan de consulta previo. • Forzar las consultas que recientemente han retrocedido en el rendimiento debido a cambios en el plan de ejecución. • Determinar el número de veces que una consulta se ejecuta en una ventana de tiempo dado, ayuda a un DBA en problemas de recursos de rendimiento y en la resolución de problemas.
  • 9. Los usos más comunes para el Query Store 9 • Identificar las principales n consultas (por el tiempo de ejecución, el consumo de memoria, etc.) en los últimos x horas. • Auditar la historia de los planes de ejecución para una consulta determinada. • Analizar los recursos (CPU, E/S y la memoria) los patrones de uso de una base de datos en particular.
  • 10. Los usos más comunes para el Query Store 10 • A pesar de que ya es posible para nosotros realizar muchas de las mismas acciones que hace el Query Store en las versiones anteriores de SQL Server • La captura de los contadores de rendimiento específicos de tiempo de ejecución de consulta o forzar planes de ejecución es una tarea compleja y especializada. • El Query Store hace que estas acciones mucho más fácil de usar y disponible a todo el mundo sin necesidad de volver a escribir cualquier pregunta.
  • 11. Ventajas del Query Store 11 • El Query Store se integra directamente en SQL Server, esto significa que puede capturar la información de tiempo de ejecución de consulta directamente en el nivel de la fuente • Sin el Query Store con frecuencia dependemos del caché del plan, lugar donde se almacenan los planes de ejecución en memoria, cuando es necesario analizar los planes de ejecución de la consulta. • Sin embargo, si se reinicia SQL Server, todos los planes de ejecución serán removidos de la caché y se ven obligados a empezar de nuevo.
  • 12. Ventajas de el Query Store 12 • El Query Store, en cambio, almacena la información que captura en el disco, lo que significa que un reinicio de SQL Server no afecta a ninguna información que ha sido capturado en el Query Store • El Query Store se puede habilitar en una base de datos individual • Una gran cantidad de información está disponible directamente a través de reportes de consulta integrados
  • 14. Query StoreArquitectura 14 • El Query Store consiste en realidad dos “stores", • El Plan Store y el Runtime Stats Store. • Estos “stores” son objetos en memoria que contienen información de la consulta.
  • 15. Query Store Arquitectura 15 • Cuando una consulta se ejecuta en una base de datos que tiene habilitada el Query Store, el plan de la consulta compilado se escribe en el Query Store Plan y la información de tiempo de ejecución de la consulta se guarda en el Runtime Stats Store. • Esta información se almacena inicialmente en memoria. Después de un intervalo específico la información escribe en el disco de forma asíncrona para guardar la información. • El Query Store escribe los planes de ejecución y las estadísticas de tiempo de ejecución en Primary Filegroup de la base de datos que ejecútó la consulta.
  • 16. Query Store Arquitectura dieciséis • Al guardar los planes de ejecución y las estadísticas de tiempo de ejecución en el disco, la información dentro de el Query Store no se pierde cada vez que se produce un reinicio de SQL Server. • Esto es más valioso que el análisis de los planes de ejecución dentro del caché, ya que el caché del plan estará vacía de nuevo cada vez que se reinicie SQL Server. • Lo mismo ocurre con la sys.dm_exec_query_stats DMV, que se utiliza con frecuencia para analizar la información de tiempo de ejecución de la consulta. Este DMV también se restablecerá después de un reinicio de SQL Server.
  • 17. Query Store Flush 17 • Por defecto se guarda a disco con intervalo que se establece en 15 minutos, esto provoca una sobrecarga de rendimiento promedio de 3-5% cuando se ha activado el Query Store. • Cuanto menor sea el intervalo, mayor será el impacto en el rendimiento • Nuevos planes de ejecución que son capturados por primera vez por el Query Store se guardan en disco de forma más rápida que planes de ejecución que ya existen dentro de el Query Store
  • 18. Impacto del Query Store 18 • Existe una Table Defined Function (TDF) que toma datos todavía en la memoria y también información que ya fue persistida en disco • TDF (QUERY_STORE_RUNTIME_STATS_IN_MEM) toma los datos de la memoria y un Clustered Index Scan en el plan_persist_runtime_stats que toma los datos desde el disco
  • 19. Impacto del Query Store 19
  • 20. Habilitar Query Store 20 • ALTER DATABASE SET AdventureWorks2012 QUERY_STORE = ON;
  • 21. Opciones de Query Store 21
  • 22. Examinando las opciones del Query Store 22 • " Operation Mode (Actual)” no se puede cambiar, ya que sólo indica el modo actual deñ Query Store. El valor puede ser Off, Read Write or Read. • Cuando el Query Store tiene un modo de Read no se guardan nuevos planes de ejecución o las estadísticas de tiempo de ejecución de la consulta.
  • 23. Examinando las opciones del Query Store 23 • El " Data Flush Interval (Minutes)” le permite establecer el intervalo de la rapidez que se guarda la información • Los Execution Plans y los Query Runtime Statistics se están guardando de la memoria en el disco. Por defecto esta opción se establece en 15 minutos. • Cambiar el intervalo en un valor más bajo significa que la información de Query Store dentro de la memoria de SQL Server se escribe en el disco más rápido, esto puede tener un impacto negativo en el rendimiento de la Instancia. • Establecer el valor en un intervalo más alto significa que el memory flush es menor, pero también significa más información del Query Store que reside en la memoria se perderán cuando si se produce un reinicio de SQL Server.
  • 24. Examinando las opciones del Query Store 24 • “Statistics Collection Interval" le permite configurar un nuevo intervalo. • Éste le permite configurar el nivel de granularidad de las estadísticas de tiempo de ejecución. Por defecto se establece en 1 hora. • Básicamente esto significa que se establece el intervalo de agregación de las estadísticas de tiempo de ejecución de consulta dentro de el Query Store. • Cuanto menor sea el valor de esta opción más fina es la granularidad de las estadísticas de tiempo de ejecución, pero esto también significa que más intervalos se producen y se requiere por lo tanto más espacio para almacenar las estadísticas de consulta de tiempo de ejecución en el disco.
  • 25. Examinando las opciones del Query Store 25 • El " Max Size (MB)” le permite configurar el tamaño máximo de el Query Store. • Por defecto, este valor se establece en 100 MB. Una cosa importante a tener en cuenta es que los datos dentro de el Query Store se almacena dentro de la Primary File Group de la base de datos que tiene habilitada el Query Store. • Cambiar la opción por un valor más alto le permitirá almacenar más datos del Query Store pero también significa que su base de datos crecerá. • Cada vez que el Query Store llega al tamaño máximo configurado por esta opción el modo de operación cambiará automáticamente a sólo lectura y no se recolectarán nuevos datos.
  • 26. Examinando las opciones del Query Store 26 • La opción " Query Store Capture Mode" permite filtrar las consultas con los tiempos de ejecución muy bajo. • Por defecto, la opción se establece en “All” lo que significa cada consulta ejecutada en contra de la base de datos se registra en el Query Store. • Al establecer la opción en “Auto” el Query Store filtrará consultas insignificantes. • Qué consultas se filtran está determinada por un proceso interno y no tenemos ninguna influencia sobre ella. El coste final de esta opción es Ninguno cual significa que no hay nuevos planes de ejecución o las estadísticas de tiempo de ejecución de consulta son capturados.
  • 27. Examinando las opciones del Query Store 27 • " Size Based Cleanup Mode " se puede configurar para que automáticamente el Query Store limpie los datos una vez que alcanza el 90% del tamaño máximo de Query Store • La limpieza eliminará los datos de consulta más antigua y menos costosa y se detiene la limpieza en el 80% del “Max Size (MB)” . • Por defecto esta opción está desactivada. Si se establece en Auto permitirá a la limpieza automática.
  • 28. Examinando las opciones del Query Store 28 • "Stale Query Threshold (Days)” establece cómo los datos de consulta es retenida dentro de el Query Store. • Por defecto, la configuración se establece en 367 días. El valor de esta opción debe reflejar sus necesidades de análisis históricos. • Si no necesita almacenar información de consulta por 376 días, pero por un período de tiempo más corto se puede bajar esta opción por lo que no está perdiendo espacio dentro de el Query Store.
  • 29. Query Store opciones por TSQL 29 GUI Option T-SQL Option Operation Mode (Requested) OPERATION_MODE Data Flush Interval (Minutes) DATA_FLUSH_INTERVAL_SECONDS Statistics Collection Interval INTERVAL_LENGHT_MINUTES Max Size (MB) MAX_STORAGE_SIZE_MB Query Store Capture Mode QUERY_CAPTURE_MODE Size Based Cleanup Mode SIZE_BASED_CLEANUP_MODE Stale Query Threshold (Days) CLEANUP_POLICY (STALE_QUERY_THRESHOLD_DAYS) MAX_PLANS_PER_QUERY
  • 30. Query Store opciones por TSQL 30 • ALTER DATABASE [db_name]SET QUERY_STORE ( [Query Store options] ); • ALTER DATABASE AdventureWorksSET QUERY_STORE ( MAX_STORAGE_SIZE_MB = 250 );
  • 31. Query Store opciones por TSQL 31 ALTER DATABASE AdventureWorks SET QUERY_STORE ( MAX_STORAGE_SIZE_MB = 250, SIZE_BASED_CLEANUP_MODE = AUTO, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30) ); -- Purge Query Data ALTER DATABASE [db_name] SET QUERY_STORE CLEAR;
  • 33. Query Store Built-in Reporting 33
  • 34. Query Store Built-in Reporting 34 • Regressed Queries. Una 'consulta ha retrocedido' si recibió un plan de ejecución peor al que tenía antes. • Este reporte muestra todas las consultas que han tenido su plan de ejecución retrocedido en el tiempo. • Overall Resource Consumption. Muestra un resumen de las estadísticas de tiempo de ejecución de las consultas durante un intervalo de tiempo específico. Todas las estadísticas de las consultas que se han ejecutado dentro del intervalo de tiempo específico se agregan para dar una visión general del rendimiento de la consulta.
  • 35. Built-in Query Storede reportes 35 • Top Resource Consuming Queries. Muestra las consultas más caros (sobre la base de criterios de selección personalizados) que se ejecutaron durante un intervalo de tiempo específico. • Tracked Queries. Muestra las estadísticas de tiempo de ejecución para la ejecución de la consulta, y le permite inspeccionar los diversos planes de ejecución de una consulta específica.
  • 38. Informe de consumo de recursos en general 38
  • 39. DMV Query Store 39 • Nuevos DMV que se introdujeron en SQL Server 2016 para soportar el Query Store Sys.database_query_store_options Sys.query_store_query Sys.query_store_query_text Sys.query_context_settings Sys.query_store_plan Sys.query_store_runtime_stats Sys.query_store_runtime_stats_interval
  • 40. DMV Query Store 40 • El DMV sys.query_store_query se registra a nivel de la instrucción SQL. -- Empty the Query Store ALTER DATABASE AdventureWorks SET QUERY_STORE CLEAR; -- Statement 1 SELECT TOP 100 * FROM Person.Address; -- Statement 2 SELECT TOP 100 * FROM Sales.SalesOrderDetail;
  • 41. DMV Query Store 41 -- Query sys.query_store_query SELECT query_id, qt.query_sql_text AS 'Statement Text', [text] AS 'Query Batch Text' FROM sys.query_store_query q CROSS APPLY sys.dm_exec_sql_text(last_compile_batch_sql_handle) INNER JOIN sys.query_store_query_text qt ON q.query_text_id = qt.query_text_id;
  • 42. DMV Query Store 42 • context_settings_id Este número enlaza el sys.query_store_query DMV para el sys.query_context_settings • sys.query_context_settings Registra información sobre el contexto en el que se ejecuta la consulta • last_compile_batch_sql_handle Devuelve el query text handle de la consulta SQL
  • 44. Sys.query_context_settings 44 • sys.query_context_settings devuelve la configuración de contexto bajo el cual se ejecuta la instrucción SQL.
  • 45. Sys.query_context_settings 45 SELECT qsq.query_id, qsqt.query_sql_text, qs.plan_handle FROM sys.query_store_query qsq INNER JOIN sys.dm_exec_query_stats qs ON qsq.last_compile_batch_sql_handle = qs.sql_handle INNER JOIN sys.query_store_query_text qsqt ON qsq.query_text_id = qsqt.query_text_id ORDER BY qsq.query_id
  • 46. Sys.query_store_plan 46 • sys.query_store_plan almacena información sobre los planes de ejecución que está relacionado con las consultas que son capturados dentro de el Query Store. • Devuelve información, tales como la versión de motor utilizaqdo, el nivel de compatibilidad y si el plan era trivial.
  • 47. Sys.query_store_plan 47 SELECT plan_id, query_id, CAST(query_plan AS XML) AS 'Execution Plan' FROM sys.query_store_plan;
  • 48. Sys.query_store_runtime_stats 48 • Dentro de sys.query_store_runtime_stats , las métricas de rendimiento de las consultas son capturados y agregados
  • 49. Top 10 consultas más caros basados ​​en tiempo de ejecución promedio 49 SELECT TOP 10 qt.query_sql_text, CAST(query_plan AS XML) AS 'Execution Plan', rs.avg_duration FROM sys.query_store_plan qp INNER JOIN sys.query_store_query q ON qp.query_id = q.query_id INNER JOIN sys.query_store_query_text qt ON q.query_text_id = qt.query_text_id INNER JOIN sys.query_store_runtime_stats rs ON qp.plan_id = rs.plan_id ORDER BY rs.avg_duration DESC;
  • 50. Consultar planes paralelos 50 SELECT qt.query_sql_text, CAST(query_plan AS XML) AS 'Execution Plan', rs.avg_duration FROM sys.query_store_plan qp INNER JOIN sys.query_store_query q ON qp.query_id = q.query_id INNER JOIN sys.query_store_query_text qt ON q.query_text_id = qt.query_text_id INNER JOIN sys.query_store_runtime_stats rs ON qp.plan_id = rs.plan_id WHERE rs.last_dop > 1;
  • 51. Regresión de planes 51 • Plan de regresión ocurre cuando el optimizador de consultas de SQL Server compila un nuevo plan de ejecución para una consulta que ejecuta (mucho) peor que el anterior plan de ejecución para esa misma consulta. • Hay muchas razones por las que el optimizador de consultas piensa que se necesita un nuevo plan. Algunos ejemplos incluyen un cambio en el número de filas dentro de una tabla, una adición o eliminación de un índice o un cambio en el esquema de la tabla
  • 52. Regresión de planes 52 • Plan de ejecución con id 113 ejecuta mucho peor, en función de su duración, que el plan con id 114
  • 54. Plan Forcing en SQL 2016 55 • EXEC sp_query_store_force_plan 136, 146;