You are on page 1of 9

sql:lenguaje de consulta estructurado

sql server 2012: motor base de datos

ARQUITECTURA
La arquitectura interna de las bases de datos en SQL Server están
compuestas por 2 tipos de estructura, la estructura lógica y la
estructura física. Es muy importante conocer cómo es que estas
estructuras están compuestas y cuál es la relación que tienen los
objetos de base de datos con cada una de estas estructuras.

Estructura Lógica:

Desde el punto de vista lógico, la base de datos debe tener al menos


1 “FileGroup” el cual contiene a toda la metadata de la misma base
de datos, es decir tablas y vistas de sistema, a este “FileGroup” inicial
se le conoce como “Primario” y está presente en todas las bases de
datos. Todos los objetos de usuario que contengan data, ya sean
tablas o índices, deben estar ligados a un “FileGroup”, esto se puede
definir al momento de ejecutar la sentencia DDL de creación del
objeto, si no se indica a que “FileGroup” estará ligado ese objeto, este
pertenecerá al “FileGroup” por defecto definido en la base de datos.
La base de datos solo puede tener definido 1 solo default “FileGroup”.
Las bases de datos pueden tener hasta 32767 “FileGroups” definidos,
según los límites establecidos para la última versión de SQL Server,
la cual es SQL Server 2008 R2. Uno de los propósitos de los
“FileGroups” es poder distribuir la data a través de varios discos duros
físicos, de esta manera se puede obtener mayor rendimiento en las
operaciones de I/O debido a que más de un disco trabajara al mismo
tiempo. Otro de los propósitos es poder esconder la ubicación física
real de la información a los programadores, ya que para ellos la tabla
“X” pertenece al “FileGroup” “A”, pero no saben en que data files
físicamente se encuentra la información de la tabla “X”.
Los “FileGroups” pueden contener 1 o más “Datafiles”, y cada uno de
estos datafiles se pude encontrar en un discos diferentes, lo cual
también agilizara las consultas y los ingresos de información a las
tablas que se encuentren asignadas a este “FileGroup”, debido a que
SQL Server distribuirá la información uniformemente a través de
todos los “DataFiles” del “FileGroup”.

Estructura Física:
Desde el punto de vista físico, como ya hemos visto, tenemos los
“DataFiles” que los en realidad los archivos de datos, es decir donde
se guarda toda la información de la base de datos. Un “DataFile” solo
puede pertenecer a 1 “FileGroup”.

Internamente los “DataFiles” están divididos en “Extends” y estos a su


vez en “Pages”. Las “Pages” son la unidad minima de
almacenamiento dentro de la base de datos. Un “Page” tiene 8 Kb de
tamaño en espacio de disco. Un “Extend” tiene 8 “Pages” contiguas
que lo conforman, es decir, un “Extend” tiene como tamaño 64 Kb de
espacio en disco.

En un “Page” solo puede haber información de 1 sola tabla, es decir


el espacio de un “Page” no es compartido entre tablas o índices. En el
caso de los “Extends”, estos pueden ser de dos tipos:

● “Mixed”: Los cuales son compartidos hasta por 8 objetos,


uno por cada “Page”.
● “Uniform”: Los cuales solo pertenecen a un solo objeto, es
decir que todos los “Pages” pertenecen a un solo objeto.

Normalmente cuando se crea una nueva tabla esta es asignada a un


“Extend” de tipo “Mixed”, hasta alcanzar la utilización de hasta 8
“Pages”, a partir de ese momento se asignan “Extends” de tipo
“Uniform” para optimizar el uso del espacio en la tabla.

Los “DataFiles” normalmente tienen 2 extensiones de archivo, las


