Está en la página 1de 14

Microsoft SQL Server

¿Qué es Microsoft SQL Server?

Microsoft SQL Server es un Sistema de Administración de Base de Datos Relacional (RDBMS –


Relational Database Management System)

Como tal cumple con las características:

• Mantener las relaciones entre las entidades (tablas) de una base de datos.
• Asegurar que la información sea almacenada correctamente y que no se violen las reglas
que definen las relaciones (integridad referencial).
• Recuperar todos los datos hasta cierto punto de consistencia, en el caso de que haya un fallo
en el sistema.

Típicamente, los clientes acceden a la base de datos comunicándose a través de una red.

Se pueden tener base de datos de más de un terabyte de tamaño en SQL Server, así también
pueden existir servidores para pequeños negocios y para ordenadores portátiles.

Por otro lado, SQL Server es usado para desarrollar procesos transaccionales, también para
almacenar y analizar información y para construir aplicaciones modernas en un entorno distribuido.

SQL Server es un Sistema de Administración de Base de Datos Relacionales (RDBMS) que:

• Administra el almacenamiento de la información para transacciones y análisis.


• Responde a los requerimientos y solicitudes de aplicaciones cliente.
• Usa el lenguaje Transact–SQL
Tipos de almacenamiento de datos

SQL Server administra bases de datos de tipo OLTP y OLAP.

• OLTP (Online Transaction Processing). Procesamiento de Transacciones En Línea


• OLAP (Online Analitic processing). Procesamiento analítico en línea

Base de Datos OLTP - On-Line Transactional Processing

Los sistemas OLTP son bases de datos orientadas al procesamiento de transacciones.

La información almacenada en este tipo de base de datos se organiza generalmente en tablas


relacionadas para reducir la redundancia de información y para incrementar la velocidad de las
actualizaciones.

SQL Server da la posibilidad de que un gran número de usuarios realicen transacciones y que
simultáneamente cambien la información en tiempo real. Por ejemplo, este tipo de casos se da en
entornos como las transacciones que hace una aerolínea al vender billetes de avión, o las
transacciones que hace cualquier entidad bancaria.

Una transacción genera un proceso atómico (que debe ser validado con un commit, o invalidado
con un rollback), y que puede involucrar operaciones de inserción, modificación y borrado de datos.

El proceso transaccional es típico de las bases de datos operacionales.


 El acceso a los datos está optimizado para tareas frecuentes de lectura y escritura. (Por
ejemplo, la enorme cantidad de transacciones que tienen que soportar las BD de bancos
o hipermercados diariamente).

 Los datos se estructuran según el nivel aplicación (programa de gestión a medida, ERP o
CRM implantado, sistema de información departamental...).

 Los formatos de los datos no son necesariamente uniformes en los diferentes


departamentos.

 El historial de datos suele limitarse a los datos actuales o recientes.

Base de Datos OLAP - On-Line Analytical Processing

Esta tecnología organiza y resume gran cantidad de información de manera tal que un analista
pueda evaluar dicha información rápidamente y en tiempo real.

El servicio de análisis de SQL Server organiza esta información para dar soporte a una amplia gama
de soluciones empresariales, desde reportes y análisis corporativos hasta el soporte para el
modelado de la información y la toma de decisiones.

Los sistemas OLAP son bases de datos orientadas al procesamiento analítico. Este análisis suele
implicar, generalmente, la lectura de grandes cantidades de datos para llegar a extraer algún tipo de
información útil: tendencias de ventas, patrones de comportamiento de los consumidores,
elaboración de informes complejos… etc.

 El acceso a los datos suele ser de sólo lectura. La acción más común es la consulta, con
muy pocas inserciones, actualizaciones o eliminaciones.

 Los datos se estructuran según las áreas de negocio, y los formatos de los datos están
integrados de manera uniforme en toda la organización.

 El historial de datos es a largo plazo, normalmente de dos a cinco años.

 Las bases de datos OLAP se suelen alimentar de información procedente de los sistemas
operacionales existentes, mediante un proceso de extracción, transformación y carga
(ETL).
Acceder al servidor

Podemos acceder al servidor con diversas herramientas cliente, entre ellas SQL Server Management
Studio o con el símbolo del sistema, ejemplo, comprobar versión instalada:

