Resumen Exam 70-432 Microsoft SQL Server 2008 - Implementation and Maintenance

En Construncción...


Chapter 1 – Installing and Configuring SQL Server 2008

-Windows Server 2008 Server Core  no es soportado para instalaciones de SQL Server 2008

-Windows Server 2003 Standard SP2 o mayor y Windows Server 2008 Standard
RC0 or higher soportan todas las versiones de SQL Server 2008


Chapter 2 – Database configuration and Maintenance
Se almacena en 2 tipos de archivos: Data y transaction logs.

FileGroup son una estructura lógica definida con una base de datos.

Todos los objetos que contengan data, tables, indexes, and indexed views tienen una clausula ON que especifica el FileGroup donde se almacenan los objetos

Database OPTIONS

Recovery

Recovery Models:
            Full
            Bulk-Logged
            Simple

El modelo de recuperación determina los tipos de copias de seguridad que se pueden realizar contra una base de datos


FULL RECOVERY MODEL

http://www.bernardorobelo.com/2011/03/implementando-disaster-recovery.html

PAGE_VERIFY CHECKSUM ENEABLE :

Permite descubrir y registrar las páginas dañadas


AUTO OPTIONS:

http://msdn.microsoft.com/es-es/library/ms190249.aspx

 Opciones automáticas
________________________________________
Controlan determinados comportamientos automáticos.
Opción    Descripción    Valor predeterminado
AUTO_CLOSE     Si se establece en ON, la base de datos se cierra sin problemas y se liberan sus recursos después de que haya salido el último usuario. La base de datos se vuelve a abrir automáticamente cuando un usuario intenta utilizarla de nuevo.
Si se establece en OFF, la base de datos sigue abierta después de que haya salido el último usuario.    Es True para todas las bases de datos si se usa SQL Server 2000 Desktop Engine o SQL Server Express, y False en el resto de las ediciones, independientemente del sistema operativo.
AUTO_CREATE_STATISTICS     Si se establece en ON, se crean automáticamente estadísticas de las columnas utilizadas en un predicado.
Si se establece en OFF, las estadísticas no se crean automáticamente; en su lugar, se pueden crear manualmente.    True
AUTO_UPDATE_STATISTICS     Si se establece en ON, las estadísticas que le falten a una consulta para su optimización se generan automáticamente durante la optimización de la consulta.
Si se establece en OFF, las estadísticas se deben crear manualmente. Para obtener más información, vea Utilizar las estadísticas para mejorar el rendimiento de las consultas.
True
AUTO_SHRINK     Si se establece en ON, los archivos de las bases de datos se pueden reducir periódicamente. SQL Server puede reducir automáticamente los archivos de datos y los archivos de registro. AUTO_SHRINK reduce el tamaño del registro de transacciones solamente si el modelo de recuperación de la base de datos se establece en SIMPLE o si se realiza una copia de seguridad del registro.
Si se establece en OFF, los archivos de la base de datos no se reducen automáticamente durante las comprobaciones periódicas de espacio no utilizado.    False


CHANGE_TRAKING

http://msdn.microsoft.com/es-es/library/bb964713.aspx

ACCESS


Status of Database: ONLINE, OFFLINE y EMERGENCY

ONLINE: todas las operaciones son posibles
OFFLINE: inaccessible
EMERGENCY: Sólo puede acceder un member de db_owner rol y solo se permite SELECT

Modes: READ_ONLY or READ_WRITE
User access: SINGLE_USER, RESTRICTED_USER (db_owner, dbcreator and sysadmin roles) and MULTI_USER


PARAMETERIZATION FORCED
 http://msdn.microsoft.com/es-es/library/ms175037.aspx
http://msdn.microsoft.com/es-es/library/ms191275.aspx


Database Integrity Checks (PAGE_VERIFY)

http://msdn.microsoft.com/es-es/library/bb522682.aspx

- CHECKSUM (SETEAR EN UNA BD DE PRODUCCION)
- TORN_PAGE_DETECTION
- NONE

Para chequear la integridad de todas las páginas del disco ejecutar:

DBCC CHECKDB


Propiedades de Columnas

Nullability
COLLATE
IDENTITY
ROWGUIDCOL
FILESTREAM
NOT FOR REPLICATION (PARA RESETEAR IDENTITY EN REPLICACION)
SPARSE (PARA NULLS)

COMPUTED COLUMNS
(Property PERSISTED)