cuales son estandar mas no obligarias, la extencion “mdf” que se
utiliza para el primer “Datafile” perteneciente al “FileGroup” primario, y
la extension “ndf” que se utiliza para los demas datafiles que se
agregan posteriormente a los demas “FileGroups” de la base de
datos.
En el caso del “LogFile”, este no pertenece a un “FileGroup” en
especifico, en cambio archivo esta ligado directamente a la base de
datos. Las bases de datos de SQL Server solo pueden tener un solo
“LogFile” activo al mismo tiempo, si bien se pueden crear multiples
“LogFiles” en la base de datos, solo uno podra ser escrito, ya que
solo uno puede estar activo, cuando este archivo se llene, la base de
datos pasara a escribir al siguiente archivo de transacciones, y asi
sucesivamente. Por esta razon no es muy conveniente ni util tener
mas de un “LogFile”.
VERSIONES

Versión Año Nombre de Nombre clave


la versión

1.0 1989 SQL Server SQL


1-0
(OS/2)

4.21 1993 SQL Server SEQUEL


4.21
(WinNT)

6.0 1995 SQL Server SQL95


6.0

6.5 1996 SQL Server Hydra


6.5

7.0 1998 SQL Server Sphinx


7.06

- 1999 SQL Server Plato


7.0

OLAP Tools

8.0 2000 SQL Server Shiloh


20007

8.0 2003 SQL Server Liberty


2000

64-bit Edition
9.0 2005 SQL Server Yukon
20058

10.0 2008 SQL Server Katmai


20089

10.25 2010 SQL Azure CloudDatabase


DB

10.50 2010 SQL Server Kilimanjaro


2008 R210

11.0 2012 SQL Server Denali


201211

12.0 2015 SQL Server SQL14 (antes


201412 Hekaton)

13.0 2016 SQL Server


2016

14.0 2017 SQL Server vNext 2017


2017

El código fuente original de SQL Server que fue utilizado en las versiones previas a la versión
7.0 habría sido comprado de Sybase, pero fue actualizado en las versiones 7.0 y 2000, y
reescrito en la versión 2005. Generalmente, cada 2-3 años, una nueva versión es lanzada y,
entre estos lanzamientos, se proponen service packes con mejoras y correcciones de bugs, y
hotfixes por problemas urgentes en el sistema de seguridad o bugs críticos.

ATTACH - DETACH (adjuntar - separar)

(separar datos) SP_DETACH_DB @DBNAME= ‘nombre de la base de datos’


GO
INSTANCIA:

Una Instancia de SQL Server es una instalación del motor de base de datos SQL
Server, que se materializa en un Servicio de Windows que ejecuta un proceso
sqlservr.exe con una configuración determinada, y sus propias bases de datos
(las bases de datos del sistema, y la o las bases de datos de usuario). En un
mismo equipo, pueden instalarse y ejecutarse varias Instancias (distintos procesos
sqlservr.exe, cada uno con su configuración y bases de datos).
Una instancia de Motor de base de datos es una copia del ejecutable de
sqlservr.exe que se ejecuta como un servicio de sistema operativo. Cada instancia
administra varias bases de datos del sistema y una o varias bases de datos de
usuario. Cada equipo puede ejecutar varias instancias de Motor de base de datos.
Las aplicaciones se conectan a la instancia para realizar el trabajo en una base de
datos administrada por la instancia.

>> ejecutar varias copias del servidor de datos al mismo tiempo con sus
elementos, independiente uno de otro. A cada copia se llama instancia<<

BASE DE DATOS:
Es una colección de datos relacionados

backup
por script:
click derecho sobre la BD > tareas > generar scripts.. >

> seleccionar verdadero en incluir datos en el script para que guarde todos los registros
> seleccionar ruta

> siguiente, aceptar


> en la carpeta que quedo guardado se ejecuta…
se crea la bd : create database (nombre de la bd) ‘se ejecuta el comando’
y luego se ejecuta el script…

por .bak

> click derecho sobre la BD > tareas > copia de seguridad > seleccionar la ruta > dar
nombre con .bak ej respaldo.bak

para restaurar bd
click derecho Bases de Datos > Restaurar bd > seleccionar Desde un Dispositivo > se
busca la ruta en donde esta...
** para eliminar una bd > click der sobre la bd > eliminar > seleccionar cerrar conexiones..

You might also like