+ All Categories
Home > Documents > SQL Server Parte I

SQL Server Parte I

Date post: 23-Feb-2016
Category:
Upload: anne
View: 63 times
Download: 1 times
Share this document with a friend
Description:
SQL Server Parte I. Félix Tovar C.I: 19291058 Daniel Hernández C.I: 20594114. SQL Server. Es un sistema administrador para base de datos producido por Microsoft basado en el modelo relacional. Constituye una alternativa a otros potentes sistemas gestores de base de Datos. - PowerPoint PPT Presentation
41
SQL SERVER PARTE I Félix Tovar C.I: 19291058 Daniel Hernández C.I: 20594114
Transcript
Page 1: SQL Server Parte I

SQL SERVER PARTE I

Félix Tovar C.I: 19291058Daniel Hernández C.I: 20594114

Page 2: SQL Server Parte I

SQL ServerEs un sistema administrador para base de

datos producido por Microsoft basado en el modelo relacional.

Constituye una alternativa a otros potentes sistemas gestores de base de Datos.

Page 3: SQL Server Parte I

3

Acerca de SQL Server Soporte de transacciones.

Escalabilidad, estabilidad y seguridad.

Soporta procedimientos almacenados.

Además permite administrar información de otros servidores de datos.

Page 4: SQL Server Parte I

4

Versiones

Versión Año Nombre de la versión Nombre clave1.0 (OS/2) 1989 SQL Server 1-0 SQL4.21 (WinNT) 1993 SQL Server 4.21 SEQUEL6.0 1995 SQL Server 6.0 SQL956.5 1996 SQL Server 6.5 Hydra7.0 1998 SQL Server 7.0 Sphinx

- 1999 SQL Server 7.0 OLAP Tools Plato

8.0 2000 SQL Server 2000 Shiloh8.0 2003 SQL Server 2000 64-bit Edition Liberty9.0 2005 SQL Server 2005 Yukon10.0 2008 SQL Server 2008 Katmai10.5 2010 SQL Server 2008 R2 Kilimanjaro

Page 5: SQL Server Parte I

5

Arquitectura de SQL ServerUtiliza la arquitectura Cliente / Servidor para coordinar el trabajo entre uno y otro. Dependiendo del tipo de aplicación que se quiera programar dependerá la repartición de la carga de trabajo entre el cliente y el servidor.

Page 6: SQL Server Parte I

6

Componentes

Comandos (DLL - DML).

Cláusulas.

Funciones de Agregado.

El lenguaje SQL está compuesto por comandos, cláusulas, y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y

manipular las bases de datos.

Page 7: SQL Server Parte I

7

ServiciosSQL Server incluye cuatro servicios:

MSSQLServer SQLServerAgent

MSDTC Microsoft Search

Page 8: SQL Server Parte I

8

Manejo de la memoriaUsa un esquema de gestión de memoria que la

distribuye acuerdo con un análisis de relación entre costes y beneficios de la memoria.

Adquiere y libera memoria de manera dinámica según sea preciso.

Organiza la memoria que el mismo se asigna en dos regiones distintas: Buffer Pool y MemToLeave.

Page 9: SQL Server Parte I

9

Organización de archivos

Archivos:- Datos principales.- Datos secundarios.- De registro.

Paginas.

Nombres de archivo lógico y físico:- logical_file_name.- os_file_name.

Grupo de archivos.

Page 10: SQL Server Parte I

10

IndicesFacilitan la recuperación de datos,

permitiendo el acceso directo y acelerando las búsquedas, consultas y otras operaciones que optimizan el rendimiento general.

• Query Optimizer• B-tree• Rendimiento Óptimo

Page 11: SQL Server Parte I

11

Características de los índices

Agrupado: Dependencia. Hojas. Solo un índice. Agrupados primero.

No Agrupado: Independencia. Diversos índices. Vistas indexadas.

Page 12: SQL Server Parte I

12

Como crear un índice en SQL Server

Sentencia SQL:

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name     ON <object> ( column [ ASC | DESC ] [ ,...n ] )

Page 13: SQL Server Parte I

13

ConcurrenciaSQL server usa 3 enfoques de control de transacciones.

Enfoque Mixto

Enfoque Optimist

a

Enfoque Pesimista

s

Page 14: SQL Server Parte I

14

InterbloqueosPara minimizar el número de interbloqueos se

deben considerar las siguientes recomendaciones:

Las transacciones deben ser cortas y afectar al menor número de datos posibles.

Se debe dar preferencia a la utilización de alguna de las técnicas del enfoque optimista.

Es conveniente establecer una prioridad baja para las consultas DSS y una alta para las OLTP.

Page 15: SQL Server Parte I

15

RecuperaciónTipos de recuperación Simple.Completa.Optimizado para cargas masivas de

registros.

Fases de Restauración Copia de

datosRehacer Deshace

r

Page 16: SQL Server Parte I

16

