25
Patrocinadores Oro Patrocinadores Plata

Trucos, Optimización y Buenas Prácticas para SQL

Embed Size (px)

Citation preview

Page 1: Trucos, Optimización y Buenas Prácticas para SQL

Patrocinadores Oro

Patrocinadores Plata

Page 2: Trucos, Optimización y Buenas Prácticas para SQL

Trucos, Optimización y Buenas Prácticas para SQL Server en un

entorno SharePoint

Antonio Soto

Director de Operaciones

[email protected]

Page 3: Trucos, Optimización y Buenas Prácticas para SQL

Agenda

• Almacenamiento de SharePoint

• Administrar Bases de Datos de Contenido

• Database Mirroring

• Buenas Prácticas

• SQL Server 2008

Page 4: Trucos, Optimización y Buenas Prácticas para SQL

Almacenamiento de SharePoint

• Principalmente SQL Server

– Base de datos de contenido

– Base de datos de configuración

• EBS: External BLOB Store

• Windows Internal Database

Page 5: Trucos, Optimización y Buenas Prácticas para SQL

Agenda

• Almacenamiento de SharePoint

• Administrar Bases de Datos de Contenido

• Database Mirroring

• Buenas Prácticas

• SQL Server 2008

Page 6: Trucos, Optimización y Buenas Prácticas para SQL

Administrar Bases de Datos de Contenido

• ¿Cuántas debemos de utilizar?

• Operaciones con Bases de Datos de Contenidos

Page 7: Trucos, Optimización y Buenas Prácticas para SQL

¿Cuántas debemos de utilizar?

• La recomendación es no tener una base de contenido de más de 100 Gb

– No es una base de datos grande para SQL Server

– Fundamentalmente concurrencia y mantenimiento

– Copia de seguridad y restauración

• Agrupar colecciones del sitio con funcionalidad similar

– Solo lectura

– Lectura-Escritura

Page 8: Trucos, Optimización y Buenas Prácticas para SQL

Operaciones con Bases de Datos de Contenido

• Podemos agregar, dividir y mezclar bases de datos de contenidos

– stsadm -o mergecontentdbs

• Podemos moverla

– Migraciones de ediciones

• Windows Internal Database o SQL Server Express

– Entre Instancias de SQL Server

Page 9: Trucos, Optimización y Buenas Prácticas para SQL

Agenda

• Almacenamiento de SharePoint

• Administrar Bases de Datos de Contenido

• Database Mirroring

• Buenas Prácticas

• SQL Server 2008

Page 10: Trucos, Optimización y Buenas Prácticas para SQL

Database Mirroring

• ¿Qué es Database Mirroring?

• Database Mirroring en una Granja

• Database Mirroring entre Granjas

• Restricciones en SharePoint

Page 11: Trucos, Optimización y Buenas Prácticas para SQL

¿Qué es Database Mirroring?

• Tecnología de HA de SQL Server

– Tecnología Software

• Tres modos de funcionamiento

– Alto-Rendimiento

– Alta Protección

– Alta Disponibilidad

• Servidor Testigo

Page 12: Trucos, Optimización y Buenas Prácticas para SQL

Database Mirroring en una Granja

Principal instance Mirror instance

High

availabilty

mirroring

Web, query and application server

Web, query and application server

Index and application server

SQL Server 1 SQL Server 2

Witness server (Optional)

Configuration

Central administration

SSP content

SSP

SSP search

WSS search

Content

Configuration

Central administration

SSP content

SSP

SSP search

WSS search

Content

Page 13: Trucos, Optimización y Buenas Prácticas para SQL

Database Mirroring entre granjasSecondary Server FarmPrimary Server Farm

Principal instance Mirror instance

Web, query and application server

Web, query and application server

Index and application server

SQL Server 1 SQL Server 2

High safety

or

High performance

mirroring

Configuration

Central administration

WSS search

SSP search

SSP content

SSP

Content

Configuration

Central administration

WSS search

SSP Search

Content

Web, query and application server

Web, query and application server

Index and application server

SSP

SSP Content

Page 14: Trucos, Optimización y Buenas Prácticas para SQL

Restricciones en SharePoint

• Configuración y Administración Central debe de ser asíncrona

– Y SSP si contiene Search

