29
SharePoint Day Bogotá Julio 13 de 2013 SQL Server 2012 & SharePoint Server 2013, integración cercana a la perfección COMUNIDAD SHAREPOINT DE COLOMBIA

SharePoint Day Bogotá - Comunidad SharePoint de Colombia Taylor - SQL... · QA Integración entre SP2013 & SQL2012 • 93.8% del contenido de SharePoint se almacena en SQL Server

Embed Size (px)

Citation preview

SharePoint Day Bogotá Julio 13 de 2013

SQL Server 2012 & SharePoint Server 2013,

integración cercana a la perfección

COMUNIDAD SHAREPOINT DE COLOMBIA

Guillermo Taylor @guillermotaylor

[email protected]

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)

Log File

.LDF (1-n)

Latin1_General_CI_AS_KS_WS

Práctica recomendada: Separación de archivos

• Bases de datos de sistema:

• Master – Configuración de SQL Server

• MSDB – Automatización de SQL Server

• TEMPDB – Área temporal

• Model – Plantilla para nuevas BD

• Bases de datos de usuario:

• Todas las aplicaciones Web

• Todas las aplicaciones de Servicio

• Otras de tipo no-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

• Nota mental: Recordar sacarlos del servidor y probarlos

• 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

.LDF

Data

Data

.MDF Agregar

Contenido

Base de datos de contenido en Disco Duro

Checkpoint

Datos

Datos

Full Recovery Model (Recomendado)

Simple Recovery Model

.MDF .LDF Agregar

Contenido

Content Database Located on Hard Drive

Checkpoint

Datos

Datos

Simple Recovery Model

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

.mdf .ldf

Sunday Monday Tuesday Wednesday

Full Backup Differential Differential Differential

Backup Log DB_Name to D:\SQLBackups\TempBackup.Bak

.ldf .mdf .ldf .mdf .ldf

.mdf .ldf

.mdf

Backup Log DB_Name to D:\SQLBackups\Weekly_T_Log.Bak with INIT

Lose .mdf file of database on Thursday at 4:00pm

(2) (3)

(1) (4)

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

Patrocinadores

Q&A

Recuerda Evaluar

la sesión

SQL Server 2012 & SharePoint

Server 2013, integración cercana a

la perfección

Gracias