SQL Server, ideas y experiencias

Documento de SQL Server 2008 Failover Clustering

por Jose Mariano Alvarez 12. julio 2009

La gente de SQLCAT ha publicado un nuevo documento. En esta ocasión el documento es un complemento de la documentación existente en los libros en pantalla sobre la planificación, implementación y administración de SQL Server 2008 failover cluster.

Es un largo documento de 175 páginas donde se detallan aspectos de esta tecnología probada y fiable de alta disponibilidad y está lleno de información útil donde hay muchos links a los contenidos existentes de la documentación oficial.

Los principales aspectos que trata son:

  • La arquitectura del clúster
  • Conceptos de cluster de Windows Server y SQL Server 2008.
  • Mejoras y actualizaciones a SQL Server 2008 failover clustering
  • Mantenimiento y administración de SQL Server 2008.

Pueden encontrar el documento en el siguiente link:

SQLCAT - SQL Server 2008 Failover Clustering

Tags: , , , ,

Novedades

Como reducir y truncar el Log de Transacciones

por Jose Mariano Alvarez 4. abril 2009

Introducción

Uno de los problemas recurrentes y más comunes es el reducir el tamaño del archivo del log de transacciones (transaction log) cuyo crecimiento desmedido en general se produce debido al desconocimiento de la función que cumple y que debe hacerse para que no ocurra.

La función del log de transacciones

En el SQL server el log de transacciones cumple un rol importante y es el de garantizar la integridad de la base de datos. Antes de que las modificaciones realizadas por un usuario en la base de datos sean escritas en alguno de los archivos de datos (archivos MDF y NDF), se realiza la escritura en el log de transacciones (archivos LDF). Las modificaciones son confirmadas al cliente como terminadas (commit de la transacción) cuando la escritura en el log de transacciones se completa aunque las páginas de datos aun permanezcan en memoria y no hayan sido grabadas en los correspondientes archivos de datos. Esto provoca que ante una falla sea necesario recurrir al log de transacciones para recuperar la base de datos porque allí es el único lugar donde se encuentra la información de las modificaciones. Por lo tanto, NO SE DEBE forzar al SQL Server a construir un nuevo archivo de log de transacciones parando el servicio del SQL Server para borrar el log de transacciones desde el sistema operativo.

Solución a problemas

Si el log de transacciones ha crecido es porque SQL Server ha precisado espacio adicional para garantizar que pueda recuperarse ante una falla del disco de datos. Por lo tanto existen varias estrategias básicas una vez que se ha llegado a este punto:

  1. Truncar el log de transacciones, lo que significa hacer un backup de log de las entradas correspondientes a las modificaciones realizadas y así reutilizar el espacio del log de transacciones. El SQl Server usa una estrategia de estructura de datos en añillo para reutilizar el log de transacciones. Luego usar una de las siguientes opciones:
    • Mantener el espacio ocupado por el archivo del log de transacciones.
    • Reducir el archivo del log de transacciones porque ha crecido demasiado.
  2. Dejar seguir creciendo el log de transacciones.
  3. No utilizar el log de transacciones para garantizar la recuperación sino únicamente para la integridad de cada transacción y hacer que lo trunque automáticamente al teminar la misma. El tamaño en este caso no crece a menos que haya alguna transacción que no quepa en el log de transacciones actual. Luego usar una de las siguientes opciones:
    • Mantener el espacio ocupado por el archivo del log de transacciones.
    • Reducir el archivo del log de transacciones porque ha crecido demasiado.

Aquí entran en juego los modelos de recuperación de las bases de datos

  • En el modelo de recuperación Full la modificaciones permanecen en los archivos del log de transacciones hasta que se hace un backup del log de transacciones,  luego del backup el espacio de log de transacciones no activas respaldadas puede reutilizarse.
  • En el modelo de recuperación simple, las modificaciones son marcadas automaticamente como completadas en el log de transacciones y el espacio puede reutilizarse.

Por lo tanto es importante tener bien claro que el Backup de las bases de datos NO TRUNCA el log de transacciones pero el backup del log de transacciones SI LO PUEDE HACER.

Por lo tanto para mantener el tamaño del log de transacciones bajo control y para garantizar la recuperabilidad es recomendable realizar el backup del log de transacciones frecuentemente.

 

Ejemplos y alternativas para truncar el log de transacciones.

Se debe tener en cuenta que estas son acciones correctivas y solo deben ser realizadas por única vez. El backup periódico del log de transacciones es la manera correcta de mantener el log de transaciones bajo control.

Ejemplo 1: Usando el backup del log de transacciones:

BACKUP LOG [AdventureWorks] 

TO DISK = N'C:\Backup\AdventureWorks.bak' 
WITH NOFORMAT, NOINIT, 
NAME = N'AdventureWorks-Transaction Log Backup', 
SKIP, NOREWIND, NOUNLOAD, STATS = 10 

Ejemplo 2: Pasar la base de datos temporariamente de full a simple para forzar el truncado del log de transacciones. Es recomendable realizar esta operacion en single user para evitar que haya posibles transacciones de otros usurios durante el tiempo que la base de datos esta en modo simple y no permanezcan respaldados en el log de transacciones definitivo. Es recomendable realizar un backup de la base de datos para garantizar la recuperabilidad.

USE [master] 
GO 

ALTER DATABASE [AdventureWorks] SET RECOVERY SIMPLE WITH NO_WAIT 
GO 
ALTER DATABASE [AdventureWorks] SET RECOVERY SIMPLE 
GO 

CHECKPOINT 
GO 
CHECKPOINT 
GO 

ALTER DATABASE [AdventureWorks] SET RECOVERY FULL WITH NO_WAIT 
GO 
ALTER DATABASE [AdventureWorks] SET RECOVERY FULL 
GO

 

