SQL Server Health Check Lite Análisis para AX-SQLServer€¦ · SQL Server Health Check Lite....
Transcript of SQL Server Health Check Lite Análisis para AX-SQLServer€¦ · SQL Server Health Check Lite....
SolidQ - España y Portugal
Rey Juan Carlos I, 88, 4C,
03340, Albatera,
Alicante, España
solidq.com
+34 800 300 800 oficina
+34 965 485 692 oficina (intl)
+34 902 946 458 fax
SQL Server Health Check Lite
Análisis para AX-SQLServer
SolidQ
13/09/2016
solidq.com
2
Contenido
Introducción ............................................................................................................................................................................................................. 4
Objetivo del documento ...................................................................................................................................................................................... 4
Resumen Ejecutivo ................................................................................................................................................................................................... 4
Corto Plazo ........................................................................................................................................................................................................... 4
Medio Plazo ......................................................................................................................................................................................................... 5
Largo Plazo ........................................................................................................................................................................................................... 5
Información sobre el servidor analizado .................................................................................................................................................................. 6
Número de procesadores físicos: 4 ..................................................................................................................................................................... 6
Memoria .............................................................................................................................................................................................................. 7
Adaptadores de red ............................................................................................................................................................................................. 8
Recursos compartidos ......................................................................................................................................................................................... 9
Subsistema de disco y niveles RAID ..................................................................................................................................................................... 9
Sistemas de almacenamiento ............................................................................................................................................................................ 10
Alineamiento de particiones .............................................................................................................................................................................. 11
Otros servicios corriendo en el servidor ............................................................................................................................................................ 13
Configuración de SQL Server: SQLAX-SERVER12 .................................................................................................................................................... 14
Versión de SQL Server ........................................................................................................................................................................................ 14
Configuración de la instancia de SQL Server ..................................................................................................................................................... 15
Cuenta de servicio de SQL Server ...................................................................................................................................................................... 18
SQL Server Tempdb Información ....................................................................................................................................................................... 20
solidq.com
3
Database Mail .................................................................................................................................................................................................... 22
MSDB ................................................................................................................................................................................................................. 22
Collations ........................................................................................................................................................................................................... 23
Información sobre el sistema operativo ................................................................................................................................................................ 27
Ficheros de base de datos: Espacio utilizado ......................................................................................................................................................... 27
Espacio por objetos de base de datos.................................................................................................................................................................... 29
Información de Backups .................................................................................................................................................................................... 31
Análisis de eficiencia de los Backups diferenciales ............................................................................................................................................ 32
Databases Configuration ........................................................................................................................................................................................ 33
Estadísticas ........................................................................................................................................................................................................ 33
Sección de visor de eventos ................................................................................................................................................................................... 34
Patrones de consulta en la instancia SQLAX-SERVER12......................................................................................................................................... 36
Planes de consulta con mayor coste CPU .......................................................................................................................................................... 36
Planes de consulta con mayor número de ejecuciones .................................................................................................................................... 36
Planes de consulta con mayor número carga en lectura-escritura ................................................................................................................... 37
solidq.com
4
Introducción
Objetivo del documento
El objetivo de este documento es la identificación de cualquier práctica o configuración que debería ser modificada para mejorar la
escalabilidad, seguridad y rendimiento del servicio de SQL Server. Basándonos en los datos recolectados de vuestros sistemas SQL Server
detallaremos los aspectos que se pueden mejorar y además nuestras recomendaciones para mejorar los mismos. Estas recomendaciones
de Buenas prácticas se realizan basándonos en nuestra amplia experiencia trabajando con SQL Server.
Resumen Ejecutivo
WQL recurrió a SolidQ para realizar las siguientes acciones:
1. Un chequeo de la configuración de SQL Server de su servidor de producción.
2. Una revisión básica de los contadores de rendimiento
3. Un análisis e investigación de potenciales problemas relacionados con interbloqueos.
Corto Plazo
Actualizar la versión de SQL Server 2012 con el SP3 si las aplicaciones AX y SharePoint instaladas son compatibles. Esto solucionaría los problemas de errores que se disparan constantemente en el log de errores de SQL Server
Crear un job o utilizar Resource Governor para cambiar el grado de paralelismo para aumentar la rapidez de las tareas de mantenimiento de las bbdd
Cambiar las cuentas de servicio de SQL Server. Cada servicio debe tener una cuenta distinta con mínimos permisos. La actual es administrador de SQL Server. Esta tarea requiere parada del servicio
Hay un número excesivo de ficheros de datos en la base datos Tempdb. Se deben dejar 4 y eliminar 3. Por nuestra experiencia si el sistema usa mucho la tempdb es posible que SQL Server no deje borrarlos en caliente, por lo que es posible que hubiera que hacer parada del servicio
solidq.com
5
Se recomienda usar una cuenta de Database Mail en lugar de SQL Mail para las notificaciones por correo
Recomendamos crear un plan de mantenimiento que borre los registros históricos antiguos de las ejecuciones de jobs. Actualmente hay 3 años de información, consideramos que con un año es suficiente si no se está utilizando esa información para ningún análisis
Recomendamos crear un plan de mantenimiento que recalcule las estadísticas de las bases de datos
Medio Plazo
Se recomienda incorporar backups diferenciales para aquellas bases de datos con más uso
Largo Plazo
No se ha detectado ninguna estrategia de Disaster Recovery. Recomendamos incorporar algún sistema de alta disponibilidad para evitar en caso de caída tener que recuperar todas las bases de datos mediante restores de backups. Los más comunes que recomendamos son:
o Grupos de Disponibilidad Always On. Failover automático y permite la reutilización de los nodos secundarios para consultas o Cluster de SQL Server. Failover automático o Log Shipping. Failover manual
solidq.com
6
Información sobre el servidor analizado
El servidor analizado funciona mediante el sistema operativo Microsoft Windows Server 2012 Datacenter versión 6.2.9200 (9200).
Dispone de 28671 Mb de RAM físicos, de los cuales en el momento de la captura de datos, se encontraban disponibles 8375 Mb.
Número de procesadores físicos: 4
Nº de procesador: 1
Velocidad de procesador (Mhz): 2.095
Tamaño de caché L2: 0
El modo de energía del servidor está establecido en “High Performance” por lo que en caso de que necesitara saltar el turbo podría hacerlo.
solidq.com
7
Memoria
Número de bancos de memoria instaladas: 2
Etiqueta del banco de memoria: Physical Memory 0
Velocidad bus(MHZ): 0
Tamaño (Mb): 512
solidq.com
8
Etiqueta del banco de memoria: Physical Memory 1
Velocidad bus(MHZ): 0
Tamaño (Mb): 28160
Adaptadores de red
Descripción Alias MAC Velocidad de conexión actual (Mb/s)
WAN Miniport (L2TP) -1
WAN Miniport (SSTP) -1
WAN Miniport (IKEv2) -1
WAN Miniport (PPTP) -1
WAN Miniport (PPPOE) -1
WAN Miniport (IP) -1
WAN Miniport (IPv6) -1
WAN Miniport (Network Monitor) -1
Microsoft Kernel Debug Network Adapter -1
RAS Async Adapter -1
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SystemInfo__20160913-0131" En la hoja "Network
Adapters".
solidq.com
9
Recursos compartidos
Recurso Ruta compartida Descripción
ADMIN$ C:\Windows Remote Admin
AXFiles G:\AXFiles
C$ C:\ Default share
D$ D:\ Default share
G$ G:\ Default share
H$ H:\ Default share
I$ I:\ Default share
IPC$ Remote IPC
J$ J:\ Default share
K$ K:\ Default share
Subsistema de disco y niveles RAID
El servidor es un servidor Azure con discos normales de 500 IOPS sin ninguna configuración raid.
solidq.com
10
Sistemas de almacenamiento
Esta sección establece que la organización de los mecanismos de almacenamiento y de distribución de las estructuras persistentes cumple
con las buenas prácticas.
La tabla siguiente muestra los volúmenes actuales del servidor y los tamaños de bloque del clúster.
Unidad Sistema de ficheros Tamaño de bloque Tipo
C: NTFS 4.096 Disco lógico
D: NTFS 4.096 Disco lógico
K: NTFS 65.536 Disco lógico
G: NTFS 65.536 Disco lógico
H: NTFS 65.536 Disco lógico
I: NTFS 65.536 Disco lógico
J: NTFS 4.096 Disco lógico
Recomendación: Para mejorar el rendimiento de las operaciones de Entrada/Salida se deben formatear las nuevas particiones a 64Kb como el tamaño de la unidad de alojamiento. Como se muestra en la imagen siguiente:
solidq.com
11
Alineamiento de particiones
Esta sección establece si las divisiones verticales de las estructuras de datos son adecuados para conseguir los requerimientos de
rendimiento y de carga. Necesitamos asegurarnos de que el desplazamiento del primer bloque de cada partición es un múltiplo de 64k:
solidq.com
12
Nota: Este diagrama se corresponde con el modelo de almacenamiento NTFS por defecto, con formateo de 4kb por bloque. El diagrama no está escalado.
Si asumimos un tamaño de división de 64Kb, hay 8-512B sectores por cada clúster de 4KB de NTFS; hay 16-4Kb clústeres NTFS por cada unidad de 64Kb
Por definición, existen 63 sectores ocultos desalineados (amarillo)
Si nos fijamos en el punto 3 de la imagen (Default layout), al realizar la lectura del enésimo clúster, tendremos que realizar dos lecturas E/S reales puesto que dicho clúster se encuentra en dos bloques diferentes
En el caso 4 de la imagen (Aligned layout), siempre necesitaremos una única lectura únicamente, leamos el clúster que leamos
solidq.com
13
La siguiente tabla muestra el alineamiento de las particiones de los discos del servidor:
Particion Tamaño de bloqe Desplazamiento inicial ¿Está alineado?
Disk #3, Partition #0 512 1.048.576 Cierto
Disk #1, Partition #0 512 1.048.576 Cierto
Disk #5, Partition #0 512 1.048.576 Cierto
Disk #0, Partition #0 512 1.048.576 Cierto
Disk #2, Partition #0 512 1.048.576 Cierto
Disk #4, Partition #0 512 1.048.576 Cierto
Disk #6, Partition #0 512 1.048.576 Cierto
Otros servicios corriendo en el servidor
Además del servicio de SQL Server hay más servicios ejecutándose en el servidor y utilizando recursos que pueden reducir el rendimiento
de SQL Server:
AeLookupSvc; Appinfo; BFE; BrokerInfrastructure; CertPropSvc; CryptSvc; DcomLaunch; Dhcp; DIAHostService; Dnscache; DPS; EFS;
EventLog; EventSystem; FontCache; gpsvc; IKEEXT; iphlpsvc; KeyIso; LanmanServer; LanmanWorkstation; lmhosts; LSM; MpsSvc;
Netlogon; Netman; netprofm; NlaSvc; nsi; pla; PlugPlay; PolicyAgent; Power; ProfSvc; RemoteRegistry; RpcEptMapper; RpcSs; SamSs;
Schedule; SENS; SessionEnv; ShellHWDetection; Spooler; sppsvc; SQLSERVERAGENT; TermService; Themes; TrkWks; TrustedInstaller;
UALSVC; UmRdpService; vmicheartbeat; vmickvpexchange; vmicrdv; vmicshutdown; vmictimesync; vmicvss; W32Time; Winmgmt;
WinRM; wmiApSr
solidq.com
14
Configuración de SQL Server: SQLAX-SERVER12
Versión de SQL Server
La instancia que estamos analizando es una 2012 Enterprise SP1 y actualmente existe hasta un SP3. Según hemos visto en la instancia está
instalada en la instancia AX y Sharepoint. Aconsejamos revisar con los proveedores de dichos productos si las versiones de estos programas
son incompatibles con el SP3. Si no son incompatibles recomendamos instalarlo en un entorno de prueba y tras realizar los tests que se
consideren convenientes para cada producto si las pruebas son correctas implantarlo en producción.
Referencia: http://sqlserverbuilds.blogspot.com.es/
solidq.com
15
Configuración de la instancia de SQL Server
La siguiente tabla muestra algunas de las propiedades más interesantes de sp_configure:
Propiedad Valor de ejecución
backup compression default 1
clr enabled 0
default trace enabled 1
filestream access level 0
fill factor (%) 0
max degree of parallelism 1
max server memory (MB) 7.168
max worker threads 0
min memory per query (KB) 1.024
min server memory (MB) 4.096
optimize for ad hoc workloads 0
remote access 1
remote admin connections 0
xp_cmdshell 0
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "SpConfigure".
solidq.com
16
Los parámetros más importantes:
Backup compression default, esta establecidos con valor 1, esto quiere decir que por defecto los backups los realizará comprimiendo
Max server memory (MB), la instancia tiene configurado un máximo de 7.168 MB de memoria máxima por lo que eso garantiza que no podrá coger la cantidad total de memoria del servidor 28 GB y por tanto competir con el sistema operativo o con otros servicios. Importante, el que este configurada esta cantidad de 7 GB no quiere decir que sea suficiente. Para conocer esto se necesitaría un HC Normal.
Max degree of paralelism, el valor actual es 1, este valor es correcto ya que el producto AX indica en sus especificaciones que debe ser así:
Esta especificación cambia el valor cuando se tiene que actualizar debido a algún upgrade, momento en el cual se usa esta otra regla:
Importante, el configurar el grado de paralelismo con valor 1 hace que cualquier tarea de la instancia no pueda usar paralelismo (varios cores al mismo tiempo). Esto puede afectar a la duración de las tareas de mantenimiento de las bases de datos como (backups, checkdbs, defragmentación, recalculo de estadísticas etc). El grado de paralelismo para estas tareas que no son de AX sigue el siguiente criterio:
a) For servers that have eight or less processors, use the following configuration where N equals the number of processors: max
degree of parallelism = 0 to N.
b) For servers that use more than eight processors, use the following configuration: max degree of parallelism = 8.
solidq.com
17
c) For servers that have NUMA configured, max degree of parallelism should not exceed the number of CPUs that are assigned to
each NUMA node with the max value capped to 8. This will increase the likelyhood of all parallel threads of a query to be located
within a NUMA Node and avoid costly remote node data look ups.
d) For servers that have hyper-threading enabled, the max degree of parallelism value should not exceed the number of physical
processors.
Use these same guidelines when setting the MAXDOP option for Resource Governor workload groups. The maximum value of 8
provided in the above guideline is applicable for typical SQL Server activity and the overhead for the exchange operators used in
parallel query plans. You could vary this maximum value depending upon your specific application patterns and concurrent activity
on the SQL Server. For example:
- If you have very small number of concurrently executing queries relative to the number of processors, then you can set maxdop
to a higher value like 16.
- If you have very large number of concurrently executing queries relative to the number of processors, then you can set maxdop
to a lower value such as 4.
Any value you propose to use should be thoroughly tested against the specific application activity or pattern of queries.
For more info: http://support.microsoft.com/kb/2023536
Lo que se propone para solventar este problema y cumplir con las disposiciones de AX sugerimos: o Crear un job que cambie el grado de paralelismo a valor 4 (es el que le corresponde según la regla anterior) cuando comiencen
estas tareas de mantenimiento (Tarde/Noche). Cuando finalicen volverlo a poner en 1 que es lo que solicita AX (8 de la mañana por ejemplo)
solidq.com
18
o Puesto que tenéis versión Enterprise se puede usar Resource Governor. Esta utilidad clasifica las conexiones y permite garantizar una cantidad de recursos (memoria, cpu, grado de paralelismo, iops de disco). Creando un grupo específico para AX y otro para las tareas de mantenimiento se solucionaría
Cuenta de servicio de SQL Server
El servicio de SQL server que estamos analizando arranca bajo el usuario SQLSERVER\admACT:
Como se puede ver en la siguiente imagen este usuario del dominio es administrador en SQL Server.
solidq.com
19
Microsoft recomienda ejecutar los servicios de SQL Server por separado en distintas cuentas de Windows. Siempre que sea posible, utilice
derechos de Windows independientes y bajos, o cuentas de usuario local para cada servicio de SQL Server.
Hay que crear una cuenta distinta para cada servicio y con los mínimos privilegios posibles
El aislamiento de servicios reduce el riesgo de que se utilice un servicio cuya seguridad se haya vulnerado para vulnerar la seguridad de
otros servicios. Si se está aplicando este usuario debido a que hay Jobs que usan la cuenta de servicio recomendamos usar un usuario proxy.
IMPORTANTE: esta operación requiere parada del servicio.
Referencia: https://msdn.microsoft.com/es-es/library/ms143504.aspx
solidq.com
20
SQL Server Tempdb Información
SQL Server debe alinear el nº de ficheros de tempdb con el nº de procesadores lógicos de que se dispone para mejorar la eficiencia en
operaciones de reserva y liberación de extensiones de objetos temporales. Por nuestra experiencia recomendamos que el nº de ficheros de
tempdb no sobrepasen el valor de 8 como norma general.
El criterio general es el siguiente:
1. Número de ficheros. El número de ficheros de datos se fija de acuerdo al siguiente criterio y aplica a los ficheros de datos no de logs:
o Si tienes menos de 8 cores, el número de ficheros debe ser igual al número de cores. o Si tienes más de 8 cores usa 8 ficheros y si notas contención de memoria añade 4 ficheros más o En casos extremos o emergencias número de cores = número de ficheros
Referencia: Summit SQL Server 2011, ponencia de Bob Ward (Principal Architect Escalation Engineer, Microsoft) http://www.sqlpass.org/summit/2011/Speakers/CallForSpeakers/SessionDetail.aspx?sid=1869
o Considerar el número de CPUs sin hyperthreading ej: Un Dual core cuenta como 2 cores; si tuviera hyperthreading los 2 procesadores lógicos no contarían
solidq.com
21
Puesto que el número de cores es 4 y el total de ficheros es 7, la configuración actual indica que es incorrecta.
En base al criterio anterior el número de fichero correcto sería 4.
solidq.com
22
Database Mail
Se ha detectado que se encuentra habilitado SQL Mail. Se recomienda substituir por Database Mail, ya que este último no requiere la
instalación del cliente MAPI extendido en el servidor.
Referencia: http://msdn.microsoft.com/en-us/library/ms175951.aspx
Database Mail es la solución para el envío de mensajes de correo electrónico del motor de base de datos de SQL Server, utiliza el estándar SMTP para enviar correo, se puede usar sin necesidad de tener instalado un cliente MAPI, para más información:
Referencia: http://msdn.microsoft.com/en-us/library/ms175887.aspx
Perfil Cuenta
SolidQ-AX ITSolidQ
MSDB
Histórico de Jobs
Histórico de días de jobs
853
Como se puede ver se están acumulando casi 3 años de histórico de Jobs, aconsejamos poner un job que deje tan solo la información relativa
al último año.
solidq.com
23
Páginas sospechosas
No se ha encontrado ninguna página sospechosa de estar corruptas en los procesos de verificación de base de datos.
Collations
En SQL Server cada instancia, Base de datos, tabla y campo tiene su propia propiedad collation. La propiedad de collation define como la
base de datos almacena y opera con caracteres y datos Unicode. En esta sección compararemos las collations de 2 maneras distintas. La
primera será comparando el collation de la instancia de SQL con el de las diferentes bases de datos, mientras que el segundo comparará el
collation de cada campo de una base de datos con el collation de la misma base de datos que lo contiene. Para poder comparar y ordenar
caracteres y datos Unicode más eficientemente debemos establecer la misma collation para todo dentro de una misma instancia.
Ahora vamos a ver un ejemplo para demostrar cuanto puede variar un resultado por las collations. Declaramos
2 tablas con un único campo y “case insensitive”:
declare @t1 as table(field1 nvarchar(10) collate Modern_Spanish_CI_AS)
declare @t2 as table(field1 nvarchar(10) collate Modern_Spanish_CI_AS)
Insertamos el valor ‘a’ dentro de la primera table y los valores ‘a’ y ‘A’ en la segunda.
insert into @t1 values('a')
insert into @t2 values('a'),('A')
Si ejecutamos la siguiente consulta
select * from @t1 t1 inner join @t2 t2 on t1.field1 = t2.field1
El resultado es el siguiente:
solidq.com
24
Cuando comparamos (on t1.field1 = t2.field1) en la consulta anterior, la comparacion es “Case insensitive”
lo que significa que no importan mayusculas ni minusculas, por eso ‘a’ y ‘A’ casan con la comparación. Sin
embargo, si forzamos a la consulta a comparar cambiando la collation a “Case Sensitive” ‘a’ y ‘A’ no casaran.
Vamos a ver el ejemplo forzando a cambiar de collation y el resultado obtenido.
select * from @t1 t1 inner join @t2 t2 on t1.field1 collate Modern_Spanish_CS_AS= t2.field1
La instancia de SQL Server tiene la siguiente collation: SQL_Latin1_General_CP1_CI_AS
Tempdb tiene la collation: SQL_Latin1_General_CP1_CI_AS
A continuación, se muestra una tabla con las bases de datos que tienen un collation diferente a la instancia de SQL Server:
Nombre de tabla Nombre del Collation
ReportServer Latin1_General_CI_AS_KS_WS
ReportServerTempDB Latin1_General_CI_AS_KS_WS
SharePoint_Config Latin1_General_CI_AS_KS_WS
SharePoint_AdminContent_dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
WSS_Content Latin1_General_CI_AS_KS_WS
solidq.com
25
Secure_Store_Service_DB_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
StateService_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
AppMng_Service_DB_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
WSS_Logging Latin1_General_CI_AS_KS_WS
Bdc_Service_DB_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
Puesto que estas bases de datos son de SharePoint y este producto utiliza el collation específico Latin1_General_CI_AS_KS_WS podemos
afirmar que se trata de falsos positivos.
Comparación de collations entre los distintos campos en cada tabla de una misma BBDD:
SharePoint_AdminContent_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
NameValuePair_Hebrew_CI_AS Value Hebrew_CI_AS
NameValuePair_Hindi_CI_AS Value Hindi_CI_AS
NameValuePair_Hungarian_CI_AS Value Hungarian_CI_AS
NameValuePair_Hungarian_Technical_CI_AS Value Hungarian_Technical_CI_AS
NameValuePair_Icelandic_CI_AS Value Icelandic_CI_AS
NameValuePair_Japanese_CI_AS Value Japanese_CI_AS
NameValuePair_Japanese_Unicode_CI_AS Value Japanese_Unicode_CI_AS
NameValuePair_Korean_Wansung_CI_AS Value Korean_Wansung_CI_AS
NameValuePair_Korean_Wansung_Unicode_CI_AS Value Korean_Wansung_Unicode_CI_AS
NameValuePair_Latin1_General_CI_AS Value Latin1_General_CI_AS
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Collations
(SharePoint_AdminContent_ dx31dfdd1121f10)".
solidq.com
26
WSS_Content Latin1_General_CI_AS_KS_WS
NameValuePair_Hebrew_CI_AS Value Hebrew_CI_AS
NameValuePair_Hindi_CI_AS Value Hindi_CI_AS
NameValuePair_Hungarian_CI_AS Value Hungarian_CI_AS
NameValuePair_Hungarian_Technical_CI_AS Value Hungarian_Technical_CI_AS
NameValuePair_Icelandic_CI_AS Value Icelandic_CI_AS
NameValuePair_Japanese_CI_AS Value Japanese_CI_AS
NameValuePair_Japanese_Unicode_CI_AS Value Japanese_Unicode_CI_AS
NameValuePair_Korean_Wansung_CI_AS Value Korean_Wansung_CI_AS
NameValuePair_Korean_Wansung_Unicode_CI_AS Value Korean_Wansung_Unicode_CI_AS
NameValuePair_Latin1_General_CI_AS Value Latin1_General_CI_AS
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Collations
(WSS_Content)".
Bdc_Service_DB_ dx31dfdd1121f10 Latin1_General_CI_AS_KS_WS
AR_MetadataObject Name SQL_Latin1_General_CP1_CS_AS
AR_MetadataObjectSecurity IdentityName SQL_Latin1_General_CP1_CS_AS
AR_MetadataObjectSecurity DisplayName SQL_Latin1_General_CP1_CS_AS
AR_MetadataObjectSecurity SettingId SQL_Latin1_General_CP1_CS_AS
AR_Property Name SQL_Latin1_General_CP1_CS_AS
AR_Property SettingId SQL_Latin1_General_CP1_CS_AS
AR_Class Namespace SQL_Latin1_General_CP1_CS_AS
AR_SystemData Name SQL_Latin1_General_CP1_CS_AS
AR_Method LobName SQL_Latin1_General_CP1_CS_AS
solidq.com
27
AR_FilterDescriptor FilterField SQL_Latin1_General_CP1_CS_AS
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Collations
(Bdc_Service_DB_ dx31dfdd1121f10)".
Estos ejemplos de collations de columnas distintos en dentro de una base de datos de SharePoint también son falsos positivos ya que es
algo habitual.
Información sobre el sistema operativo
Ficheros de base de datos: Espacio utilizado
La tabla siguiente muestra el espacio usado actualmente por cada fichero de las bases de datos.
Base de
datos
Fichero de
BBDD
Ruta a fichero Unidad Espacio
reservado
Espacio
usado
% espacio
usado
Desc
tipo
master master C:\Obfuscated
Path\master.mdf
C:\ 4 3,44 85,94 ROWS
master mastlog C:\Obfuscated
Path\mastlog.ldf
C:\ 1 0,64 64,32 LOG
tempdb tempdev I:\Obfuscated
Path\tempdb.mdf
I:\ 2.048 8,69 0,42 ROWS
tempdb templog I:\Obfuscated
Path\templog.ldf
I:\ 2.048 1.094,86 53,46 LOG
tempdb tempdev1 I:\Obfuscated
Path\tempdev1.ndf
I:\ 2.048 5,81 0,28 ROWS
tempdb tempdev2 I:\Obfuscated
Path\tempdev2.ndf
I:\ 2.048 6,13 0,3 ROWS
solidq.com
28
tempdb tempdev3 I:\Obfuscated
Path\tempdev3.ndf
I:\ 2.048 6,44 0,31 ROWS
tempdb tempdev5 I:\Obfuscated
Path\tempdev5.ndf
I:\ 2.048 5,69 0,28 ROWS
tempdb tempdev6 I:\Obfuscated
Path\tempdev6.ndf
I:\ 2.048 5,88 0,29 ROWS
tempdb tempdev7 I:\Obfuscated
Path\tempdev7.ndf
I:\ 2.048 6,25 0,31 ROWS
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Database Spaced
used Block".
solidq.com
29
Espacio por objetos de base de datos
La siguiente tabla muestra el espacio utilizado por los distintos objetos que posee cada base de datos:
Base de
datos
Esqu
ema
Nombre de
tabla
Desc
tipo
Tam
año
med
io
de
fila
Nu
m
de
fila
s
Reser
vado
(Kb)
Dat
os
(Kb
)
Da
tos
in
ro
w
(K
b)
Da
tos
sin
us
ar
(K
b)
Es
agru
pado
?
Está
partici
onado?
Está
compri
mido?
Fecha
de
creaci
ón
LOB
(Kb
)
Row
over
flow
(Kb)
[Report
Server]
dbo Catalog USER_
TABLE
304.
670
1.9
50
582.7
84
580.
184
1.1
68
1.3
20
1 0 0 21/12
/2013
579.
320
0
[Report
Server]
dbo Segment USER_
TABLE
7.71
9
13.
49
4
102.7
44
101.
728
29
6
46
4
1 0 0 21/12
/2013
31.4
80
0
[Report
Server]
dbo ExecutionLo
gStorage
USER_
TABLE
3.92
6
41
1
2.752 1.57
6
16 1.1
28
1 0 0 21/12
/2013
1.12
0
0
[Report
Server]
dbo ChunkSegme
ntMapping
USER_
TABLE
58 13.
49
4
2.264 768 1.2
40
20
8
1 0 0 21/12
/2013
0 0
[Report
Server]
dbo DataSource USER_
TABLE
246 2.0
62
800 496 16
0
96 1 0 0 21/12
/2013
0 0
[Report
Server]
dbo SegmentedC
hunk
USER_
TABLE
111 2.4
32
800 264 35
2
13
6
1 0 0 21/12
/2013
0 0
[Report
Server]
dbo SnapshotDat
a
USER_
TABLE
68 1.9
06
216 128 56 0 1 0 0 21/12
/2013
0 0
solidq.com
30
[Report
Server]
dbo SecData USER_
TABLE
19.1
14
3 80 56 8 0 1 0 0 21/12
/2013
48 0
[Report
Server]
dbo Keys USER_
TABLE
12.2
88
2 32 24 0 0 1 0 0 21/12
/2013
16 0
[Report
Server]
dbo DBUpgrade
History
USER_
TABLE
182 45 16 8 0 0 1 0 0 21/12
/2013
0 0
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Database Object
Space used block".
solidq.com
31
Información de Backups
Base de datos Tipo de copia de seguridad Ultima fecha de copia de seguridad Dias desde última copia de seguridad Ultimo fichero de copia de seguridad
AppMng_Service_DB_ dx31dfdd1121f10 Database 12/09/2016 1 K:\Obfuscated Path\ Backup\Full\AppMng_Service_backup_2016_09_12_220001_8545993.bak
Bdc_Service_DB_ dx31dfdd1121f10 Database 12/09/2016 1 K:\Obfuscated Path\Backup\Full\Bdc_Service_DB _backup_2016_09_12_220001_8702214.bak
DAX_PROD Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\AX_PROD_backup_2016_09_12_220001_7921002.bak
DAX_PROD_Baseline Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\DAX_PROD_Baseline_backup_2016_09_12_220001_8080372.bak
DAX_PROD_model Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\DAX_PROD_model_backup_2016_09_12_220001_8080372.bak
ReportServer Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\ReportServer_backup_2016_09_12_220001_7764724.bak
ReportServerTempDB Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\ReportServerTempDB\ReportServerTempDB_backup_2016_09_12_220001_7921002.bak
Secure_Store_Service_DB_ dx31dfdd1121f10 Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\Secure_Store_Service_DB_backup_2016_09_12_220001_8389755.bak
SharePoint_AdminContent_ dx31dfdd1121f10 Database 12/09/2016 1 K:\ Obfuscated Path \Backup\Full\SharePoint_AdminContent_backup_2016_09_12_220001_8233506.bak
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Información de
backups".
Al dia con backups
AppMng_Service_DB_ dx31dfdd1121f10
AX_SolidQ_View
Bdc_Service_DB_ dx31dfdd1121f10
solidq.com
32
DAX_PROD
DAX_PROD_Baseline
DAX_PROD_model
ReportServer
ReportServerTempDB
Secure_Store_Service_DB_ dx31dfdd1121f10
SharePoint_AdminContent_ dx31dfdd1121f10
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Actualizado con
los Backups".
Análisis de eficiencia de los Backups diferenciales
Los backups diferenciales ayudan a las estrategias desde 2 ángulos distintos:
En algunos escenarios se requieren menos transacciones de log para restaurar: Restaurando una base de datos, aplicando restauración
por backup diferencial, se evita la necesidad de restaurar el log de transacciones durante el proceso.
Los Backups diferenciales reducen el tiempo necesario de realizar backups: A veces no vale la pena ejecutar un backup completo porque
no hay tanta información cambiante desde el último backup que se realizó y es más eficiente ejecutar un backup diferencial.
En esta sección recomendaremos que tipo de backup es más apropiado para cada base de datos. La siguiente tabla mostrara el porcentaje
de extents que han cambiado de cada base de datos y en consecuencia el tipo de backup que sea más conveniente. Toda la información
acerca de los extents cambiantes ha sido obtenida de las páginas de SQL Server. Existen diferentes tipos de páginas, y una de ellas es la
DCM o Differential changed map. Esta página contiene información acerca de los extents que han cambiado desde el último BACKUP
DATABASE ejecutado. Con toda esta información somos capaces de calcular los porcentajes y decidir que sería mejor hacer en cada caso.
Database Extensiones
(total)
Extensiones(cambios) %
cambios
Backup
recomendado
solidq.com
33
AppMng_Service_DB_dx31dfdd1121f10 65 16 24.62 DIFFERENTIAL
AX_SolidQ_View 64 12 18.75 DIFFERENTIAL
Bdc_Service_DB_ dx31dfdd1121f10 65 28 43.08 FULL
DAX_PROD 105649 26500 25.08 DIFFERENTIAL
DAX_PROD_Baseline 16384 36 0.22 DIFFERENTIAL
DAX_PROD_model 122571 30688 25.04 DIFFERENTIAL
ReportServer 12049 1294 10.74 DIFFERENTIAL
ReportServerTempDB 673 37 5.50 DIFFERENTIAL
Secure_Store_Service_DB_ dx31dfdd1121f10 65 22 33.85 FULL
SharePoint_AdminContent_
dx31dfdd1121f10
6785 3383 49.86 FULL
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_SqlServer__20160913-0131" En la hoja "Change Data".
El gráfico se puede encontrar en: SQL-AX_SqlServer__20160913-0131 , en la hoja Change Data
Databases Configuration
Estadísticas
No se ha identificado ninguna tarea de recalculo de estadísticas. Recomendamos su creación para que se mantengan actualizadas.
solidq.com
34
Sección de visor de eventos
En el log de errores de SQL Server vemos que se repite el siguiente error:
solidq.com
35
Según nos indica Microsoft se debe a un error en la ejecución del procedimiento sys.fn_xe_file_target_read_file.
Referencia: https://support.microsoft.com/en-us/kb/2878139
La solución a aplicar es el CU6 que salió después del Service Pack 1, que curiosamente es el último que está instalado. Puesto que han salido
varios services packs más y cumulate updates recomendamos aplicar el último SP y CU. Ver punto versión de SQL Server.
solidq.com
36
Patrones de consulta en la instancia SQLAX-SERVER12
Los siguientes planes de consulta son los planes de consulta más intensivos en recursos que SQL server ha detectado desde 08 Aug 2016
23:57:13:717 (Último inicio de SQL Server).
Planes de consulta con mayor coste CPU
Los siguientes planes de ejecución, son los que mayor coste en CPU han supuesto para SQL server:
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_QueryPatterns__20160913-0131" En la hoja "Intensive
CPU Table".
Planes de consulta con mayor número de ejecuciones
Los siguientes planes de ejecución, son los que mayor nº de ejecuciones han supuesto para SQL server:
solidq.com
37
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_QueryPatterns__20160913-0131" En la hoja "Number of
executions Table".
Planes de consulta con mayor número carga en lectura-escritura
Los siguientes planes de ejecución, son los que han supuesto mayor carga para el sistema E/S del servidor:
Se puede encontrar la tabla completa con los datos en el libro de Excel "SQL-AX_QueryPatterns__20160913-0131" En la hoja "Intensive
Reads and Writes Table".