Sqlcmd –S . –E –Q “select @@version”

Con este comando se puede ejecutar todo tipo de consultas. Sqlcmd -?

En entorno gráfico se utiliza la consola “SQL Server Management Studio (SSMS)”

Niveles de seguridad
Un usuario atraviesa dos fases de seguridad al trabajar en SQL Server: la autenticación
(identificación del usuario) y autorización (aprobación de los permisos).

La fase de la autenticación identifica al usuario que está usando una cuenta de inicio de sesión y
verifica sólo su capacidad para conectarse.

El usuario necesita entonces permisos o autorización para acceder a las bases de datos en el
servidor, lo que se obtiene concediendo acceso a una cuenta en cada base de datos.
Modos de Autenticación en SQL Server
SQL Server valida a los usuarios en dos niveles de seguridad: una a través de un Inicio de sesión que
establece el hecho de realizar la conexión a SQL Server y otro a partir de la validación de los
permisos que tienen los usuarios sobre una base de datos.

Inicio de Sesión
Todos los usuarios deben tener un Inicio de sesión para poder conectarse a SQL Server, para esto
SQL Server reconoce 2 mecanismos de autenticación:

• SQL Server es cuando el usuario debe proveer un nombre de usuario y una contraseña que
serán validados por el propio SQL Server cuando el cliente intente conectarse.
• Autenticación Windows es cuando una cuenta o grupo de Windows controla el acceso a SQL
Server, el cliente no provee usuario y contraseña, ya que se empleará la cuenta con la que
arrancó el sistema operativo.
Por defecto la seguridad a nivel de Windows es la opción predeterminada después de la
instalación de SQL Server, es decir que solo los usuarios de Windows con los respectivos
permisos podrán conectarse al servidor de base de datos.

Usuarios de una Base de Datos


Una de las tareas comunes al administrar SQL Server es permitir el acceso a bases de datos y la
asignación de permisos o restricciones sobre los objetos que conforman una base de datos.

SQL Server permite trabajar a nivel de Roles y Usuarios:


• Un rol es un conjunto de derechos asignados, los cuales se convierten en una gran
alternativa para agrupar un conjunto de permisos, de tal forma que cuando se incorpore un
nuevo usuario a la base de datos, ya no se le tiene que dar permiso por permiso por cada
uno de los objetos que requiera emplear, sino más bien su cuenta de usuario es agregada al
rol, y si al rol tiene que asignársele acceso sobre un nuevo elemento automáticamente el
permiso o la restricción afectará a los usuarios que pertenezcan a un rol.

SQL Server brinda un conjunto de roles por servidor y por base de datos, también es posible
crear roles personalizados.

Roles a nivel de servidor


Dbcreator Crea y modifica bases de datos
Diskadmin Administra los archivos de datos
Processadmin Administra los procesos de SQL Server
SecurityAdmin Administra los Inicios de sesión
Serveradmin Opciones de configuración del servidor
Setupadmin Instala la replicación
Sysadmin Realiza cualquier actividad

Roles a nivel de bases de datos


Public Mantiene los permisos en forma predeterminada para todos los
usuarios
Db_owner Realiza cualquier actividad en la BD. Se convierte en un propietario
de la BD
Db_accessadmin Agrega o retira usuarios y/o roles
db_ddladmin Agrega, modifica o elimina objetos
db_SecurityAdmin Asigna permisos sobre objetos o sobre sentencias
db_backupoperator Realiza operaciones de Backup y Restore de la BD
db_datareader Lee información desde cualquier tabla
db_datawriter Agrega, modifica o elimina datos de cualquier tabla
db_denydatareader No puede leer la información de ninguna tabla
db_denydatawriter No puede modificar la información de ninguna tabla

• Los usuarios representan a los usuarios que tienen acceso a la base de datos y están
asignados a un Inicio de sesión, aunque pueden tener diferente identificador, por ejemplo,
el Inicio de sesión puede tener como nombre MariaRuiz pero al definir un Usuario podemos
usar Maria.

Después de crear los Inicios de sesión para conectarse a SQL Server, se deben definir los accesos a
las bases de datos requeridas, para ello es necesario definir Usuarios en cada BD, estos usuarios
permitirán controlar el acceso a los distintos objetos incluyendo los datos que estos contienen.