La recomendación general es:

  • Utilizar una estrategia de backup que realice BACKUP FULL de la base de datos con Backup del log de transacciones periódicamente.
  • No borrar el log de transacciones manualmente salvo una causa de fuerza mayor

 

Como reducir el tamaño del archivo del log de transacciones

Hasta ahora solo logramos truncar el log de transacciones pero no reducir el tamaño del archivo. Al ejecutar DBCC SHRINKFILE le indicamos al SQL Server que queremos reducir el tamaño físico del archivo, en nuestro caso podemos hacerlo sobre los archivos fisicos que componen el del log de transacciones.

Importante: Solo se podrá truncar la parte inactiva del log de transacciones.

 

Más información en el sitio de microsoft

Truncación del registro de transacciones

Reducir el registro de transacciones

Cómo detener el crecimiento inesperado del registro de transacciones de una base de datos de SQL Server

Tags: , , ,

Artículos

Documento - SQL Server Consolidation at Microsoft

por Jose Mariano Alvarez 1. abril 2009

Para aquellos que estén pensando en consolidar sus servidores SQL, este whitepaper de Microsoft IT les puede resultar de interés. Encara el tema desde el punto de vista de la consolidación de hosts, de instancias y de bases de datos.

Revisa el despliegue de SQL Utility en Microsoft, las decisiones que hizo, los detalles de la ejecución, y los aspectos de la calidad del sistema.

Está orientado a los encargados de adoptar decisiones técnicas y familiarizados con las tecnologías de Windows Server y SQL Server para servir como orientación. Cada entorno debe adaptar las lecciones aprendidas para satisfacer sus necesidades específicas.

Un tema incluido también es la virtualización ya que es una solución muy interesante para aplicar en este tema.

SQL Server Consolidation at Microsoft

Tags: ,

Documentos

Auditando en SQL Server 2008 con SQL Server Audit

por Jose Mariano Alvarez 12. marzo 2009

SQL Server 2008 introduce “SQL Server Audit” una nueva característica importante que ofrece una verdadera solución de auditoría.

Si bien el SQL Trace puede ser utilizado para satisfacer muchas necesidades de auditoría, la nueva auditoría de SQL Server ofrece una serie de ventajas que pueden ayudar a los DBA a alcanzar más facilmente sus objetivos como por ejemplo el cumplimiento de los requisitos legales requeridos para respetar las normas de seguridad. Estas incluyen la habilidad de proporcionar el almacenamiento centralizado de los registros de auditoría, la integración con System Center y un mejor rendimiento entre otras.

Este documento proporciona una descripción completa de la nueva característica de auditoría introducidas en el SQL Server 2008, y una guía de uso y algunos ejemplos prácticos.

Pueden encontrar el documento en el siguiente link:

Auditing in SQL Server 2008

Tags: ,

Documentos

Herramienta para el manejo de particiones en SQL Server

por Jose Mariano Alvarez 7. marzo 2009

La técnica de ventana deslizante es utiliza habitualmente con el particionado de tablas para manejar grandes volúmenes de datos, sobre todo en las tablas de hechos de los data warehouse. Esta herramienta permite la carga de nuevos datos y archivado o eliminación de los datos viejos.

Proporciona un conjunto de comandos (línea de comandos y Powershell) para crear una tabla staging o a demanda (incluidos los índices y constraints), basados en una tabla particionada y una partición en particular. Llamando a este ejecutable con parámetros los DBAS puede evitar tener que predefinir scripts de SQL y mantener estos scripts en sintonía con los cambios en las tablas de partición columnas o índices. También proporciona una forma rápida para borrar rápidamente todos los datos de una partición.

Esta herramienta es compatible con SQL Server 2005/2008. En el caso de usar SQL Server 2008 permite usar las nuevas características como índices filtrados (Filtered index), los nuevos tipos de datos y las vistas indexadas alineadas a particiones.

Lo pueden encontrar en codeplex : “SQL Server Partition Management

Tags: , , ,

Novedades

SQL Server 2008 Service Pack 1 (SP1) CTP

por Jose Mariano Alvarez 4. marzo 2009

A partir del 23 de febrero se encuentra disponible el CTP del primer service pack del SQL Server 2008.

El mismo presenta las siguientes novedades:

Slipstream – Ahora se puede integrar la instalación del producto con los service pack e instalar todo en una sola instalación..
Service Pack Uninstall – Se puede remover el Service pack sin remover todo 
Report Builder 2.0 Click Once capability

download

SQL Server 2008 Service Pack 1 (SP1) CTP

download SQL Server 2008 Express Edition Service Pack 1 - CTP

 

Pueden leer más detalles en blog de Release Services.
SQL Server 2008 Service Pack 1 (SP1) CTP

Tags: , , ,

Actualizaciones | Novedades

Nueva versión del script “Who is Active”

por Jose Mariano Alvarez 18. febrero 2009

Es un script basado en las DMV para seguimiento de los procesos activos.

Está diseñado para mostrar de un vistazo qué procesos están activos en su SQL Server y lo que hacen. También tiene un número de características opcionales para que pueda obtener resultados rápidamente, o monitorear detalladamente quién está activo.

Pueden encontrar más información en el sitio del autor y descargar el script.

 Who is Active? v7.30

Tags: , ,

Novedades

Powered by SQL Total Consulting


View Jose Mariano Alvarez's profile on LinkedIn

 Add to Technorati Favorites 

Calendar

<<  noviembre 2017  >>
lumamijuvido
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Locations of visitors to this page

Widget Twitter not found.

Root element is missing.X


Valid XHTML 1.0 Transitional

Valid CSS!