• El Failover debe de ser manual

• No Soportado:

Page 15: Trucos, Optimización y Buenas Prácticas para SQL

Agenda

• Almacenamiento de SharePoint

• Administrar Bases de Datos de Contenido

• Database Mirroring

• Buenas Prácticas

• SQL Server 2008

Page 16: Trucos, Optimización y Buenas Prácticas para SQL

Buenas Prácticas

• ¿Dónde coloco las bases de datos?

• Optimizando Indexación

• Tareas de Mantenimiento

Page 17: Trucos, Optimización y Buenas Prácticas para SQL

¿Dónde Coloco las bases de datos?

1. Ojo con tempdb

1. RAID 10

2. Tantos ficheros del mismo tamaño como Cores

2. Logs de transacciones

1. Excepto si es un portal fundamentalmente de lectura

3. Base de datos de Búsqueda

4. Ficheros de bases de datos

Page 18: Trucos, Optimización y Buenas Prácticas para SQL

Optimizando Indexación

• Separar la base de datos de búsqueda

• Optimizar tempdb

• Desfragmentar bases de datos

Page 19: Trucos, Optimización y Buenas Prácticas para SQL

Tareas de Mantenimiento

• Cuidado con el log de transacciones….

• Chequeo de Consistencia– DBCC CHECKDB

– Al menos semanalmente

• Desfragmentación– A nivel de fichero

• Tamaño de base de datos y crecimiento manual

– A nivel de objetos• Monitorización sys.dm_db_index_physical_stats

• Procedimiento en KB 943345

Page 20: Trucos, Optimización y Buenas Prácticas para SQL

Agenda

• Almacenamiento de SharePoint

• Administrar Bases de Datos de Contenido

• Database Mirroring

• Buenas Prácticas

• SQL Server 2008

Page 21: Trucos, Optimización y Buenas Prácticas para SQL

SQL Server 2008

• Compresión de Copias de Seguridad

• Cifrado de Datos Transparente

• Compresión Log Stream

• Resource Governor

• Mejoras en Database Mirroring…..

Page 22: Trucos, Optimización y Buenas Prácticas para SQL

Mejoras en Mirroring : Auto-reparación• Se reparan los errores 823, y un subconjunto del 824

• Las páginas corruptas y su recuperación se guardan como “supect pages”

• Visibilidad de páginas auto-reparadas mediante la DMV

– sys.dm_database_mirroring_auto_page_repair

• Eventos de traza

– Clase DBMIRRORING_AUTO_PAGE_REPAIR

BBDDPrincipal

BBDDEspejoEndpoint Endpoint

X

Página corrupta!

Automáticamente Reparado!

Page 23: Trucos, Optimización y Buenas Prácticas para SQL

DEMO

• SQL Server 2008

Page 24: Trucos, Optimización y Buenas Prácticas para SQL

Trucos, Optimización y Buenas Prácticas para SQL Server en un

entorno SharePoint

Antonio Soto

Director de Operaciones

[email protected]

Page 25: Trucos, Optimización y Buenas Prácticas para SQL

Recursos

• SharePoint Performance Optimization• Planning and Monitoring SQL Server Storage for Office SharePoint Server: Performance

Recommendations and Best Practices (white paper) http://technet.microsoft.com/en-us/library/cc263261.aspx

• Database maintenance for Office SharePoint Server 2007 (white paper)http://technet.microsoft.com/en-us/library/cc262731.aspx

• How to defragment Windows SharePoint Services 3.0 databases and SharePoint Server 2007 databases http://support.microsoft.com/kb/943345

• Information about the Maintenance Plan Wizard in SQL Server 2005 and about tasks that administrators can perform against SharePoint databaseshttp://support.microsoft.com/kb/932744/

• You experience issues with portal alerts in SharePoint Portal Server 2003 or with search performance in SharePoint Server 2007 after you create SQL Server 2005 maintenance planshttp://support.microsoft.com/kb/930887

• SQL Server 2008 Support for SharePoint Products and Technologies http://blogs.msdn.com/sharepoint/archive/2008/08/15/sql-server-2008-support-for-sharepoint-products-and-technologies.aspx

• Support for changes to the databases that are used by Office server products and by Windows SharePoint Services