Secuencia de validación:

1. Cuando el usuario ejecuta una acción, tal como una sentencia Transact-SQL o elige la opción
de un menú, el cliente envía las sentencias Transact-SQL al SQL Server.
2. Cuando SQL Server recibe una sentencia Transact-SQL, éste verifica los permisos que tiene el
usuario para ejecutar la sentencia.
3. Finalmente SQL Server realiza una de las dos siguientes acciones: permiso o error
SQL Server Management Studio
Es el entorno de desarrollo principal para SQL Server. Los administradores, desarrolladores y demás
usuarios lo pueden usar para crear soluciones de bases de datos conteniendo todos los scripts
asociados con una base de datos en particular.

Se puede usar esta herramienta para crear aplicaciones de base de datos gráficamente, o para crear,
ejecutar y guardar scripts.

En realidad, es todo un entorno integrado con todas las herramientas de gestión, administración y
programación de base de datos.

Si el servidor está en el propio equipo, se


puede poner local, localhost un punto (.) o
el nombre del equipo

Entorno:
Panel consulta

Ejecutar consulta: SELECT @@Version

Se puede cambiar el formato de salida de la consulta.

En la parte inferior vemos el panel de resultados con información de la consulta.

Nombre Usuario Base Número


servidor activo datos registros
Estado de ejecución

Explorador de objetos
Muestra los diferentes nodos del Servidor Actual
Ejemplo:

1. Adjuntar la DB Northwind
2. comprobar las dependencias del objeto -> tabla Product
3. Realiza alguna consulta simple para comprobar los datos

USE NorthWind
SELECT * FROM Products

Bases de Datos de SQL Server

SQL Server contiene bases de datos del sistema y bases de datos de usuario.

Las bases de datos del sistema, almacenan información que permite operar y administrar el sistema,
mientras que las de usuario almacenan los datos requeridos por las operaciones del cliente.

Las bases de datos del sistema son:


• Master
La base de datos master se compone de las tablas de sistema que realizan el seguimiento de
la instalación del servidor y de todas las bases de datos que se creen posteriormente.
Asimismo controla las asignaciones de archivos, los parámetros de configuración que
afectan al sistema, las cuentas de inicio de sesión. Esta base de datos es crítica para el
sistema, así que es bueno tener siempre una copia de seguridad actualizada.
• Tempdb
Es una base de datos temporal, fundamentalmente un espacio de trabajo, es diferente a las
demás bases de datos, puesto que se regenera cada vez que arranca SQL Server.
Se utiliza para las tablas temporales creadas explícitamente por los usuarios, para las tablas
de trabajo intermedias de SQL Server durante el procesamiento y la ordenación de las
consultas.
• Model
Se utiliza como plantilla para todas las bases de datos creadas en un sistema. Cuando se
emite una instrucción CREATE DATABASE, la primera parte de la base de datos se crea
copiando el contenido de la base de datos model, el resto de la nueva base de datos se llena
con páginas vacías.
• Msdb
Es empleada por el servicio SQL Server Agent para guardar información con respecto a
tareas de automatización como por ejemplo copias de seguridad y tareas de duplicación.
La información contenida en las tablas que contiene esta base de datos, es fácilmente
accesible desde el explorador de objetos, así que se debe tener cuidado de modificar esta
información directamente.
• Distribution
Almacena toda la información referente a la distribución de datos basada en un proceso de
replicación. Esta base de datos solo está disponible cuando el servicio de replicación esté
habilitado y debidamente configurado.

Bases de datos de Usuario (Ejemplos que vienen con el producto)


• NorthWind
Esta base de datos sirve como ejemplo y contiene los datos de las ventas de una
organización ficticia denominada Northwind Traders, que importa y exporta comidas
exóticas por todo el mundo. (en la instalación por defecto no viene esta base de datos, hay
que instalarla manualmente).
• Pubs
Publishers - Esta es otra base de datos de ejemplo que trae SQL Server. Se trata de una base
de publicaciones que puede ser adaptada a una biblioteca o editorial (en la instalación por
defecto no viene esta base de datos, hay que instalarla manualmente).

