SQL Server - Comunidad SharePoint de Colombia

Anuncio
COMUNIDAD SHAREPOINT DE COLOMBIA
SharePoint Day Bogotá
Julio 13 de 2013
SQL Server 2012 & SharePoint Server 2013,
integración cercana a la perfección
Guillermo Taylor
@guillermotaylor
guillermotaylor@hotmail.com
http://mastergt68.wordpress.com
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.
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.
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.
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)
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
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
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.
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
Full Recovery Model
Base de datos de contenido en Disco Duro
Datos
Data
Agregar
Contenido
.LDF
Checkpoint
.MDF
Datos
Data
Full Recovery Model (Recomendado)
Simple Recovery Model
Content Database Located on Hard Drive
Datos
Agregar
Contenido
.LDF
Checkpoint
Datos
Simple Recovery Model
.MDF
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
Configuración de parámetro de memoria máxima
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)')
Max Degree of Parallelism
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
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:\SQLBackups\Weekly_T_Log.Bak with INIT
.mdf
.ldf
Backup Log DB_Name to D:\SQLBackups\TempBackup.Bak (1)(4)
Lose .mdf file of database on Thursday at 4:00pm
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?
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
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
Prácticas recomendadas
• Dedicated SQL Server / Instance
• Modify Tempdb and Model System Database Settings
• Create Multiple TempDB Files on Multiple Disks
• Spread Data Files and Transaction Log Files Across Multiple Physical Drives or Locate on RAID 5/10
• Use Database Autogrowth Sparingly (Insurance Policy)
• Reduces Fragmentation
• Improves Performance
Prácticas recomendadas
• Create SQL Server alias
• Content Databases < 200 GB
• Avoid shrinking database files
• Check database integrity with DBCC CHECKDB
• Monitor disk seconds per read/write (<20ms)
• Defragment SQL Server drives containing content database files
• Perform regular backups of database and transaction logs
Referencias y recomendaciones a seguir
Recursos adicionales
• Maximizing SQL 2012 Performance for SharePoint 2013 Whitepaper
• TechNet’s White Paper Gallery for SharePoint
• Database maintenance for SharePoint 2010 Products
• Microsoft® SharePoint® 2013: Designing and Architecting Solutions
Patrocinadores
Q&A
Recuerda Evaluar
la sesión
SQL Server 2012 & SharePoint
Server 2013, integración cercana a
la perfección
Gracias
Descargar