CHAPTER 4 ...
CHAPTER 5 ....

Distributing and Partitioning Data

SELECT * FROM sys.partition_range_values

CREATE PARTITION FUNCTION
mypartfunction (int)
AS RANGE LEFT
FOR VALUES (10,20,30,40,50,60)

CREATE PARTITION SCHEME mypartscheme AS PARTITION mypartfunction TO (Filegroup1,
Filegroup2, Filegroup3, Filegroup4, Filegroup5, Filegroup6, Filegroup7)

CREATE TABLE Employee (EmployeeID int NOT NULL,
FirstName varchar(50) NOT NULL,
LastName varchar(50) NOT NULL)
ON mypartscheme(EmployeeID);
GO

CREATE NONCLUSTERED INDEX idx_employeefirtname
ON dbo.Employee(FirstName) ON mypartscheme(EmployeeID);
GO

--View the partition scheme
SELECT * FROM sys.partition_schemes;


BACKUP TYPES

-    FULL
-    Differential
-    Transaction log
-    Filegroup


Proceso de backup:
-No se admite Adding or removing database file
-Ni Shrinking database
USE master;
ALTER DATABASE nombre_base_de_datos SET RECOVERY FULL;
ALTER DATABASE nombre_base_de_datos SET RECOVERY BULK_LOGGED;

Maintance Plans

Tasks that are supported by maintenance plans are:

􀁑 Backing up of databases and transaction logs
􀁑 Shrinking databases
 Re-indexing
􀁑 Updating of statistics
􀁑 Performing consistency checks

Se recomienda lo siguiente:
•    Antes de cambiar al modelo de recuperación optimizado para cargas masivas de registros, realice una copia de seguridad del registro.
Es importante porque, con el modelo de recuperación optimizado para cargas masivas de registros, si la base de datos genera un error, la realización de una copia de seguridad del registro para operaciones masivas requiere el acceso a los datos.
•    Inmediatamente después de haber finalizado las operaciones masivas, el usuario vuelve a cambiar al modelo de recuperación completa.
•    Después de cambiar del modelo de recuperación optimizado para cargas masivas al modelo de recuperación completa, realice una copia de seguridad del registro.
Si sigue estas recomendaciones totalmente, protege sus datos y habilita la recuperación a un momento dado. En la siguiente ilustración se muestran estas recomendaciones:

La estrategia de copia de seguridad no se altera al cambiar entre los dos modelos de recuperación, sino que se siguen realizando copias de seguridad periódicas de la base de datos, el registro y copias de seguridad diferenciales.

VERIFICAR BACKUPS

RESTORE VERIFYONLY FROM

Hace:
CHECKSUM
VERIFIES HEADER
TRANSITS ALLPAGES

P: How can you detect and log corrupt pages?
R: Execute ALTER DATABASE SET PAGE_VERIFY CHECKSUM.


Restoring
 
The REPLACE option is used to force the restore over the top of an existing database


-RECOVERY NO PERMITE SEGUIR AGREGANDO BACKUPS DE DIFFERENTIALS O LOGS
-NORECOVERY PERMITE SEGUIR AGREGANDO BACKUPS DE DIFF O LOGS.

Full backup    
Insert Test1
Log backup
Insert Test2
Log backup
Insert Test3
Differential backup

Restore op1: Full Backup and Log backup1 and log backup2
Restore op2: Full Backup and Differential Backup (porque el differential backup contiene todos los cambios de cada transaction log backups).


(The step in the restore process where you fi rst take a fi nal transaction log backup is
referred to as backing up the tail of the log.) COMPLETAR ESTO CON LA WEB.

 
RESTORE A CORRUPTION PAGE

1 ) Cuando es en un index -> dropping and recreating the index removes the corruption

2) if the corruption occurs within a page of data within a table or the primary key:

Page restore has several requirements:
􀁑 The database must be in either the Full or Bulked-logged recovery model.
􀁑 You must be able to create a transaction log backup.
􀁑 A page restore can apply only to a read/write fi legroup.
􀁑 You must have a valid full, fi le, or fi legroup backup available.
􀁑 The page restore cannot be executed at the same time as any other restore operation.

The procedure to restore a corrupt page is as follows:
1. Retrieve the PageID of the damaged page.
2. Using the most recent full, fi le, or fi legroup backup, execute the following command:
RESTORE DATABASE database_name
PAGE = 'file:page [ ,...n ]' [ ,...n ]
FROM [ ,...n ]
WITH NORECOVERY
3. Restore any differential backups with the NORECOVERY option.
4. Restore any additional transaction log backups with the NORECOVERY option.
5. Create a transaction log backup.
6. Restore the transaction log backup from step #5 using the WITH RECOVERY option.