La base de datos de ejemplo actual es AdventureWorks


Creación de Base de Datos
El primer paso para implementar físicamente una base de datos es crear los objetos de la base de
datos.

Usando la información obtenida sobre los requerimientos de diseño, y los detalles identificados en
el diseño lógico de la base de datos, se puede crear los objetos de la base de datos y definir sus
características.

Se pueden modificar estas características después que de crear los objetos de la base de datos.

Al crear una base de datos, hay que definir su nombre, su tamaño (por defecto tendrá el mismo
tamaño que model), y los archivos y grupos de archivos usados para soportarla.

 Por defecto solo tienen permiso para crear bases de datos los miembros de los roles
“sysadmin” y “dbcreator”, se podría no tener asignados ninguno de dichos roles pero aún
contar con la autorización para crear bases de datos en caso que el administrador se los
hubiera otorgado.
 También tiene que tener permiso para modificar la base master ya que se cambiarán sus
tablas sysdatabases y sys.master_files para guardar información de la nueva base de datos.
 El usuario que crea una base de datos se convierte en el dueño de la base de datos.
 Se pueden crear un máximo de 32.767 bases de datos en un servidor.
 El nombre de la base de datos debe seguir las reglas de los identificadores.

• El primer carácter tiene que ser una letra


• Máximo 30 caracteres
• No puede haber dos tablas con el mismo nombre
• No pueden utilizarse palabras reservadas del sistema

Se usan tres tipos de archivos para almacenar una base de datos:

• archivos primarios ( .mdf), que contienen la información de arranque para la base de datos.
• archivos secundarios (.ndf), que guardan todos los datos que no caben en el archivo
primario
• registro de transacciones (.ldf), que contienen la información de la transacciones, usadas
para recuperar la base de datos. Almacenan automáticamente todos los cambios en la base
de datos antes de que se produzcan, si se produce un error, el sistema recuperará la base al
estado anterior.
Toda base de datos tiene al menos dos archivos: un archivo primario y un registro de
transacciones.

Cuando se crea una base de datos, hay que especificar el tamaño máximo del archivo. Esto
previene que el archivo crezca, cuando se meten datos, hasta llenar el disco.

Consideraciones de tamaño:

- Para crear la base de datos se utiliza la base del sistema “model”, por tanto, el tamaño
mínimo será el de esta base de datos (5MB).
- Si marcamos crecimiento automático debemos especificar un tamaño máximo para evitar
llenar el disco.
- Especificar crecimientos grandes para evitar el crecimiento frecuente del archivo y reducir la
actividad del servidor y la fragmentación del disco.

SQL Server implementa una nueva base de datos en dos pasos:

1. SQL Server usa una copia de la base de datos “Model” para inicializar la nueva base de datos
y sus metadatos.
2. SQL Server luego llena el resto de la base de datos con páginas vacías (excepto aquellas
páginas que tienen grabados datos internos como el espacio usado)

Cualquier objeto definido por el usuario en la base de datos “model” es copiado a todas las bases de
datos que sean creadas. Se pueden agregar objetos a la base de datos “model”, tales como tablas,
vistas, procedimientos almacenados, tipos de datos, etc. que serán incluidos en las nuevas bases de
datos.

Además, cada nueva base de datos hereda la configuración de las opciones de la base de datos
“model”.
Comando CREATE DATABASE

USE master
GO
CREATE DATABASE Ventas
ON PRIMARY
( NAME = 'Ventas',
FILENAME = 'C:\BasesSQL\Ventas.mdf' ,
SIZE = 7MB ,
MAXSIZE = 20MB,
FILEGROWTH =1024KB )
LOG ON
( NAME = 'Ventas_log',
FILENAME ='C:\BasesSQL\Ventas_log.ldf' ,
SIZE = 5MB,
MAXSIZE = 15MB,
FILEGROWTH = 10%)
GO

Consultar datos de la DB

EXEC sp_helpdb Ventas;

Crear base de datos desde el explorador de objetos


Introducir los datos en el cuadro de dialogo. Si no se modifican
los valores, tomará los datos de la base model.

Borrar Base de Datos


DROP DATABASE nombreBase

También podría gustarte