Reportes Con BD SNAPSHOT SQL Server 2008
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
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/