Optimizacion de Modelos Multidimensionales con Analysis Services
01 troubleshooting essentials en sql server 2012 sql pass peru
1. Guillermo Taylor F.
Consultor Senior TI & Especialista SQL Server
guillermotaylor@hotmail.com
http://mastergt68.wordpress.com
2. Contexto de desempeño
Metodología de Troubleshooting
Herramientas en SQL Server 2012
Algunas mejoradas y una nueva…
Herramientas de terceros
Conclusiones
Documentación y referencia
3. Escribir consultas eficientes
Generar índices adecuados
Crear vistas donde deben de crearse vistas
Crear funciones de usuario e invocarlas donde
corresponde
Crear procedimientos almacenados adecuados
a nuestros requerimientos
Usar los distintos niveles de aislamiento de
manera adecuada
Manejo de transacciones (commit/rollback)
10. Monitor de actividad
Recolección de datos
Algunas “vistas dinámicas”
sys.dm_os_wait_stats
sys.dm_os_performance_counters
Solo contadores de SQL Server
sys.dm_io_virtual_file_stats
Eventos extendidos (requiere otra sesión…)
exec sp_server_diagnostics @repeat_interval=5
Nuevo en SQL Server 2012!
11.
12. Memory % Committed Bytes In Use Memory Available Bytes Memory Cache Bytes Memory Cache
Faults/sec Memory Committed Bytes Memory Free & Zero Page List Bytes Memory Modified Page List
Bytes Memory Pages/sec Memory Page Reads/sec Memory Page Write/sec Memory Page Faults/sec
Memory Pool Nonpaged Bytes Memory Pool Paged Bytes Memory Standby Cache Core Bytes Memory
Standby Cache Normal Priority Bytes Memory Standby Cache Reserve Bytes Memory Pool Paged Bytes
Memory Write Copies/sec Process(_Total) * Process($(TARGETPROCESS)) * Process(*) Thread Count
Process(*) % Processor Time Process(*) IO Read Bytes/sec Process(*) IO Write Bytes/sec Process(*)
Private Bytes Process(*) Working Set Processor(*) % Processor Time Processor(*) % User Time
Processor(*) % Privileged Time Server Work Queues(*) Queue Length LogicalDisk(*) % Disk Time
LogicalDisk(*) Avg. Disk Queue Length LogicalDisk(*) Avg. Disk Read Queue Length LogicalDisk(*) Avg.
Disk Write Queue Length LogicalDisk(*) Avg. Disk sec/Read LogicalDisk(*) Avg. Disk sec/Write
LogicalDisk(*) Avg. Disk sec/Transfer LogicalDisk(*) Disk Reads/sec LogicalDisk(*) Disk Bytes/sec
LogicalDisk(*) Disk Writes/sec LogicalDisk(*) Split IO/sec System Processor Queue Length System File
Read Operations/sec System File Write Operations/sec System File Control Operations/sec System File
Read Bytes/sec System File Write Bytes/sec System File Control Bytes/sec Network Interface(*) Bytes
Total/sec Network Interface(*) Output Queue Length $(INSTANCE):Buffer Manager Stolen pages
$(INSTANCE):Buffer Manager Page life expectancy $(INSTANCE):Memory Manager Memory Grants
Outstanding $(INSTANCE):Memory Manager Memory Grants Pending $(INSTANCE):Databases(_Total)
Transactions/sec $(INSTANCE):Databases(tempdb) Transactions/sec $(INSTANCE):Databases(*) Active
Transactions $(INSTANCE):General Statistics Logins/sec $(INSTANCE):General Statistics Logouts/sec
$(INSTANCE):General Statistics User Connections $(INSTANCE):General Statistics Logical Connections
$(INSTANCE):General Statistics Transactions $(INSTANCE):General Statistics Processes blocked
$(INSTANCE):General Statistics Active Temp Tables $(INSTANCE):SQL Statistics Batch Requests/sec
$(INSTANCE):SQL Statistics SQL Compilations/sec $(INSTANCE):SQL Statistics SQL Re-Compilations/sec
$(INSTANCE):SQL Statistics SQL Attention rate $(INSTANCE):SQL Statistics Auto-Param Attempts/sec
$(INSTANCE):SQL Statistics Failed Auto-Params/sec $(INSTANCE):Plan Cache(_Total) Cache Hit Ratio
$(INSTANCE):Plan Cache(Object Plans) Cache Hit Ratio $(INSTANCE):Plan Cache(SQL Plans) Cache Hit
Ratio $(INSTANCE):Plan Cache(Temporary Tables & Table Variables) Cache Hit Ratio
$(INSTANCE):Transactions Free Space in tempdb (KB) $(INSTANCE):Workload Group Stats(*) Active
requests $(INSTANCE):Workload Group Stats(*) Blocked tasks $(INSTANCE):Workload Group Stats(*) CPU
usage %
13. Adam Machanic’s Who is Active v11.11
http://sqlblog.com/blogs/adam_machanic/archive/
2012/03/22/released-who-is-active-v11-11.aspx
SQL Sentry Plan Explorer v1.3
http://www.sqlsentry.net/plan-explorer/sql-serverquery-view.asp
Idera’s SQL check v3.0
http://www.idera.com/Free-Tools/SQL-check/
14.
15. Revisar el comportamiento de nuestros
servidores.
Tener mediciones base, para tener contra que
comparar.
Evaluar el rendimiento y la forma de acceso a
los recursos.
Debemos de ser proactivos en lugar de ser
reactivos.
Usar las herramientas de SQL Server 2012.
16. eBook gratuito "Troubleshooting SQL Server: A Guide for
the Accidental DBA“
http://www.red-gate.com/products/dba/sqlmonitor/entrypage/tame-unruly-sql-servers-ebook
Grant Fritchey’ SQL Server 2012 Query Performance Tuning
eBook
http://www.apress.com/9781430242031
Brent Ozar PLF’s SQL Server First Responder Kit
http://www.brentozar.com/FirstResponder/
Contadores para Rendimiento de SQL Server
http://msdn.microsoft.com/es-es/library/bb972264.aspx#EIAA
Troubleshooting Performance Problems in SQL Server 2008
http://download.microsoft.com/download/D/B/D/DBDE79721EB9-470A-BA18-58849DB3EB3B/TShootPerfProbs2008.docx
17. Guillermo Taylor F.
Consultor Senior TI & Especialista SQL Server
guillermotaylor@hotmail.com
http://mastergt68.wordpress.com