Reportes Con BD SNAPSHOT SQL Server 2008

download Reportes Con BD SNAPSHOT SQL Server 2008

of 25

Transcript of Reportes Con BD SNAPSHOT SQL Server 2008

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    1/25

    Creando escenarios para reportescon bases de datos SNAPSHOT

    Hctor Meza Salgado

    Arquitecto de Software

    [email protected]

    http://www.sqlpasschile.cl/http://www.sqlpasschile.cl/
  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    2/25

    Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Agenda

    Esquema de un SNAPSHOT de Base de DatosQue es?

    Para que sirve?

    Funcionamiento

    Metadatos

    Requisitos y Limitaciones

    AplicacinCrear una SNAPSHOT

    Revertir una SNAPSHOT Eliminar una SNAPSHOT

    Cuando no usar SNAPSHOT

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    3/25

    Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Agenda

    Escenarios de uso

    Tpicos Avanzados

    Mirroring + SNAPSHOT

    SNAPSHOT Isolation

    Uso de memoria (cach de datos)

    Sparse Files

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    4/25

    Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Esquema de un SNAPSHOT de BD

    Que es una SNAPSHOT

    Una vista esttica de slo lectura de una BD

    origen. Pueden existir varias SNAPSHOT de una BD

    coexistiendo en la misma instancia de servidor.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    5/25

    Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Esquema de un SNAPSHOT de BD

    Para que sirve una SNAPSHOT

    Crear una BD para reportes.

    Devolver una BD al punto en que se creo la SNAPSHOT.

    Prevencin de errores por uso administrativo o de usuariosde la BD.

    Utilizar una BD en Mirroring que est en mantenimiento.

    Obtener una imagen de una BD antes de aplicar un cambioimportante (paso a produccin).

    Administrar escenarios de pruebas de desarrollo y QA.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    6/25

    Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Esquema de un SNAPSHOT de BD

    Funcionamiento Trabaja a nivel de pginas de datos.

    Antes de modificar una pginaoriginal la copia a la BD SNAPSHOT

    (copy-on-write). Almacena las pginas originales en

    archivos dispersos (sparse files,esencialmente una entrada Fileallocation tablede NTFS).

    Al momento de crear la SNAPSHOT las

    transacciones no confirmadas sondescartadas.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    7/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Esquema de un SNAPSHOP de BD

    Funcionamiento

    No hay almacenamientoredundante en la SNAPSHOT, laspginas no modificadas se leende la BD Original.

    El espacio en disco de unaSNAPSHOT depende la cantidadde pginas diferentes sonmodificadas de la BD original.

    El patrn de actualizacin deuna BD incide directamente

    sobre las operaciones de lecturae ndice de crecimiento deltamao de los archivos de la BDSNAPSHOT.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    8/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Esquema de un SNAPSHOT de BD

    METADATOS Una BD SNAPSHOT expone los metadatos de la BD original.

    No expone metadatos de una BD en Mirroring o de BD confunciones de Full-Text Search activados.

    En sys.database_filesde una BD SNAPSHOT la columnaphysical_namesiempre almacena el nombre de los archivos dela BD de origen.

    Al revertir una BD desde una SNAPSHOT los Metadatos no sealteran.

    Las BD SNAPSHOT se crean con la opcinALLOW_SNAPSHOT_ISOLATIONen ON.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    9/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Requisitos y Limitaciones

    Requisitos Slo disponible en SQL Server 2005 Enterprice y versiones

    superiores.

    Espacio en disco, dependiendo del nivel de actualizacinde la BD origen.

    Aplicable a cualquier BD de usuario, independiente sitienes otras opciones del motor activadas:

    Rplicacin

    Log Shipping

    Mirroring (en modo sincronizado)

    Fail Over Clustering

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    10/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Requisitos y Limitaciones

    Limitaciones Se crear en la misma instancia de la BD de origen.

    No admite operaciones de Backup/Restore.

    Hereda esquema de seguridad de la BD de origen y nopuede ser alterado.

    En combinacin con Log Shipping, slo admite SNAPSHOTsobre la BD primaria.

    Los archivos FILESTREAM no son compatibles con unaSNAPSHOT.

    Una BD original con SNAPSHOT no puede: Ser eliminada, des-atachada ni restaurada.

    Reduce su rendimiento por el aumento de E/S.

    No se pueden eliminar archivos de la BD ni se sus SNAPSHOTS.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    11/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Requisitos y Limitaciones

    LimitacionesNo permite operaciones de Full-text indexing.

    Slo de pueden crear SNAPSHOTS sobre NTFS (no FAT32 niRAW).

    Si una BD origen queda en RECOVERY_PENDING es

    probable que no se tenga acceso a sus SNAPSHOTS.Una BD SNAPSHOT no se puede configurar como una BD

    compartida escalable.

    Las BD SNAPSHOT heredan el estado de los grupos dearchivos al momento de crearla, on line y off line.

    Si al momento de grabar una pgina en una BD SNAPSHOTse produce un error, por espacio en disco, la BD quedaSUSPECT.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    12/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Crear una SNAPSHOT Se crea a partir de Transact-SQL.

    CREATE DATABASE AdventureWorks2008R2_dbss1800 ON

    ( NAME = AdventureWorks2008R2_Data, FILENAME =

    'C:\Program Files\Microsoft SQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks20

    08R2_data_1800.ss' )AS SNAPSHOT OF AdventureWorks2008R2;

    GO

    Se pueden crear N SNAPSHOT a partir de una BD original,diferencindolas por el nombre.

    Para conectarse a la BD SNAPSHOT los clientes deben conocer ella instancia y el nombre.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    13/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Crear una SNAPSHOT

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    14/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Revertir una BD original a partir de una SNAPSHOT Se revierte va Transact-SQL.

    USE master;

    GO

    RESTORE DATABASE AdventureWorks2008R2 from

    DATABASE_SNAPSHOT = 'AdventureWorks2008R2_dbss1800';

    GO

    Cualquier usuario con privilegios de RESTORE DATABASE enla BD de origen puede revertirla a una SNAPSHOTdeterminada.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    15/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Revertir una BD original a partir de una SNAPSHOT

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    16/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Revertir una BD original a partir de una SNAPSHOT

    Para revertir la BD a una SNAPSHOT en particular se debe: Borrar cualquier SNAPSHOT adicional.

    La BD de origen no puede tener sus archivos comprimidos o deslo lectura.

    No debe haber archivos sin conexin, a menos que estuvieran as

    al momento de crear la SNAPSHOT. La reversin sobre-escribe cualquier actualizacin

    posterior a la creacin de la SNAPSHOT.

    Se vuelve a crear el Transaction Log, por lo que seinterrumpe la secuencia de backups (rompe el Log

    Shipping).Durante la reversin la BD original ni la SNAPSHOT estn

    disponibles (In Restore).

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    17/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Eliminar una SNAPSHOT

    Va Management Studio o Transact-SQL.DROP DATABASE AdventureWorks2008R2_dbss1800

    Al eliminar una SNAPSHOT se borran todos los archivosdispersos asociados.

    Se terminan todas las conexiones de usuario.

    Cualquier usuario con privilegios de DROP DATABASEpuede eliminar una SNAPSHOT.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    18/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Aplicacin

    Cuando no usar una SNAPSHOT

    No se debe usar como alternativa de AltaDisponibilidad.

    No reemplaza un esquema regular de Backups.

    Una BD SNAPSHOT no protege contra errores de discoo corrupcin de la BD de origen.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    19/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Escenarios de Uso

    Informes por perodo

    Bases de datos para ambientes de prueba

    Recuperacin de Emergencia en Produccin

    Seguridad para operaciones crticas

    Bases de datos para reportes

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    20/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Tpicos Avanzados

    Mirroring + Snapshot

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    21/25Copyright 2012, SQL PASS Chile. All rights reserved.Professional Association for SQL Server

    SNAPSHOT Isolation

    Se basa en MVCC (Multi version concurrency control)

    Ventajas: Mayor nivel de consistencia incluso que un repetable red,con mayor nivel de concurrencia, ya que no realiza lockeos.

    Contras: Mayor overhead para mantener las distintas versiones de un

    conjunto de datos, lo que impacta en la performance.

    Uso Habitual: Cuando se necesita obtener informacin muy

    consistente y en entornos de alta concurrencia.

    Tpicos Avanzados

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    22/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Tpicos Avanzados

    Uso de Memoria

    El SNAPSHOT de base de datos combina los datos que mantiene la BDOriginal + los cambios sucedidos desde la creacin del snapshot, cadabase de datos es independiente, y los datos que necesita leer, residirn

    en su propia rea de memoria, ejemplo: La BD Original en el momento de creacin del Snapshot tena 100

    pginas.

    Con el paso del tiempo de la original se borraron 30 pginas, por loque en la Snapshot se registraron las 30 pginas "cambiadas".

    Al realizar lecturas de pginas suceder lo siguiente:

    Lecturas en la BD Snapshot de la tabla original devolver 100 pginas,y en su rea de memoria contendr las 100 pginas.

    Lecturas en la BD Original leern las 70 pginas, y en su rea dememoria contendr las 70 pginas.

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    23/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Tpicos Avanzados

    Sparse Files

  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    24/25Copyright 2012, SQL PASS Chile. All rights reserved. Professional Association for SQL Server

    Referencias

    Books on line

    http://msdn.microsoft.com/en-us/library/ms175158.aspx

    Tech Nethttp://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspx

    http://msdn.microsoft.com/en-us/library/ms175158.aspxhttp://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspxhttp://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspxhttp://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspxhttp://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspxhttp://msdn.microsoft.com/en-us/library/ms175158.aspxhttp://msdn.microsoft.com/en-us/library/ms175158.aspxhttp://msdn.microsoft.com/en-us/library/ms175158.aspx
  • 5/26/2018 Reportes Con BD SNAPSHOT SQL Server 2008

    25/25

    Preguntas?

    Hctor Meza Salgado

    Arquitecto de Software

    www.sqlpasschile.clh t @ l hil l

    http://www.sqlpasschile.cl/http://www.sqlpasschile.cl/