3. Propósito y mensajes de valor
• Que vean el por qué les irá
mejor como IT Pros si
implementan SharePoint Server
2013 con SQL Server 2012.
• SharePoint Server 2013 se
beneficiará más y ofrecerá
mayor valor y potencial de
negocio si se implementa con
SQL Server 2012.
• Instancia dedicada de SQL
Server 2012 a la que se le haga
“benchmark” constante de su
capacidad de cómputo.
• Escenarios de nube híbrida para
complementar la plataforma y
su valor.
4. Descripción de la sesión
Esta es una sesión con una combinación de conceptos claves sobre cómo se
integra SharePoint Server 2013 con SQL Server 2012, esquemas de base de
datos involucrados, descripciones de las bases de datos de SharePoint
Server 2013, algunas prácticas recomendadas para mejorar el desempeño y
por supuesto, algunas configuraciones esenciales a tener en cuenta de SQL
Server 2012 para SharePoint Server 2013.
5. Conceptos claves
• SharePoint DEBE tener una instancia dedicada de SQL Server.
• Crear un ALIAS para la instancia de SQL Server.
• Planear un sistema E/S adecuado para SQL Server.
• Planear por ambiente, por necesidad y por prácticas
recomendadas.
6. Estructura de base de datos en SQL Server 2012
Database
Data File
.MDF (1)
.NDF (0-n)
Latin1_General_CI_AS_KS_WS
Log File
.LDF (1-n)
7. Práctica recomendada: Separación de archivos
• Bases de datos de sistema:
• 5 unidades de almacenamiento
• Para bases de datos del sistema
• Para archivos MDF/NDF de bases de datos de
usuario
• Para archivos LDF de bases de datos de usuario
• Para TEMPDB
• Para BACKUPS
• Master – Configuración de SQL Server
• MSDB – Automatización de SQL Server
• TEMPDB – Área temporal
• Model – Plantilla para nuevas BD
• Nota mental: Recordar sacarlos del servidor y
probarlos
• Bases de datos de usuario:
• Todas las aplicaciones Web
• Todas las aplicaciones de Servicio
• Otras de tipo no-de-sistema
•
•
•
•
LDF: La más rápida posible
TEMPDB: Al menos, más rápida que la de MDF
MDF: Que ofrezca redundancia
Ambientes de tipo Producción o Pruebas tipo
QA
8. Integración entre SP2013 & SQL2012
• 93.8% del contenido de SharePoint se almacena en SQL Server
• La información de la configuración de la granja se almacena en la base de datos
• El contenido de la administración central se almacena en una base de datos particular
• La mayoría de las aplicaciones de servicio tienen al menos una base de datos de
contenido
• Todas las aplicaciones Web tienen al menos una base de datos de contenido
• Durante la instalación de SQL Server, defina el parámetro de Default Collation Setting en
Latin1_General_CI_AS_KS_WS
9. Integración entre SP2013 & SQL2012
•
Las colecciones de sitio solo residen en una base de datos
•
La base de datos de contenido contiene múltiples colecciones de sitio, con 2,000 como la configuración por
defecto
•
Si la colección del sitio es mayor a 100 GB, entonces almacénela en su propia base de datos.
•
•
Tener presente que el límite de una colección de sitio es de 200 GB
Usar SharePoint para controlar el tamaño de la base de datos
•
•
•
Cuotas
Número máximo de colecciones de sitio
SharePoint solo usa un único grupo de archivos en SQL Server; esto en principio hace que el límite pueda ser
de hasta 16 GB, así que hay que planear acorde.
10. Ojo con los cambios al esquema de base de datos
• Se recomienda no hacer cambios al esquema, por ser NO soportados por el grupo de
producto
• Mayor información en http://support.microsoft.com/kb/841057
• Entre los más “delicados”
• Agregar o modificar índices
• Modificar o eliminar procedimientos almacenados
• Modificar la intercalación de la base de datos
• Modificar cualquier elemento del esquema de base de datos
11. Full Recovery Model
Base de datos de contenido en Disco Duro
Agregar
Contenid
o
Dato
Data
s
.LDF
Checkpoint
.MDF
Dato
Data
s
Full Recovery Model (Recomendado)
12. Simple Recovery Model
Content Database Located on Hard Drive
Agregar
Contenid
o
Dato
s
.LDF
Checkpoint
Dato
s
Simple Recovery Model
.MDF
13. Configurando la base de datos TEMPDB
• Configurar archivos de datos de Tempdb = Número de Nucleos de Procesador
• Configurar el tamaño de la base de datos Tempdb
• Al menos 10% del tamaño total de las bases de datos de contenido O
• El tamaño de la tabla más grande; cualquiera que sea el mayor número
• Parámetros de configuración de la base de datos Tempdb
• Incrementar el tamaño inicial
• Incrementar el parámetro de “Autogrowth” (Usar MB en lugar de %)
• Usar el “Simple Recovery Model”
• Ubicarla físicamente en un sitio diferente a donde están las bases de datos de contenido
15. Configuración de parámetro de memoria máxima
SQL Max Memory = TotalPhyMem - (NumOfSQLThreads * ThreadStackSize) - (1GB *
CEILING(NumOfCores/4))
NumOfSQLThreads = 256 + (NumOfProcessors*- 4) * 8
ThreadStackSize = 2MB on x64 or 4 MB on 64-bit (IA64) (* If NumOfProcessors > 4, else 0)
SELECT * FROM sys.dm_os_performance_counters
WHERE counter_name IN ('Target Server Memory (KB)','Total Server Memory (KB)')
17. A nivel de sistema operativo, ojo con el sistema E/S
• El sistema E/S es crítico para la integración entre SharePoint Server 2013 & SQL Server 2012
• Revisión del parámetro “NTFS Allocation Unit Size”
•
64K es óptimo, 4K equivale a una penalidad del 30% en desempeño
•
Uso de CHKDSK <drive> VERIFY
•
Si se puede, use FORMAT para configurar
•
Format <drive> /Q
•
/FS:NTFS /A:64K /V:<volume> /Y
18. Evitando crecimientos enormes en Transaction
Logs
Sunday
.mdf
Monday
.ldf
Full Backup (2)
.mdf
.ldf
Differential
Tuesday
.mdf
Wednesday
.ldf
Differential
.mdf
.ldf
Differential (3)
Backup Log DB_Name to D:SQLBackupsWeekly_T_Log.Bak with INIT
.mdf
.ldf
Backup Log DB_Name to D:SQLBackupsTempBackup.Bak (1)(4)
Lose .mdf file of database on Thursday at 4:00pm
19. Sobre las copias de respaldo
• Copia local para recuperación rápida
•
•
•
Mismo cuarto, mismo piso, mismo edificio, mismo ciudad…
Ustedes definen
Copia remota para temas tipo desastre
•
Mismo país, mismo departamento…
• ¿Tienen definida una política de respaldo adecuada?
20. Verificando la integridad de las bases de datos
• DBCC CHECKDB
•
Verifique la opción REPAIR_REBUILD para reparar errores, aunque no siempre es posible
•
La opción REPAIR_ALLOW_DATA_LOSS no es soportada
•
Ejecutarla durante horas no pico o en ventanas programadas; consume mucho tiempo
•
Para bases de datos muy grandes, considere la opción MAXDOP=1
21. SQL Server 2012 AlwaysOn
• Requiere Windows Server Failover Clustering
• Aprovecha SQL Server Mirroring
• No es un remplazo para respaldos de bases de datos
• Componentes
• Grupos de disponibilidad
• Bases de datos de disponibilidad
• Réplicas de disponibilidad
• Modos de disponibilidad
• Tipos de Failover
22. Prácticas recomendadas
• Instancia de SQL Server dedicada para SharePoint Server
• Modificar los parámetros de las bases de datos Tempdb & Model
• Crear archivos de la base de datos TempDB en varios discos
• Tener dispersos los archivos de datos y de transacción a través de varios discos físicos o ubicarlos
en RAID 5/10
• Usar el crecimiento automático de base de datos con prudencia
• Reduce la fragmentación
• Mejora el desempeño
23. Prácticas recomendadas
• Creación de alias de SQL Server
• Bases de datos de contenido < 200 GB
• Evitar la reducción de los archivos de bases de datos
• Corroborar la integridad de base de datos con DBCC CHECKDB
• Monitor disk seconds per read/write (<20ms)
• Defragmentar discos de SQL Server que contengan archivos de bases de datos de contenido
• Realizar respaldos regulares de las bases de datos y de sus “transaction logs”