RecuperaciónBACKUP (Transact-SQL)Hace copia de seguridad de una BD completa de SQL Server para crear una copia de seguridad de la BD, o uno o más archivos o grupos de archivos de la BD para crear una copia de seguridad de archivo (BACKUP DATABASE). Con el modelo de recuperación completa o con el de recuperación optimizado para cargas masivas de registros, realiza la copia de seguridad del registro de transacciones de la BD para crear una copia de seguridad de registros (BACKUP LOG).

Page 17: SQL Server Parte I

17

Respaldar una BD completa

BACKUP DATABASE { database_name | @database_name_var }

  TO <backup_device> [ ,...n ]    [ <MIRROR TO clause> ] [ next-mirror-to ]   [ WITH { DIFFERENTIAL |

<general_WITH_options> [ ,...n ] } [;]

Page 18: SQL Server Parte I

18

Respaldar archivos específicos o un grupo de archivos

BACKUP DATABASE { database_name | @database_name_var }  <file_or_filegroup>

[ ,...n ]   TO <backup_device> [ ,...n ]   [ <MIRROR TO

clause> ] [ next-mirror-to ]  [ WITH { DIFFERENTIAL | <general_WITH_options>

[ ,...n ] } ][;]

Page 19: SQL Server Parte I

19

Respaldo parcial

BACKUP DATABASE { database_name | @database_name_var }  READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]  TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ][;]

Page 20: SQL Server Parte I

20

Respaldar el log de transacciones

BACKUP LOG { database_name | @database_name_var }   TO <backup_device> [ ,...n ]   [ <MIRROR TO clause> ] [ next-mirror-to ]  [ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ][;]

Page 21: SQL Server Parte I

21

Restaurar

RESTORE ( Transact-SQL )Restaura copias de seguridad realizadas con el comando BACKUP. Este comando le permite realizar los siguientes escenarios de restauración: Completa. Parcial. De archivos. De paginas. Del registro de transacciones.

Page 22: SQL Server Parte I

22

Restauración CompletaRESTORE DATABASE { database_name |

@database_name_var }  [ FROM <backup_device> [ ,...n ] ] [ WITH {   [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var }  ] | , <general_WITH_options> [ ,...n ] | , <replication_WITH_option>  | , <change_data_capture_WITH_option> | , <FILESTREAM_WITH_option>  | , <service_broker_WITH options>  | , <point_in_time_WITH_options—RESTORE_DATABASE>    } [ ,...n ] ][;]

Page 23: SQL Server Parte I

23

Restauración Parcial

