Índices
Un índice es un objeto que se crea en una tabla o vista, el cual permite agilizar el tiempo de respuesta al acceder los datos almacenados en tablas y vistas mediante el ordenamiento de los registros de manera organizadas.
Por defecto los registros de una tabla que no poseen un índice se almacenen sin ningún orden establecido, denominado heap . Cuando se trata de consultar los datos filtrando por cierta condición, la lectura a este tipo de tabla se realiza leyendo todos los registros hasta que la condición es satisfecha. A ésta lectura se le conoce como Full Table Scan.
Una tabla en SQL Server está contenida en una o más particiones. Una partición es una unidad de organización que permite separar de manera horizontal la ubicación en que se encuentran una tabla y sus índices, mientras continúan representándose como una sola unidad lógica.
Cuando una tabla es creada toda su data es contenida por defecto en una partición sencilla. Una partición contiene heap , y cuando se crea un índice posee una estructura tipo árbol ( BTree ).
Esta estructura empieza con un nodo raíz, el cual es el inicio del índice. Esta parte posee el índice de los datos conteniendo el rango de valores ordenados y apuntando al siguiente nivel hijo ( branch nodes) . El último nodo es denominado leaf level, el cual según el tipo de índice puede contener las páginas de datos o un puntero a un índice agrupado ( Clustered ).
Roles de BD
Un rol definido dentro de la BD equivale al Servicio de Directorio de un Dominio de Windows, el cual contiene Usuarios y Permiso Asignados a diferentes objetos (Esquemas, Tablas, Vistas, Stored Procedure o Conexiones de SQL Server).
Mediante los roles se es más manejable la asignación de permisos cuando existen grandes cantidades de usuarios, ya que se definen el control de los objetivos a nivel del rol, y luego los usuarios son asignados a estos roles. Se pueden crear tanto Roles como perfiles de control de seguridad se determinen.
Para crear un nuevo Rol se debe acceder por la carpeta de Seguridad\Rol que se encuentra dentro de la base de datos deseada.
Respaldo
La importancia de los procesos de respaldos rreessppaallddooss respaldos (backup) no debe ser una acción sobreestimada, debido a que la efectividad de esta tarea puede ser la diferencia para que una organización se mantenga operacionalmente trabajando.
Una estrategia de respaldo exitosa es aquella que está diseñada tomando en cuenta una efectiva recuperación rreeccuuppeerraacciióónn recuperación a través de controles que eviten la perdida de los datos y un sistema de verificación de manera periódica.
Se debe aclarar que un sistema de respaldo no es simplemente salvaguardar los archivos físicos que componen una base de datos (.mdf, .ndf, .ldf), y dependiendo del tipo de compañía y el volumen de transacciones, no basta con realizar un respaldo únicamente de manera nocturna.
Tipo de Almacenamiento
1) CCintas (Tapes)
Este medio ha sido utilizado históricamente por las instituciones con el principal objetivo de reducir el costo del almacenamiento, principalmente para aquellos que se conservan por largo períodos.
Los inconvenientes de utilizar cintas son: - Posee un alto porcentaje de fallo debido a su composición física.
- La recuperación puede tardarse, ya que los archivos son almacenados de manera secuencial. - Es limitado por la tecnología incorporada, que impide que se pueda utilizar para recuperaciones especiales, como a un diferente servidor para su verificación.
2) Discos (Disks)
Con estos dispositivos se tratan de superar las limitantes de las cintas, principalmente para tener una mejor disponibilidad del archivo de respaldo en un momento que se desee realizar una recuperación.
Los inconvenientes de utilizar discos son: - Consume mayor espacio en disco, porque cada archivo de respaldo se almacena en él.
- El fallo de un disco puede afectar más de un archivo de respaldo.
Tomando en cuenta estas características un esquema ideal para el proceso de respaldo es realizarlo de manera mixta que aproveche los beneficios de cada medio:
- Realizar los respaldos diarios en disco. - Copiar en cinta estos archivos de respaldo.
- Periódicamente (por ejemplo semanal o mensual) eliminar los archivos de respaldo para reducir espacio.
- Los archivos de respaldo se encuentran en 2 medios distintos.
- La recuperación de un respaldo reciente se hace desde el disco, si es más antiguo se busca en las cintas. - Se mantiene reducido el tamaño del disco de respaldo y no se utiliza la cinta como medio directo.
- Database: Nombre de la base de datos a la cual se le hará el respaldo.
- Recovery Model: Forma de recuperación de la base de datos (Simple, Full, Bulk Logged).
- Backup Type: Tipo de respaldo a realizar (Full, Differential, Transaction Log)
- Copy Only Backup: Opción que permite realizar un respaldo, sin afectar la secuencia de algún plan programado. Sólo aplica para los tipo Full y Transaction Log
- Backup Component: Se puede indicar si el respaldo es de la base de datos completa, o de algún grupo de archivo en particular.
- Name: Nombre del archivo físico que se creará con el respaldo.
- Backup Set Will Expire: Control de expiración del archivo generado.
- Destination: Repositorio donde se almacenará el archivo de respaldo (puede ser en disco, cinta, o dispositivo virtual)
- Back up to the existing media set: Indica si el backup se adjuntará al archivo actual o si sobrescribirá el ya existente.
- Check media set name and backup set expiration: Verifica el nombre y la fecha de expiración en el medio a almacenar.
- Back up to a new media set, and erase all existing backup sets: Se utiliza para realizar el backup en un nuevo medio.
- Reliability: Opciones de verificación del backup. Con la opción Checksum se verifican las páginas de datos sobre posibles incoherencias.
- Transaction log: cuando el backup es del log de transacciones, indica si se libera el espacio en el archivo de log o si se respalda la última porción del log y se deja la base de datos en estado de restauración.
- Tape drive: cuando se especifica un almacenamiento en cinta, se indica si se descarga la cinta y si se rebobina ante de la descarga.
- Compression: tipo de compresión del backup (User the default server setting, compress, not compress).
Tipos de Backup
1) Completo (Full)
Es el utilizado de manera frecuente. Realiza una copia completa de la base datos en un determinado momento y se puede realizar aunque la BD esté en uso (online backup).
2) Diferencial
Este tipo de respaldo registra sólo los cambios realizados desde el último respaldo completo que se haya realizado. Útil cuando se tiene una base de datos de gran tamaño que crece de manera diaria significativamente.
El ejemplo siguiente marca un respaldo completo que se realiza de manera semanal, y diariamente uno de tipo diferencial. Tomar en cuenta que mientras más distante se encuentre el backup full, más grande será el backup diferencial.
3) Transaccional (Transaction Log)
Con este tipo de respaldo se asegura que las transacciones puedan ser recuperadas en determinado momento luego de un fallo.
Utilizado para proceso de replicación y log shipping. Es útil para mantener el archivo de log transaccional reducido, ya es aplicable para liberar el espacio luego del respaldo.
Restauración
Esta operación se utiliza para restaurar una base de datos, a partir de un archivo de respaldo.
- To Database: Nombre de la base de datos que se desea restaurar. Puede nombrarse una nueva BD. - To a point time: Si existen varios respaldos, se indica un punto de restauración.
- From database: Nombre de la base de datos que contiene el archivo de respaldo.
- From device: Ubicación donde se encuentra el archivo de respaldo (una ruta física, o un dispositivo virtual)
- Restore Options: Indicadores del tipo de restauración.
o Reemplazando la existente base de datos (WITH REPLACE)
o Preservando la configuración de replicación (WITH KEEP_REPLICATION)
o Confirmando la restauración del backup
o Restringiendo el acceso a los usuarios (WITH RESTRICTED_USER)
- Restore the database file to: Detalla los archivos físicos que se van a restaurar y la ruta que presenta por defecto.
- Recovery state: Estado en la que se restaurará la BD.
o Lista para aplicarse transacciones (RESTORE WITH RECOVERY)
o Lista para restauración posterior del log (RESTORE WITH NORECOVERY)
o Lista para modo de sólo lectura (RESTORE WITH STANDBY)
Modos de Restauración
1) Simple
Mediante esta forma, automáticamente se aplican las transacciones que se encuentra en cache del log transaccional, y libera el espacio del mismo. Este mecanismo facilita las operaciones del DBA porque No tiene la necesidad de realizar un respaldo por separado del log.
Su desventaja es que no se puede recuperar a un punto determinado debido a que no se tiene un respaldo del log. Limitando esto al último respaldo completo o diferencial que se haya realizado.
2) Completo (Full)
Con este modo se mantienen todas las transacciones en el log transaccional hasta que se realizan su respectivo respaldo. Posibilitando así recuperar una base de datos en un determinado momento.
3) Registro de Carga Masiva (Bulk Logged)
Aplicado cuando se trabaja con largas operaciones de carga masiva (por ejemplo comandos como BULK INSERT, BCP, SELECT INTO, CREATE INDEX , DBREINDEX) . Mediante este tipo se realizan mínimos registros en el log, indicando únicamente los cambios en las extensiones (bloques de páginas de datos), para obtener un mejor rendimiento en el proceso.
Tiene la desventaja de una mayor posibilidad de riesgo en la perdida de la data
No hay comentarios:
Publicar un comentario