WITH NO_COMPRESSION o WITH COMPRESSION en una instrucción BACKUP.

RESTORE HEADERONLY. Se mostrará el contenido del encabezado del archivo de copia de seguridad,

RESTORE HEADERONLY
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\DBTEST_Backups.bak'
WITH NOUNLOAD;
GO



VERIFY ONLY

restore verifyonly from disk= N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\DBTEST_Backups.bak'

----------------------------------------------------------------



RESTORE DATABASE DBMaint2008 FROM
DISK = 'C:\SQLskills\DBMaint2008_Full_051709_0000.bak'
WITH REPLACE, CHECKSUM, NORECOVERY;
GO

RESTORE LOG DBMaint2008 FROM
DISK = 'C:\SQLskills\DBMaint2008_Log_051709_0100.bak'
WITH NORECOVERY;
GO

RESTORE LOG DBMaint2008 FROM
DISK = 'C:\SQLskills\DBMaint2008_Log_051709_0200.bak'
WITH NORECOVERY;
GO

RESTORE DATABASE DBMaint2008 WITH RECOVERY;
GO


RESTORE LOG DBMaint2008 FROM
--Para recuperar a una fecha dada
DISK = 'C:\SQLskills\DBMaint2008_Log_051709_0200.bak'
WITH NORECOVERY, STOPAT = '2009-05-17 01:45:00.000';
GO



Si se restaura la base de datos en una instancia diferente en el mismo servidor, puede ser mucho más complicado:
  • Los inicios de sesión de SQL Server serán diferentes o no exista.
  • Trabajos del Agente SQL y paquetes DTS y SSIS serán diferentes o no exista.
  • La base de datos master es diferente, por lo que puede faltar ningún procedimiento almacenado definido por el usuario.
  • El nombre de instancia de SQL será diferente, por lo que puede haber problemas de conectividad de cliente.
  • Si se restaura la base de datos en una instancia en un servidor diferente, todo lo que aparece lista se aplica, pero existe se puede agregar problemas de seguridad como cuentas de Windows pueden ser diferentes y pueden estar en un dominio de Windows diferente.
  • Una otra consideración es la edición de SQL Server se restaura en la base de datos. Hay algunas características que, si se utiliza en la base de datos, que hacen que la base de datos "Enterprise-only"--no puede ser restaurada en una Standard (o inferior) instancia de SQL Server.
  • En SQL Server 2000 y versiones anteriores, no es un problema. En SQL Server 2005, si se utilizan la tabla o índice de particiones, la base de datos es "Enterprise-only." En SQL Server 2008, la lista de características es:
  • Captura de datos de cambio
  • Cifrado de datos transparente
  • Compresión de datos
  • Partición



USE AdventureWorks
GO
BEGIN TRANSACTION ListPriceUpdate
   WITH MARK 'UPDATE Product list prices';
GO

UPDATE Production.Product
   SET ListPrice = ListPrice * 1.10
   WHERE ProductNumber LIKE 'BK-%';
GO

COMMIT TRANSACTION ListPriceUpdate;
GO

-- Time passes. Regular database
-- and log backups are taken.
-- An error occurs in the database.
USE master
GO

RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
WITH FILE = 3, NORECOVERY;
GO

RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH FILE = 4,
   RECOVERY,
   STOPATMARK = 'ListPriceUpdate';
 



Historial de backups

Msdb

Tablas del historial de copias de seguridad

SQL Server incluye las siguientes tablas del historial de copias de seguridad que realizan un seguimiento de la actividad de copia de seguridad:
·         backupfile (Transact-SQL)
·         backupfilegroup (Transact-SQL)
·         backupmediaset (Transact-SQL)
·         backupset (Transact-SQL)


De forma predeterminada, los permisos de BACKUP DATABASE y BACKUP LOG corresponden a los miembros del rol fijo de servidor sysadmin y de los roles fijos de base de datos db_owner y db_backupoperator.



JOBS
use msdb

select * from dbo.sysjobhistory





Monitoring

Inicio> perfmon.msc



No hay comentarios:

SSIS - Package en blanco

Como solucionarlo: 1. Renombrar Package 2. Guardar package 3. Cerrar Solución.