Novedades de Microsoft SQL Server 2000 64 bits Edition
Gonzalo Moreno Gerente de Servidores Microsoft de Argentina
SQL Server 2000 - 64 bits Edition
• Características de producto • ¿En que proyecto debo usar SQL 2000 64 bits? • Disponibilidad de producto
Alta Disponibilidad y Performance
en Microsoft SQL Server
Emilio Boucau Microsoft MVP SQL Server www.portalsql.com
Alta Disponibilidad
Opciones disponibles
Los servidores de misión crítica se apoyan en
Failover Clustering Stand by Servers / Warm Servers Log Shipping
Alta Disponibilidad
Clustering
Clustering … ¿Qué es clustering ?
Alta Disponibilidad
Clustering – Un poco de historia … Windows NT 3.51
Add-on llamado Wolfpack / NT Cluster Plus Pack Soporte nativo en Windows NT 4.0 Enterprise Edition
MSCS : Microsoft Clustering Server
Alta Disponibilidad
Clustering – Un poco de historia … SQL Server 6.5 Enterprise Edition
soportaba Clustering !
Alta Disponibilidad
Clustering – Un poco de historia … SQL Server 7.0 Enterprise Edition
introdujo importantes cambios al soporte de Clustering
Alta Disponibilidad
Clustering – La actualidad Windows 2000 incluye un poderoso soporte de Clustering
MSCS: Microsoft Cluster Service Windows 2000 Advanced Server
Windows 2000 Datacenter Server
Alta Disponibilidad
Clustering – La actualidad Clustering en Windows 2000
2 Nodos W2000 Advanced Server 3 Nodos W2000 Datacenter Server 4 Nodos W2000 Datacenter Server
Alta Disponibilidad
Clustering 2 Nodos - El Cluster más simple Activo / Activo Activo / Pasivo
Conceptos similares se aplican a Clusters de 3 y 4 nodos
Alta Disponibilidad
Clustering – ¿Cómo funciona el Cluster? LAN
LAN
SQL 2000 Virtual Server - MSCS
SQL 2000 Virtual Server - MSCS
Nodo A
Nodo B Heartbeat
Array de discos compartido
Alta Disponibilidad
Clustering Server Virtual
• Se le asigna un nombre • Se le asigna una IP • Para el cliente, es indistinto y transparente el nodo que le brinda servicio
Alta Disponibilidad
Clustering Pros del Clustering
• Reduce al mínimo los tiempos de un server caído • Tiene respuesta automática ante la caída de un nodo • No se necesita renombrar los servidores
• La recuperación es rápida: tan pronto se arregle el server
Alta Disponibilidad
Clustering Contras del Clustering
• Costo mayor que un Stand by server • Precisa más tiempo en la instalación • Requiere un mantenimiento mayor
• Requiere es de red y DBA’s con más experiencia
Alta Disponibilidad
Clustering Software necesario para un Cluster de 2 nodos • 2 Windows 2000 Advanced Server • 1 SQL Server 7 Ent. ó 1 SQL 2000 Ent. para un cluster Act / Pas • 2 SQL Server 7 Ent. ó 2 SQL 2000 Ent. para un cluster Act / Act
Aplicar el último Service Pack para Windows y SQL Server
Alta Disponibilidad
Clustering Software necesario para un Cluster de 3 ó 4 nodos • 3 ó 4 Windows 2000 Datacenter Server • 3 ó 4 SQL Server 7 Enterprise Edition ó SQL 2000 E.E.
Aplicar el último Service Pack para Windows y SQL Server
Alta Disponibilidad
Clustering Hardware necesario para un Cluster • 2 servidores con 256 MB de RAM y 1 U Pentium III • 2 placas de red en cada servidor • Un array de discos SCSI en RAID 5 o RAID 10
Alta Disponibilidad
Clustering
Log Shipping … ¿qué es Log Shipping?
Alta Disponibilidad
Log Shipping Integrantes del log shipping • 1 Servidor de producción (Primario) • 1 ó más servidores receptores (Secundarios) • 1 Servidor de monitoreo (Monitor)
Alta Disponibilidad Producción
Log Shipping
Stand by Server
Monitor
Backup
Restore Copia
de Log
de Log
Alta Disponibilidad
Log Shipping Log Shipping automático Utilizar versión Enterprise de SQL Server 2000 (para SQL Server 7 esta implementado en el Resource Kit) Hacer un DTS que copie Syss y lo restaure en el Stand by server (al menos 1 vez), o no existirán los derechos !
Alta Disponibilidad
Log Shipping Sincronizando los servidores
¿Cuán sincronizados deben estar? ¿Cada cuánto tiempo se transfiere el log? ¿Cuánto tardará en copiarse y aplicarse el log?
Utilizar una conexión directa al pair server, no network normal
Alta Disponibilidad
Log Shipping Activar el servidor
sp_change_primary_role....... deja de ser el primario sp_change_secondary_role... deja de ser el secundario sp_change_monitor_role...... notifica del cambio de roles
sp_resolve_s................. elimina los posibles problemas de
Alta Disponibilidad
Log Shipping No tengo SQL Server 2000 Enterprise o Tengo SQL Server 7 y no tengo el Resource Kit... … qué hago ?
Alta Disponibilidad
Log Shipping Log Shipping manual … ¿se puede?
Utilizando RESTORE combinado con WITH STANDBY ............ modo read-only y acepta archivos de log WITH NORECOVERY ...... solo acepta archivos de log WITH RECOVERY .......... aplica el log y entra en proceso de recovery
Alta Disponibilidad
Log Shipping Log Shipping manual
En el servidor de producción: 1) BACKUP DATABASE 2) BACKUP LOG
*
* Rehacer esta operación en los períodos establecidos (un Job es
lo normal)
Alta Disponibilidad
Log Shipping Log Shipping manual
En el Stand by server : 1) RESTORE DATABASE WITH STANDBY (modo read-only y acepta archivos de log). WITH NORECOVERY solo acepta logs. 2) RESTORE LOG WITH STANDBY * * Para cada copia del log recibida
Alta Disponibilidad
Log Shipping Log Shipping manual
Levantar el Stand by server 1) Ultimo Backup/Restore de log (si se puede) 2) RESTORE DATABASE WITH RECOVERY
En resumen …
En servidores críticos : Implementar un Cluster Implementar Log Shipping automático Implementar un proceso de Log Shipping manual
En cualquier caso … Backup y Restore !!
Análisis de Performance
Performance … ¿Para qué?
Análisis de Performance
Finalidad El tiempo es dinero
A nadie le gusta esperar Aprovechar los recursos al máximo
Análisis de Performance
Control /
Búsqueda de mermas de performance El Front-End
El diseño de la base La configuración del SQL Server El hardware del servidor (insuficiente o mal configurado)
Análisis de Performance
SQL Server - T-SQL Sólo recuperar lo necesario (nunca datos de más) SELECT * FROM Tabla WHERE ...
Análisis de Performance
SQL Server - T-SQL Agregar, quitar o modificar los índices (usar Covered Indexes cuando sea posible) Utilizar Stored Procedures en vez de queries Analizar el plan de ejecución de los procesos
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta ) Optimización (Query Optimizer) Argumentos de búsqueda: partes del query que acotan las búsquedas (los índices deberían estar armados para ayudarnos en esto !). =, >, <, >=, <=, BETWEEN, LIKE, IN Los operadores lógicos AND y OR agrupan argumentos de búsqueda.
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta ) Optimización (Query Optimizer) No se consideran argumentos de búsqueda: Comparaciones entre columnas: SALDO > SOBRE_GIRO Cálculos: SALDO * 1.5
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta ) Optimización (Query Optimizer) Búsqueda de s en la consulta
Microsoft recomienda no utilizar la cláusula WHERE; si, en cambio, usar ON.
Análisis de Performance
SQL Server - T-SQL SELECT Apellido, Nombre FROM Clientes, Cuentas WHERE Clientes.Cliente_ID = Cuentas.Cliente_ID
T-SQL
AND Cuentas.Nivel = ‘VIP’ SELECT Apellido, Nombre FROM Clientes INNER Cuentas
ON Clientes.Cliente_ID = Cuentas.Cliente_ID WHERE Cuentas.Nivel = ‘VIP’
ANSI
Análisis de Performance
SQL Server - T-SQL ¡ Utilizar Stored Procedures siempre que se pueda ! El query plan de la consulta es reaprovechable El código ya esta chequeado, normalizado y optimizado
Usar sp_recompile si el código del SP se modifica
Análisis de Performance
SQL Server - T-SQL Emplear los triggers con cautela (tanto INSTEAD OF como AFTER)
Evitar el uso de cursores Usar OLE DB para cceder datos (evitar ODBC si se puede)
Análisis de Performance
SQL Server - Monitoreo Herramientas Windows Performance Monitor SQL Server Profiler
En resumen … En servidores críticos : Implementar un Cluster Implementar Log Shipping automático Implementar un proceso de Log Shipping manual En cualquier caso … Backup y Restore !!
SIEMPRE CONTROLAR EL DESEMPEÑO Y LA PERFORMANCE !
Referencias Websites de MVP’s Salvador Ramos http://www.helpdna.net Fernando Guerrero http://www.callsql.com Eladio Rincón http://eu.webmatrixhosting.net/Eladio
Grupo de noticias en castellano Servidor: msnews.microsoft.com Grupo: microsoft.public.es.sqlserver Spanish Group www.sql.org
Sitios de interés TechNet: www.microsoft.com/spain/technet MSDN: www.microsoft.com/spain/msdn SQL Server: msdn.microsoft.com/sqlserver SQL Server 64 bits: www.microsoft.com/sql/64bit/ DTS: www.sqldts.com
www.mssqlserver.com www.sql-server-performance.com www.connectionstrings.com www.insidesqlserver.com www.netiq.com
Windows Server 2003 paso a paso
¡Inscríbase ya!
Cierre ¿Preguntas? • Por favor, complete el formulario de evaluación • Intervalo de 10’
¡Muchas gracias! Emilio Boucau
[email protected] www.portalsql.com
Después del intervalo, en esta sala.
®
Tu potencial. Nuestra pasión.