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
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
- 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:
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:
Publicar un comentario