Novedades de Microsoft SQL Server 2000
64 bits Edition
Gonzalo MorenoGerente de ServidoresMicrosoft 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 BoucauMicrosoft MVP SQL Server www.portalsql.com
Failover Clustering
Stand by Servers / Warm Servers
Log Shipping
Alta Disponibilidad
Opciones disponibles
Los servidores de misión crítica se
apoyan en
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
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 – Un poco de historia …
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
Clustering en Windows 2000
2 Nodos W2000 Advanced Server
3 Nodos W2000 Datacenter Server
4 Nodos W2000 Datacenter Server
Alta Disponibilidad
Clustering – La actualidad
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
Nodo A
Nodo B
Array de discos compartido
Alta Disponibilidad
Clustering – ¿Cómo funciona el Cluster?
LAN
Heartbeat
SQL 2000 Virtual Server - MSCS
SQL 2000 Virtual Server - MSCS
LAN
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 administradores 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 CPU 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
Clustering
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)
Producción Stand by Server
Copia
de Log de Log
RestoreBackup
Monitor
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 SysLogins 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_logins................. elimina los posibles problemas
de login
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
Alta Disponibilidad
Log Shipping
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é?
El tiempo es dinero
A nadie le gusta esperar
Aprovechar los recursos al máximo
Análisis de Performance
Finalidad
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
Control /
Búsqueda de mermas de performance
Análisis de Performance
SQL Server - T-SQL
Sólo recuperar lo necesario (nunca datos de más)
SELECT * FROM Tabla WHERE ...
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
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.
Optimización (Query Optimizer)
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta )
No se consideran argumentos de búsqueda:
Comparaciones entre columnas: SALDO > SOBRE_GIRO
Cálculos: SALDO * 1.5
Optimización (Query Optimizer)
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta )
Búsqueda de JOINs en la consulta
Microsoft recomienda no utilizar la cláusula WHERE; si, en cambio, usar ON.
Optimización (Query Optimizer)
Análisis de Performance
SQL Server - T-SQL (Ejecución de una consulta )
SELECT Apellido, Nombre FROM Clientes, Cuentas
WHERE Clientes.Cliente_ID = Cuentas.Cliente_ID
AND Cuentas.Nivel = ‘VIP’
SELECT Apellido, Nombre FROM Clientes INNER JOIN Cuentas
ON Clientes.Cliente_ID = Cuentas.Cliente_ID
WHERE Cuentas.Nivel = ‘VIP’ANSI
T-SQL
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 - T-SQL
Análisis de Performance
SQL Server - Monitoreo
Herramientas
Windows Performance Monitor
SQL Server Profiler
En resumen …
En servidores críticos :
Implementar un ClusterImplementar Log Shipping automáticoImplementar un proceso de Log Shipping manual
En cualquier caso … Backup y Restore !!
SIEMPRE CONTROLAR EL DESEMPEÑO Y LA PERFORMANCE !
Websites de MVP’s
Salvador Ramos http://www.helpdna.netFernando Guerrero http://www.callsql.com Eladio Rincón http://eu.webmatrixhosting.net/Eladio
Grupo de noticias en castellano
Servidor: msnews.microsoft.comGrupo: microsoft.public.es.sqlserver
PASS Spanish Groupwww.sqlpass.org
Referencias
TechNet: www.microsoft.com/spain/technetMSDN: www.microsoft.com/spain/msdnSQL Server: msdn.microsoft.com/sqlserverSQL Server 64 bits: www.microsoft.com/sql/64bit/ DTS: www.sqldts.com
www.mssqlserver.comwww.sql-server-performance.com
www.connectionstrings.comwww.insidesqlserver.comwww.netiq.com
Sitios de interés
Windows Server 2003 paso a paso
¡Inscríbase ya!
¿Preguntas?
• Por favor, complete el formulario de evaluación
Cierre
• Intervalo de 10’
¡Muchas gracias!Emilio Boucau
Después del intervalo, en esta sala.
Tu potencial. Nuestra pasión.®