RESTORE DATABASE { database_name | @database_name_var }    <files_or_filegroups> [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH       PARTIAL, NORECOVERY       [  , <general_WITH_options> [ ,...n ]        | , <point_in_time_WITH_options—RESTORE_DATABASE>       ] [ ,...n ] [;]

Page 24: SQL Server Parte I

24

Restauración de Archivos

RESTORE DATABASE { database_name | @database_name_var }    <file_or_filegroup> [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH    {      [ RECOVERY | NORECOVERY ]      [ , <general_WITH_options> [ ,...n ] ]   } [ ,...n ] [;]

Page 25: SQL Server Parte I

25

Restauración de Paginas

RESTORE DATABASE { database_name | @database_name_var } PAGE = 'file:page [ ,...n]'  [ , <file_or_filegroups> ] [ ,...n ] [ FROM <backup_device> [ ,...n ] ]    WITH  NORECOVERY  [ , <general_WITH_options> [ ,...n ] ][;]

Page 26: SQL Server Parte I

26

Restauración del Registro de Transacciones

RESTORE LOG { database_name | @database_name_var }  [ <file_or_filegroup_or_pages> [ ,...n ] ] [ FROM <backup_device> [ ,...n ] ]  [ WITH    {     [ RECOVERY | NORECOVERY | STANDBY =         {standby_file_name | @standby_file_name_var }        ]    | , <general_WITH_options> [ ,...n ]    | , <replication_WITH_option>    | , <point_in_time_WITH_options—RESTORE_LOG>    } [ ,...n ] ] [;]

Page 27: SQL Server Parte I

27

Revertir una BD al punto temporal capturado por una

instantánea de BD

RESTORE DATABASE { database_name | @database_name_var } FROM DATABASE_SNAPSHOT = database_snapshot_name

Page 28: SQL Server Parte I

28

Concurrencia SET TRANSACTION ISOLATION LEVEL (Transact-SQL)Controla el comportamiento del bloqueo y de las versiones de fila de las instrucciones Transact-SQL emitidas por una conexión a SQL Server.Un ejemplo sencillo:

SET TRANSACTION ISOLATION LEVEL  { READ UNCOMMITTED  | READ COMMITTED  | REPEATABLE READ  | SNAPSHOT  | SERIALIZABLE  } [ ; ]

Page 29: SQL Server Parte I

29

Read UNCOMMITED/COMMITED READ UNCOMMITTED

Especifica que las instrucciones pueden leer filas que han sido modificadas por otras transacciones pero todavía no se han confirmado.

READ COMMITTEDEspecifica que las instrucciones no pueden leer datos que hayan sido modificados, pero no confirmados, por otras transacciones. Esto evita lecturas de datos sucios. Otras transacciones pueden cambiar datos entre cada una de las instrucciones de la transacción actual, dando como resultado lecturas no repetibles o datos fantasma. Esta opción es la predeterminada para SQL Server.

Page 30: SQL Server Parte I

30

Repeatable Read

Especifica que las instrucciones no pueden leer datos que han sido modificados pero aún no confirmados por otras transacciones y que ninguna otra transacción puede modificar los datos leídos por la transacción actual hasta que ésta finalice.

Page 31: SQL Server Parte I

31

SNAPSHOTEspecifica que los datos leídos por cualquier instrucción de una transacción sean la versión coherente, desde el punto de vista transaccional, de los datos existentes al comienzo de la transacción.

La transacción únicamente reconoce las modificaciones de datos confirmadas antes del comienzo de la misma. Las instrucciones que se ejecuten en la transacción actual no verán las modificaciones de datos efectuadas por otras transacciones después del inicio de la transacción actual. El efecto es el mismo que se obtendría si las instrucciones de una transacción obtuviesen una instantánea de los datos confirmados tal como se encontraban al comienzo de la transacción.

Page 32: SQL Server Parte I

32

SerializableEspecifica lo siguiente: 

Las instrucciones no pueden leer datos que hayan sido modificados, pero aún no confirmados, por otras transacciones.

Ninguna otra transacción puede modificar los datos leídos por la transacción actual hasta que la transacción actual finalice.

Otras transacciones no pueden insertar filas nuevas con valores de clave que pudieran estar incluidos en el intervalo de claves leído por las instrucciones de la transacción actual hasta que ésta finalice.

Page 33: SQL Server Parte I

33

Índices SQLServer

CREATE INDEX (Transact-SQL)

Crea un índice relacional en una tabla especificada o una vista de una tabla especificada. Se puede crear un índice antes de que la tabla posea datos. Los índices relacionales se pueden crear en tablas o vistas de otra base de datos especificando un nombre completo de base de datos.

Page 34: SQL Server Parte I

34

Crear un índice

Ejemplo en SQLServer:

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name     ON <object> ( column [ ASC | DESC ] [ ,...n ] )     [ INCLUDE ( column_name [ ,...n ] ) ] [ WHERE <filter_predicate> ]    [ WITH ( <relational_index_option> [ ,...n ] ) ]    [ ON { partition_scheme_name ( column_name )          | filegroup_name | default  } ] [ FILESTREAM_ON { filestream_filegroup_name | partition_scheme_name | "NULL" } ] [ ; ]

Page 35: SQL Server Parte I

35

Índices SQLServer

ALTER INDEX (Transact-SQL)

Modifica un índice existente de una tabla o una vista (relacional o XML) mediante su des habilitación, regeneración o reorganización, o mediante el establecimiento de sus opciones.

Page 36: SQL Server Parte I

36

Modificar índice

Ejemplo en SQLServer:

ALTER INDEX { index_name | ALL }  ON <object>  { REBUILD  [ [PARTITION = ALL]   [ WITH ( <rebuild_index_option> [ ,...n ] ) ]   | [ PARTITION = partition_number     [ WITH ( <single_partition_rebuild_index_option>                        [ ,...n ] )  ] ] ]    | DISABLE  | REORGANIZE  [ PARTITION = partition_number ]    [ WITH ( LOB_COMPACTION = { ON | OFF } ) ]   | SET ( <set_index_option> [ ,...n ] ) }[ ; ]

Page 37: SQL Server Parte I

37

Índices SQLServer

DROP INDEX (Transact-SQL)Quita uno o más índices XML, filtrados, espaciales o relacionales de la base de datos actual. Puede quitar un índice clúster y mover la tabla resultante a otro grupo de archivos o esquema de partición en una sola transacción especificando la opción MOVE TO.

 La instrucción DROP INDEX no es aplicable a los índices creados mediante la definición de restricciones PRIMARY KEY y UNIQUE. Para quitar la restricción y el índice correspondiente, use ALTER TABLE con la cláusula DROP CONSTRAINT.

Page 38: SQL Server Parte I

38

Borrar un índice

Ejemplo en SQLServer:

DROP INDEX{ <drop_relational_or_xml_or_spatial_index> [ ,...n ] | <drop_backward_compatible_index> [ ,...n ]}

Page 39: SQL Server Parte I

39

Ventajas Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye también un potente entorno gráfico de

administración, que Permite el uso de comandos DDL y DML gráficamente.

Permite trabajar en modo cliente-servidor. Además permite administrar información de otros

servidores de datos.

Page 40: SQL Server Parte I

40

Desventajas La principal desventaja de Microsoft SQL SERVER

es la enorme cantidad de memoria RAM que utiliza

para la instalación y utilización del software.

Si se quiere para prácticas no va a ser de mucha utilidad porque se prohíben muchas cosas, es decir; tiene grandes restricciones.

La relación calidad-precio esta muy por debajo comparado con Oracle.

Page 41: SQL Server Parte I

¡Gracias por su atención!

¿Preguntas?


Recommended