Anda di halaman 1dari 106

PASOS PARA INGRESAR AL INTRANET DE ALUMNOS

1. Solicitar al Área de Informes ó Administración de Sistemas UNI su Usuario y Contraseña la


cual se podrá ser cambiada al iniciar sesión por primera vez.

IMPORTANTE: Es de suma importancia que usted verifique y actualice sus Apellidos y


Nombres de forma correcta en el Área de Administración, debido a que los mismos irán
en su certificado (cuando lo tramite), caso contrario si los datos están incorrectos (al
momento de la entrega del certificado) la emisión del nuevo certificado con los datos
corregidos tendrá un costo de 20 soles.

2. Una vez obtenido el Usuario y la Contraseña ingrese a www. Sistemasuni.edu.pe y click en


Alumnos.

3. Ingresar su Usuario y su Password proporcionado en el Área de Informes ó Administración.


4. Una vez ingresado Ud. Puede revisar sus cursos que llevo y sus respectivas notas en campo
Cursos Libres y Módulos, respectivamente de la modalidad en la cual Ud. Se matriculó.
También puede verificar sus Apellidos y Nombres, de estar incompletos o erróneos.
Acercarse al Área de Informes ó Administración para su corrección.

5. De no visualizar sus notas hasta luego de 7 días después de finalizado el curso,


comunicarse al teléfono 200-9060 opción 3 (Área de Administración).
Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 1

 Instalación y configuración del SQL Server 2014


 Ediciones del SQL Server 2014
 Requerimientos de Hardware y Software

SQL Server - Administración Pág. 1


Universidad Nacional de Ingeniería

I N S TA L A C I O N Y C O N F I G U R A C I O N
D E L S Q L S E R V E R 2 0 1 4
Una de las primeras responsabilidades que asume un DBA (Data Base Administrador),
es la elección del software más adecuado a las necesidades que presente la empresa.
Es por esta razón que, Microsoft corp., pone a nuestra disposición, de diferentes
ediciones de su “Sistema Administrador de Base de Datos” SQL Server 2014.

¿QUÉ ES SQL SERVER 2014?


SQL Server 2014 es una plataforma global de base de datos que ofrece administración
de datos empresariales con herramientas integradas de inteligencia empresarial (BI). El
motor de la base de datos SQL Server 2014 ofrece almacenamiento más seguro y
confiable tanto para datos relacionales como estructurados, lo que le permite crear y
administrar aplicaciones de datos altamente disponibles y con mayor rendimiento para
utilizar en su negocio.

El motor de datos SQL Server 2014 constituye el núcleo de esta solución de


administración de datos empresariales. Asimismo, SQL Server 2014 combina lo mejor
en análisis, información, integración y notificación. Esto permite que su negocio cree y
despliegue soluciones de BI rentables que ayuden a su equipo a incorporar datos en
cada rincón del negocio a través de tableros de comando, escritorios digitales, servicios
Web y dispositivos móviles.

La integración directa con Microsoft Visual Studio, el Microsoft Office System y un


conjunto de nuevas herramientas de desarrollo, incluido el Business Intelligence
Development Studio, distingue al SQL Server 2014. Ya sea que usted se desempeñe
como encargado de desarrollo, administrador de base de datos, trabajador de la
industria de la información o dirija una empresa, SQL Server 2014 ofrece soluciones
innovadoras que le ayudan a obtener más valor de sus datos.

HERRAMIENTAS QUE INCLUYE EL SQL SERVER 2014

Base de datos relacional. Un motor de base de datos relacional más segura, confiable,
escalable y altamente disponible con mejor rendimiento y compatible para datos
estructurados y sin estructura (XML).
Servicios de réplica. Réplica de datos para aplicaciones de procesamiento de datos
distribuidos o móviles, alta disponibilidad de los sistemas, concurrencia escalable con
almacenes de datos secundarios para soluciones de información empresarial e
integración con sistemas heterogéneos, incluidas las bases de datos Oracle existentes.
Notification Services. Capacidades avanzadas de notificación para el desarrollo y el
despliegue de aplicaciones escalables que pueden entregar actualizaciones de
información personalizadas y oportunas a una diversidad de dispositivos conectados y
móviles.
Integration Services. Capacidades de extracción, transformación y carga (ELT) de
datos para almacenamiento e integración de datos en toda la empresa.
Analysis Services. Capacidades de procesamiento analítico en línea (OLAP) para el
análisis rápido y sofisticado de conjuntos de datos grandes y complejos, utilizando
almacenamiento multidimensional.

Pág. 2 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Reporting Services. Una solución global para crear, administrar y proporcionar tanto
informes tradicionales orientados al papel como informes interactivos basados en la
Web.
Herramientas de administración. SQL Server incluye herramientas integradas de
administración para administración y optimización avanzadas de bases de datos, así
como también integración directa con herramientas tales como Microsoft Operations
Manager (MOM) y Microsoft Systems Management Server (SMS). Los protocolos de
acceso de datos estándar reducen drásticamente el tiempo que demanda integrar los
datos en SQL Server con los sistemas existentes. Asimismo, el soporte del servicio Web
nativo está incorporado en SQL Server para garantizar la interoperabilidad con otras
aplicaciones y plataformas.
Herramientas de desarrollo. SQL Server ofrece herramientas integradas de desarrollo
para el motor de base de datos, extracción, transformación y carga de datos, minería de
datos, OLAP e informes que están directamente integrados con Microsoft Visual Studio
para ofrecer capacidades de desarrollo de aplicación de extremo a extremo. Cada
subsistema principal en SQL Server se entrega con su propio modelo de objeto y
conjunto de interfaces del programa de aplicación (API) para ampliar el sistema de datos
en cualquier dirección que sea específica de su negocio.

NOVEDADES EN SQL SERVER 2014

MIGRACIÓN ENTRE CLÚSTERES DE GRUPOS DE DISPONIBILIDAD ALWAYSON


PARA LA ACTUALIZACIÓN DEL SISTEMA OPERATIVO

SQL Server 2014 incluye compatibilidad con la migración entre clústeres de


implementaciones de grupos de disponibilidad AlwaysOn en un nuevo clúster de
Clústeres de conmutación por error de Windows Server (WSFC).Una migración entre
clústeres mueve un grupo de disponibilidad o un lote de grupos de disponibilidad
AlwaysOn al nuevo clúster de WSFC de destino con un tiempo de inactividad mínimo.
El proceso de migración entre clústeres le permite mantener los contratos de nivel de
servicio (SLA) al actualizar a un clúster de Windows Server 2014.SQL Server 2014 debe
estar instalado y habilitado para AlwaysOn en el clúster de destino de WSFC. El éxito
de la migración entre clústeres depende de un planeamiento y una preparación
exhaustivos del clúster de destino de WSFC.

Número máximo de procesadores compatibles con las


ediciones de SQL Server

SQL Server admite el número especificado de sockets de procesador multiplicado por


el número de CPU lógicas en cada socket. Por ejemplo, lo siguiente se considera un
solo procesador para los fines de esta tabla:

 Un procesador de un solo núcleo e hipersubprocesamiento con dos CPU lógicas


por socket.
 Un procesador de doble núcleo con dos CPU lógicas.
 Un procesador de núcleo cuádruple con cuatro CPU lógicas.
 SQL Server se utiliza bajo licencia para cada socket del procesador y no para
cada CPU lógica.

SQL Server - Administración Pág. 3


Universidad Nacional de Ingeniería

Consideraciones sobre la Seguridad


Para iniciar Management Studio, elija Programas>Microsoft SQL Server 2014>SQL
Server Management Studio en el menú de Inicio de Windows. Management Studio se
instala durante la instalación de Sql Server 2014. Al abrirse, le pide que se conecte a
una instancia de SQL Server. En cuanto se conecte, la instancia de SQL Server aparece
en el Explorador de objetos.

Si fuera necesario, se podría dar a conocer características especiales sobre la conexión,


para ello, hay que hacer clic sobre Propiedades de Conexión, luego, aparecerá la
siguiente pantalla.

Pág. 4 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

En el combo de base de datos, se podrá seleccionar la Base de Datos con la cual


deseamos conectarnos, esto dependerá del servidor con el cual nos enlacemos.

En el área de detalles de la red, veremos el modo de conexión que tenemos con el SQL
Server, dicho sea de paso, no es necesario cambiar esta opción.

En conexiones, podemos especificar el tiempo de espera para la conexión, en tiempo


de ejecución, se determina el tiempo de espera para la ejecución de las sentencias en
T-SQL.

Una vez que hayamos dado a conocer, todas las características necesarias para la
conexión, haremos clic sobre el botón Conectar. Seguidamente, veremos la pantalla
del Management Studio.

SQL Server - Administración Pág. 5


Universidad Nacional de Ingeniería

Instalando el SQL Server 2014


Una vez que hayan decidido la Edición a utilizar del SQL Server 2014, procederemos a
instalar el software.

La primera pantalla que se muestra, permite obtener información sobre los requisitos de
instalación, configuración y uso del producto.

Desde aquí, podemos seleccionar el tipo de instalación que se realizará del producto,
ya sea que se realice una primera instalación, se agregue una nueva instancia, se utilice
algún clúster u otro tipo de instalación permitida. Para nuestro caso, será la primera
opción.

Pág. 6 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Inmediatamente se procederá a cargar los archivos de instalación.

El instalador del SQL Server cargará los archivos necesarios para verificar si se
cumplen con los requisitos exigidos por el fabricante.

SQL Server - Administración Pág. 7


Universidad Nacional de Ingeniería

Se validan las reglas generales de la instalación, lo más común es que se tenga que
reiniciar el servidor para continuar.

Se valida que se hayan cumplido con todas la reglas generales para la instalación.

Pág. 8 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Se validan posibles errores durante la instalación, lo más común es que se muestre


una advertencia sobre el firewall, esta se puede configurar posteriormente.

Desde aquí indicaremos que elementos se instalarán, tanto a nivel del servidor como
del cliente, lo más importante es el Motor (Engine) de Base de Datos.

SQL Server - Administración Pág. 9


Universidad Nacional de Ingeniería

Para la primera instalación se tomará el nombre MSSQLSERVER.

Automáticamente se crearán cuentas para cada uno de los servicios a instalar,


mantenerlas y despues cambiar por alguna para administrar el producto.

Pág. 10 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Se pueden indicar rutas distintas para las BD, temporales y backup.

De igual manera con las cuentas para el servicio de Análisis.

SQL Server - Administración Pág. 11


Universidad Nacional de Ingeniería

Es necesario indicar las cuentas de los administradores del servicio.

Pág. 12 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 2

 Administración de la Base de Datos y Archivos


 Planificación de la BD.
 Creación de la BD.
 Administración de la BD.
 Uso de Schemas y FileGroups.

SQL Server - Administración Pág. 13


Universidad Nacional de Ingeniería

C R E A C I Ó N D E L A B D
Para crear la base de datos, podemos hacer uso del management Studio, o a través de
sentencias T-SQL, en ambos casos, tendremos los mismos resultados. El proceso de
definición de una base de datos crea también un registro de transacciones para esa
base de datos.

Utilizando el management Studio, el


procedimiento sería el siguiente,
primero nos ubicamos sobre el objeto
Bases de Datos, luego clic derecho.

Del menú contextual, seleccionar la


alternativa Nueva Base de Datos,
para que se muestre la ventana de
propiedades de la nueva base de
datos.

Desde esta ventana, podremos darle nombre a la nueva base de datos, también se
puede especificar el propietario, así como los nombres físicos y lógicos de la base de
datos.

Si fuera necesario agregar nuevos grupos de archivos, hacer clic sobre el botón
Agregar, luego aparecerá la siguiente pantalla.

Pág. 14 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Para crear la base de datos desde T-SQL, podemos escribir lo siguiente:


Creando la base de datos sin dar mayores especificaciones sobre los archivos a crear:

USE master;
GO
IF DB_ID (N'sistemasUNI') IS NOT NULL
DROP DATABASE sistemasUNI;
GO
CREATE DATABASE sistemasUNI;
GO – Verificando los archivos y tamaños de la BD
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N' sistemasUNI ';
GO

Creando una base de datos especificando los archivos de datos y de transacciones

USE master;
GO
IF DB_ID (N'Ventitas') IS NOT NULL
DROP DATABASE Sales;
GO – obteniendo la ruta del SQL Server
DECLARE @data_path nvarchar(256);
SET @data_path = ( SELECT SUBSTRING(physical_name, 1,
CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- ejecutando la sentencia CREATE DATABASE
EXECUTE ('CREATE DATABASE Ventitas
ON
( NAME = Ventitas _dat,
FILENAME = '''+ @data_path + ' Ventitasdat.mdf'',
SIZE = 10,

SQL Server - Administración Pág. 15


Universidad Nacional de Ingeniería
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Ventitas _log,
FILENAME = '''+ @data_path + ' Ventitaslog.ldf'',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB )' );
GO

Creando una base de datos con múltiples archivos, los archivos con extensiones mdf
contienen los archivos primarios, los ndf contienen los archivos secundarios y los ldf
contienen las transacciones.

USE master;
GO
IF DB_ID (N'Archivo') IS NOT NULL
DROP DATABASE Archivo;
GO – obteniendo la ruta del SQL Server
DECLARE @data_path nvarchar(256);
SET @data_path =(SELECT SUBSTRING(physical_name, 1,
CHARINDEX(N'master.mdf',
LOWER(physical_name)) - 1) FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- ejecutar la sentencia CREATE DATABASE
EXECUTE ('CREATE DATABASE Archivo
ON PRIMARY
( NAME = Arch1,
FILENAME = '''+ @data_path + 'archdat1.mdf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = '''+ @data_path + 'archdat2.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = '''+ @data_path + 'archdat3.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
( NAME = Archlog1,
FILENAME = '''+ @data_path + 'archlog1.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Archlog2,
FILENAME = '''+ @data_path + 'archlog2.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)' );
GO

La información acerca de las bases de datos de SQL Server está almacenada en la


tabla sysdatabases de la base de datos master. Por tanto, debe utilizar la base de
datos master para definir una base de datos cuando utilice instrucciones Transact-SQL.

Pág. 16 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

La definición de una base de datos consiste en especificar el nombre de la base de


datos, y diseñar el tamaño y la ubicación de los archivos de la base de datos. Cuando
se crea la nueva base de datos, ésta es un duplicado de la base de datos model. Las
opciones o configuraciones de la base de datos model se copian en la nueva base de
datos.

Importante, se recomienda hacer una copia de seguridad de la base de datos master


cada vez que cree, modifique o elimine una base de datos.
Al crear una base de datos se pueden establecer los siguientes parámetros:

PRIMARY
Este parámetro especifica los archivos del grupo de archivos principal. El grupo de
archivos principal contiene todas las tablas del sistema de la base de datos. También
contiene todos los objetos no asignados a grupos de archivos del usuario. Todas las
bases de datos tienen un archivo de datos principal. El archivo de datos principal es el
punto de inicio de la base de datos y señala a los demás archivos de la base de datos.
La extensión de nombre de archivo recomendada para los archivos de datos principales
es mdf. Si no se especifica la palabra clave PRIMARY, el primer archivo enumerado en
la instrucción es el archivo principal.

FILENAME
Este parámetro especifica el nombre del archivo del sistema operativo y la ruta de
acceso al archivo. La ruta acceso de archivo debe especificar una carpeta del servidor
en el que está instalado SQL Server.

SIZE
Este parámetro especifica el tamaño de los archivos de datos o de registro. Puede
especificar los tamaños en megabytes (MB), que es el valor predeterminado, o en
kilobytes (KB). El tamaño mínimo es de 512 KB, tanto para los archivos de datos como
para los archivos de registro. El tamaño especificado para el archivo de datos principal
debe ser, al menos, como el tamaño del archivo principal de la base de datos model.
Cuando se agrega un archivo de datos o un archivo de registro, el valor predeterminado
es 1 MB.

MAXSIZE
Este parámetro especifica el tamaño máximo hasta el que puede crecer el archivo.
Puede especificar el tamaño en megabytes (valor predeterminado) o en kilobytes. Si no
se especifica el tamaño, el archivo crece hasta que el disco esté lleno.

FILEGROWTH
Este parámetro especifica el incremento de crecimiento del archivo. El valor de
FILEGROWTH de un archivo no puede sobrepasar el valor de MAXSIZE. Un valor de 0
indica que no hay crecimiento. El valor se puede especificar en megabytes (el valor
predeterminado), en kilobytes o como porcentaje (%). Si no se especifica
FILEGROWTH, el valor predeterminado es el 10 por ciento y el valor mínimo es 64 KB
(una extensión). El tamaño especificado se redondea al múltiplo de 64 KB más próximo.

COLLATION
Este parámetro especifica la intercalación predeterminada para la base de datos. La
intercalación incluye las reglas que gobiernan el uso de caracteres de un lenguaje o un
alfabeto.

SQL Server - Administración Pág. 17


Universidad Nacional de Ingeniería

Registro de Transacciones

1 Modificaciones de datos es
enviada por la aplicación
La modificación se registra en
3 diario de las transacciones en
Buffer Cache el disco

Disk

Páginas de datos se encuentran Disk


2 en, o se leen, en el buffer de
caché Checkpoint escribe
cometido de las
4 transacciones en la
base de datos

SQL Server graba todas las transacciones en un registro de transacciones para


mantener la coherencia de la base de datos y facilitar la recuperación. El registro es un
área de almacenamiento que efectúa automáticamente el seguimiento de todos los
cambios en la base de datos. SQL Server graba las modificaciones al registro en disco
cuando se ejecutan, antes de que se escriban en la base de datos.

El proceso de registro es el siguiente:

• La aplicación envía una modificación de datos.


• Cuando la modificación se ejecuta, las páginas de datos afectadas se cargan en
la caché del búfer desde el disco si no están ya cargadas en la caché del búfer
por una consulta anterior.
• Cada instrucción de modificación de datos se graba en el registro mientras se
ejecuta. El cambio siempre se graba en el registro y se escribe en disco antes
de hacer la modificación en la base de datos. Este tipo de registro se denomina
registro de preescritura.
• De forma repetitiva, el proceso de punto de comprobación escribe en disco todas
las transacciones completadas en la base de datos.
• Si se produce un error del sistema, el proceso automático de recuperación utiliza
el registro de transacciones para aplicar todas las transacciones confirmadas y
deshacer las transacciones incompletas.
• Los marcadores de transacción del registro se utilizan durante la recuperación
automática para determinar los puntos de inicio y fin de cada transacción. Una
transacción se considera completa cuando el marcador BEGIN TRANSACTION
tiene un marcador COMMIT TRANSACTION asociado. Las páginas de datos se
escriben en disco cuando existe un punto de comprobación.

Pág. 18 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Administración de la BD.
Después de haber creado una base de datos, se puede definir opciones de base de
datos con el Management Studio del SQL Server o por medio de la instrucción ALTER
DATABASE.
Puede configurar varias opciones de base de datos, pero sólo se puede hacer en una
sola base de datos al mismo tiempo. Para que las opciones afecten a todas las bases
de datos nuevas, cambie la base de datos model.

Recuperación de información de la base de datos

Puede determinar las propiedades de la base de datos con la siguiente función


DATABASEPROPERTYEX.

SELECT DATABASEPROPERTYEX (base de datos, propiedad)

Tener en cuenta que, esta función sólo devuelve el valor de una propiedad a la vez.

La siguiente tabla enumera los procedimientos almacenados del sistema de uso común
que presentan información acerca de las bases de datos y sus parámetros.

Procedimiento almacenado de Descripción


sistema
sp_helpdb Informa acerca de todas las bases de datos
de un servidor. Proporciona el nombre,
tamaño, propietario, Id., fecha de creación y
opciones de la base de datos.
sp_helpdb baseDeDatos Informa sólo acerca de la base de datos
especificada. Proporciona el nombre, tamaño,
propietario, Id., fecha de creación y opciones
de la base de datos. También enumera los
archivos de datos y de registro.
sp_spaceused [nombreObjeto] Resume el espacio de almacenamiento que
utiliza una base de datos o un objeto de base
de datos.

Componentes físicos: archivos y grupos de archivos de bases


de datos (FileGroup).

Un grupo de archivos es un conjunto lógico de archivos de datos que permite a los


administradores controlar todos los archivos del grupo como un único elemento.
La posibilidad de controlar la posición física de los objetos individuales de la base de
datos puede proporcionar diversas ventajas en cuanto a facilidad de administración y
rendimiento. Por ejemplo, puede utilizar varios grupos de archivos para controlar cómo
se almacenan físicamente los datos de una base de datos en dispositivos de
almacenamiento, y para separar los datos de lectura y escritura de los datos de sólo
lectura.

SQL Server - Administración Pág. 19


Universidad Nacional de Ingeniería

Tipos de grupos de archivos

SQL Server 2014 tiene un grupo de archivos principal y también puede tener grupos de
archivos definidos por el usuario.

El grupo de archivos principal contiene el archivo principal de datos con las tablas del
sistema. El archivo principal de datos utiliza normalmente la extensión .mdf.

Un grupo de archivos definido por el usuario consta de archivos de datos agrupados con
fines de asignación y administrativos. Estos otros archivos de datos se conocen como
archivos secundarios de datos y suelen utilizar la extensión .ndf.

SITUACIÓN DE EJEMPLO PARA VARIOS GRUPOS DE ARCHIVOS


La ilustración proporciona un ejemplo de cómo podría colocar los archivos de base de
datos en discos diferentes, como se describe en la lista siguiente:

• Puede crear grupos de archivos definidos por el usuario para separar los
archivos que se consultan con mucha frecuencia de los que se modifican mucho.
En la ilustración, los archivos OrdHist1.ndf y OrdHist2.ndf se colocan en un disco
distinto que las tablas Product, Customer y SalesOrderHeader, ya que se
consultan como ayuda para la toma de decisiones en lugar de actualizarse con
información de pedidos actual.
• También podría colocar los archivos OrdHist1.ndf y OrdHist2.ndf en discos
diferentes si ambos se consultaran con mucha frecuencia.
• No puede poner archivos de registro de transacciones en grupos de archivos. El
espacio del registro de transacciones se administra por separado del espacio de
datos. Los registros de transacciones suelen utilizar la extensión .ldf.

Pág. 20 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

En el siguiente ejemplo de código Transact-SQL se utiliza la instrucción CREATE


DATABASE para implementar esta situación de ejemplo.

CREATE DATABASE [AdventureWorks] ON PRIMARY


( NAME = N'AdventureWorks_Data', FILENAME = N'C:\AdventureWorks_Data.mdf' ),
FILEGROUP [OrderHistoryGroup]
( NAME = N'OrdHist1', FILENAME = N'D:\OrdHist1.ndf' ),
( NAME = N'OrdHist2', FILENAME = N'D:\OrdHist2.ndf' )
LOG ON
( NAME = N'AdventureWorks_log', FILENAME = N'E:\AdventureWorks_log.ldf')

También puede utilizar la instrucción ALTER DATABASE para agregar o eliminar


archivos y grupos de archivos de bases de datos existentes.

Creación de esquemas
Los desarrolladores que hayan trabajado con Microsoft .NET Framework o con XML
estarán familiarizados con el concepto de espacios de nombres. Un espacio de nombres
ayuda a agrupar los objetos relacionados, haciendo que las listas de objetos complejas
sean más fáciles de administrar. SQL Server 2014 utiliza esquemas para implementar
un concepto similar para los objetos de base de datos.

Los objetos de una base de datos (como tablas, vistas y procedimientos almacenados)
se crean dentro de un esquema. Es esencial comprender lo que es un esquema antes
de planear e implementar una base de datos de SQL Server 2014.

ESQUEMAS COMO ESPACIOS DE NOMBRES


Un esquema es un espacio de nombres para objetos de base de datos. Es decir, un
esquema define un límite dentro del cual todos los nombres son únicos. Puesto que los
nombres de esquema deben ser únicos dentro de la base de datos, cada objeto de una

SQL Server - Administración Pág. 21


Universidad Nacional de Ingeniería

base de datos tiene un nombre completo único con el formato servidor.base de


datos.esquema.objeto. Dentro de una base de datos, puede acortarlo a
esquema.objeto.

La ilustración anterior muestra tres esquemas de la base de datos AdventureWorks en


una instancia de SQL Server denominada Server1. Los esquemas se denominan
Person, Sales y dbo. Cada uno de estos esquemas contiene una tabla y el nombre
completo de la tabla incluye el nombre del servidor, la base de datos y el esquema. Por
ejemplo, el nombre completo de la tabla ErrorLog del esquema dbo es
Server1.AdventureWorks.dbo.ErrorLog.

En versiones anteriores de SQL Server, el espacio de nombres de un objeto estaba


determinado por el nombre de usuario de su propietario. En SQL Server 2014, los
esquemas están separados de la propiedad de los objetos, lo que proporciona las
ventajas siguientes:

• Mayor flexibilidad a la hora de organizar los objetos de base de datos en


espacios de nombres, ya que la agrupación de objetos en esquemas no depende
de la propiedad de los objetos.
• Administración de permisos más sencilla, ya que se puede otorgar permisos en
el ámbito del esquema y en los objetos individuales.
• Facilidad de administración mejorada, porque al quitar a un usuario no es
necesario cambiar el nombre de todos los objetos que ese usuario posee.

ESQUEMAS DE EJEMPLO
La base de datos AdventureWorks utiliza los esquemas siguientes para organizar sus
objetos de base de datos en espacios de nombres:
• HumanResources
• Person
• Production
• Purchasing
• Sales

Por ejemplo, para hacer referencia a la tabla Employee del esquema HumanResources
se utiliza HumanResources.Employee.

El esquema dbo
Todas las bases de datos contienen un esquema denominado dbo. dbo es el esquema
predeterminado para todos los usuarios que no tienen ningún otro esquema
predeterminado definido explícitamente.

Creación de un esquema
Para crear un esquema, utilice el Explorador de objetos de SQL Server Management
Studio o utilice la instrucción CREATE SCHEMA, como se muestra en el ejemplo
siguiente.

Use AdventureWorks
GO
CREATE SCHEMA Sales
GO

Pág. 22 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Cómo funciona la resolución de nombres de objetos

Cuando una base de datos contiene varios esquemas, la resolución de nombres de


objetos puede resultar confusa. Por ejemplo, una base de datos podría contener dos
tablas denominadas Order en dos esquemas diferentes, Sales y dbo. Los nombres
completos de los objetos dentro de la base de datos son inequívocos: Sales.Order y
dbo.Order, respectivamente. Sin embargo, el uso del nombre incompleto Order puede
producir resultados inesperados. Puede asignar a los usuarios un esquema
predeterminado para controlar cómo se resuelven los nombres de objetos incompletos.

CÓMO FUNCIONA LA RESOLUCIÓN DE NOMBRES


SQL Server 2014 utiliza el proceso siguiente para resolver un nombre de objeto
incompleto:
• Si el usuario tiene un esquema predeterminado, SQL Server intenta encontrar el
objeto en ese esquema predeterminado.
• Si el objeto no se encuentra en el esquema predeterminado del usuario, si el
usuario no tiene ningún esquema predeterminado, SQL Server intenta encontrar
el objeto en el esquema dbo.

Por ejemplo, un usuario que tiene el esquema predeterminado Person ejecuta la


siguiente instrucción Transact-SQL:

SELECT * FROM Contact

SQL Server 2014 intentará resolver primero el nombre de objeto como Person.Contact.
Si el esquema Person no contiene un objeto denominado Contact, SQL Server intentará
resolver el nombre de objeto como dbo.Contact.

Si un usuario que no tiene ningún esquema predeterminado definido ejecuta la misma


instrucción, SQL Server resolverá inmediatamente el nombre de objeto como
dbo.Contact.

SQL Server - Administración Pág. 23


Universidad Nacional de Ingeniería

Asignación de un esquema predeterminado


Puede asignar un esquema predeterminado a un usuario utilizando el cuadro de diálogo
Propiedades de Usuario de la base de datos o especificando el nombre del esquema en
la cláusula DEFAULT_SCHEMA de la instrucción CREATE USER o ALTER USER. Por
ejemplo, el siguiente código Transact-SQL asigna Sales como el esquema
predeterminado para el usuario Angello:

ALTER USER Angello WITH DEFAULT_SCHEMA = Sales

Pág. 24 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 3

 Planificación de una Estrategia de Backups


 Realizando el Backup de la BD
 Restaurando una BD
 Recuperación de datos desde Snapshots

SQL Server - Administración Pág. 25


Universidad Nacional de Ingeniería

P L A N I F I C A C I Ó N D E U N A E S T R A T E G I A
D E B A C K U P S

Con frecuencia, los datos en una base de datos confirman las operaciones de una
organización. Sin la base de datos, la organización no puede funcionar adecuadamente.
Es importante que cada misión crítica sistema de base de datos haya sido
adecuadamente definida en procedimientos de recuperación de desastres.
Las operaciones de Copia de seguridad y Restauración, son una parte vital de la gestión
de datos y son esenciales para la recuperación ante fallas y desastres. Por lo tanto, una
parte importante del papel de un administrador de bases de datos, es garantizar que los
datos sean respaldados y puedan ser restaurados rápidamente en caso de un desastre.

Tipos de Backup Descripción


Full Todos los archivos de la Base de Datos, datos (MDF y
NDF) y de transacciones (LDF).

Transaction Log Cualquier cambio en la Base de Datos, es guardado en


el archivo de transacciones.

Differential Las partes de la Base de Datos que han cambiado desde


el último backup completo a la Base de Datos.

Pág. 26 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

SQL Server - Administración Pág. 27


Universidad Nacional de Ingeniería

Realizando el Backup de la BD

Uso de la Instrucción BACKUP DATABASE

Realiza una copia de seguridad completa de la base de datos o de uno o varios archivos
o grupos de archivos (BACKUP DATABASE). Además, con el modelo de recuperación
completa o el modelo de recuperación optimizado para cargas masivas de registros,
realiza la copia de seguridad del registro de transacciones (BACKUP LOG).

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

--Backup para Files o Filegroups


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 ] } ]
[;]

--Creando un Backup 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 ] } ]
[;]

Argumentos

DATABASE
Especifica una copia de seguridad completa de la base de datos. Si se especifica una
lista de archivos y grupos de archivos, sólo se realiza la copia de seguridad de esos
archivos o grupos de archivos. Durante una copia de seguridad completa o diferencial
de una base de datos, SQL Server realiza la copia de seguridad de una parte suficiente
del registro de transacciones para producir una base de datos coherente cuando se
restaure la base de datos.

LOG
Especifica que sólo se realizará la copia de seguridad del registro de transacciones. Se
realiza la copia de seguridad del registro desde la última copia de seguridad del registro
ejecutada correctamente hasta el final actual del registro. Antes de que pueda crear la
primera copia de seguridad del registro, debe crear una copia de seguridad completa.

{ database_name | @database_name_var }

Pág. 28 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Es la base de datos para la que se realiza la copia de seguridad del registro de


transacciones, de una parte de la base de datos o de la base de datos completa. Si se
proporciona como una variable (@database_name_var), este nombre se puede
especificar como una constante de cadena (@database_name_var = database name)
o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de
datos ntext o text.

<file_or_filegroup> [ ,...n ]
Se utiliza sólo con BACKUP DATABASE, especifica un grupo de archivos o un archivo
de copia de seguridad que se va a incluir en una copia de seguridad de archivos o
especifica un grupo de archivos o un archivo de sólo lectura que se va a incluir en una
copia de seguridad parcial.

FILE = { logical_file_name | @logical_file_name_var }


Es el nombre lógico de un archivo o una variable cuyo valor equivale al nombre lógico
de un archivo que se va a incluir en la copia de seguridad.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }


Es el nombre lógico de un grupo de archivos o una variable cuyo valor equivale al
nombre lógico de un grupo de archivos que se va a incluir en la copia de seguridad. En
el modelo de recuperación simple, se permite la copia de seguridad de un grupo de
archivos sólo si se trata de un grupo de archivos de sólo lectura.

n
Es un marcador de posición que indica que se pueden especificar varios archivos y
grupos de archivos en una lista separada por comas. El número es ilimitado.

READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name |


@logical_filegroup_name_var } [ ,...n ] ]
Especifica una copia de seguridad parcial. Una copia de seguridad parcial incluye todos
los archivos de lectura/escritura en una base de datos: el grupo de archivos principal y
los grupos de archivos secundarios de lectura/escritura, así como los grupos de archivos
o archivos de sólo lectura especificados.

READ_WRITE_FILEGROUPS
Especifica que en la copia de seguridad parcial se copiarán todos los grupos de archivos
de lectura/escritura. Si la base de datos es de sólo lectura,
READ_WRITE_FILEGROUPS incluye tan sólo el grupo de archivos principal.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }


Es el nombre lógico de un grupo de archivos de sólo lectura o una variable cuyo valor
equivale al nombre lógico de un grupo de archivos de sólo lectura que se va a incluir en
la copia de seguridad parcial. Para obtener más información, vea "<file_or_filegroup>",
anteriormente en este tema.

n
Es un marcador de posición que indica que se pueden especificar varios grupos de
archivos de sólo lectura en una lista separada por comas.

TO <backup_device> [ ,...n ]
Indica que el conjunto de dispositivos de copia de seguridad correspondiente es un
conjunto de medios no reflejado o el primero de los reflejos de un conjunto de medios
reflejado (para los que se declaran una o más cláusulas MIRROR TO).
<backup_device>

SQL Server - Administración Pág. 29


Universidad Nacional de Ingeniería

Especifica el dispositivo de copia de seguridad físico o lógico que se va a utilizar para la


operación de copia de seguridad.

{ logical_device_name | @logical_device_name_var }
Es el nombre lógico del dispositivo de copia de seguridad en que se hace la copia de
seguridad de la base de datos. El nombre lógico debe seguir las reglas definidas para
los identificadores. Si se proporciona como una variable (@logical_device_name_var),
el nombre del dispositivo de copia de seguridad se puede especificar como una
constante de cadena (@logical_device_name_var = nombre del dispositivo de copia de
seguridad lógico) o como una variable de un tipo de datos de cadena de caracteres,
excepto los tipos de datos ntext o text.

{ DISK | TAPE } = { 'physical_device_name' | @physical_device_name_var }


Especifica un archivo de disco o un dispositivo de cinta.

No es necesario que exista un dispositivo de disco antes de que se especifique en una


instrucción BACKUP. Si el dispositivo físico existe y no se especifica la opción INIT en
la instrucción BACKUP, la copia de seguridad se anexa al dispositivo.

n
Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos
de copia de seguridad en una lista separada por comas.

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


Especifica un conjunto de uno o varios dispositivos de copia de seguridad que reflejarán
los dispositivos de copia de seguridad especificados en la cláusula TO. La cláusula
MIRROR TO debe incluir el mismo número y tipo de dispositivos de copia de seguridad
que la cláusula TO. El número máximo de cláusulas MIRROR TO es tres.

Esta opción sólo está disponible en SQL Server 2014 Enterprise Edition y versiones
posteriores.

<backup_device>
Vea "<backup_device>", en un apartado anterior de esta sección.

n
Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos
de copia de seguridad en una lista separada por comas. El número de dispositivos de
la cláusula MIRROR TO debe ser igual al número de dispositivos de la cláusula TO.

[ next-mirror-to ]
Es un marcador de posición que indica que una sola instrucción BACKUP puede
contener hasta tres cláusulas MIRROR TO, además de una sola cláusula TO.

Opciones de WITH
Especifica las opciones que se van a utilizar con una operación de copia de seguridad.

DIFFERENTIAL
Se utiliza sólo con BACKUP DATABASE. Especifica que la copia de seguridad de la
base de datos o el archivo sólo debe estar compuesta por las partes de la base de datos
o el archivo que hayan cambiado desde la última copia de seguridad completa. Una
copia de seguridad diferencial suele ocupar menos espacio que una copia de seguridad
completa. Utilice esta opción para que no tenga que aplicar todas las copias de

Pág. 30 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

seguridad de registros individuales efectuadas desde que se realizó la última copia de


seguridad completa.

DESCRIPTION = { 'text' | @text_variable }


Especifica el texto de forma libre que describe el conjunto de copia de seguridad. La
cadena puede tener un máximo de 255 caracteres.

NAME = { backup_set_name | @backup_set_var }


Especifica el nombre del conjunto de copia de seguridad. Los nombres pueden tener un
máximo de 128 caracteres. Si no se especifica NAME, está en blanco.

PASSWORD = { password | @password_variable }


Establece la contraseña del conjunto de copia de seguridad. PASSWORD es una
cadena de caracteres.

Utilizando el Management del SQL Server


Primero nos ubicamos en el explorador de objetos, y luego hacemos clic derecho sobre
la base de datos, seguidamente, haremos clic sobre la opción de propiedades de la base
de datos.

SQL Server - Administración Pág. 31


Universidad Nacional de Ingeniería

Luego, en la opción “Modo de Recuperación”, seleccionaremos la alternativa


“Completa”, con la cual, podremos realizar todos los tipos de Backup de nuestra Base
de Datos.

Una vez cambiadas las propiedades de nuestra base de datos, haremos clic derecho
sobre la base de datos de la que queremos una copia de seguridad, en la opción “Tasks”,
seleccionamos “Back Up..” (ver figura).

Restaurando una BD
Para realizar la restauración de una Base de Datos, podemos hacer uso de la instrucción
RESTORE, o de lo contrario, utilizar el management Sql Server.

RESTORE (Transact-SQL)
Restaura copias de seguridad realizadas con el comando BACKUP. Este comando le
permite realizar los siguientes escenarios de restauración:

• Restaurar una base de datos completa a partir de una copia de seguridad


completa de la base de datos (restauración completa).
• Restaurar parte de una base de datos (restauración parcial).
• Restaurar archivos o grupos de archivos en una base de datos (restauración de
archivos).
• Restaurar páginas específicas en una base de datos (restauración de páginas).
• Restaurar un registro de transacciones en una base de datos (restauración del
registro de transacciones).
• Revertir una base de datos al punto temporal capturado por una instantánea de
la base de datos.

--To Restore an Entire Database from a Full database backup (a Complete Restore):
RESTORE 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>
| , <service_broker_WITH options>
| , <point_in_time_WITH_options—RESTORE_DATABASE>
} [ ,...n ]
]
[;]

--To perform the first step of the initial restore sequence


-- of a piecemeal restore:
RESTORE DATABASE { database_name | @database_name_var }
<files_or_filegroups> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
PARTIAL, NORECOVERY

Pág. 32 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas
[ , <general_WITH_options> [ ,...n ]
| , <point_in_time_WITH_options—RESTORE_DATABASE>
] [ ,...n ]
[;]
--To Restore Specific Files or Filegroups:
RESTORE DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
{
[ RECOVERY | NORECOVERY ]
[ , <general_WITH_options> [ ,...n ] ]
} [ ,...n ]
[;]

Permisos

Si la base de datos que se va a restaurar no existe, el usuario debe tener permisos


CREATE DATABASE para poder ejecutar RESTORE. Si la base de datos existe, los
permisos RESTORE corresponden de forma predeterminada a los miembros de las
funciones fijas de servidor sysadmin y dbcreator, y al propietario (dbo) de la base de
datos (para la opción FROM DATABASE_SNAPSHOT, la base de datos siempre
existe).

Los permisos RESTORE se conceden a funciones en las que la información acerca de


los miembros está siempre disponible para el servidor. Debido a que los miembros de
una función fija de base de datos sólo se pueden comprobar cuando la base de datos
es accesible y no está dañada, lo que no siempre ocurre cuando se ejecuta RESTORE,
los miembros de la función fija de base de datos db_owner no tienen permisos
RESTORE.

La operación de copia de seguridad puede especificar opcionalmente contraseñas de


un conjunto de medios, de un conjunto de copia de seguridad o de ambos. Si se ha
definido una contraseña en un conjunto de medios o un conjunto de copia de seguridad,
debe especificar la contraseña o contraseñas correctas en la instrucción RESTORE.
Estas contraseñas impiden operaciones de restauración y anexiones no autorizadas de
los conjuntos de copia de seguridad en medios que utilizan herramientas de SQL Server.
No obstante, los medios protegidos con contraseña se pueden sobrescribir mediante la
opción FORMAT de la instrucción BACKUP.

Ejemplos sobre el uso del RESTORE

A. Restaurar una base de datos completa


En el siguiente ejemplo se restaura una copia de seguridad completa de la base de
datos desde un dispositivo lógico de copia de seguridad de AdventureWorksBackups

RESTORE DATABASE AdventureWorks


FROM AdventureWorksBackups

B. Restaurar copias de seguridad de bases de datos completas y diferenciales


En el siguiente ejemplo se restaura una copia de seguridad completa después de una
copia de seguridad diferencial del dispositivo de copia de seguridad
Z:\SQLServerBackups\AdventureWorks.bak, que contiene las dos copias de seguridad.

SQL Server - Administración Pág. 33


Universidad Nacional de Ingeniería

La copia de seguridad de bases de datos completa que se va a restaurar es el sexto


conjunto de copias de seguridad del dispositivo (FILE = 6), y la copia de seguridad de
base de datos diferencial es el noveno conjunto del dispositivo (FILE = 9). En cuanto se
recupere la copia de seguridad diferencial, se recuperará la base de datos.
RESTORE DATABASE AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE = 6
NORECOVERY;
RESTORE DATABASE AdventureWorks
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
WITH FILE = 9
RECOVERY;

C. Restaurar una base de datos con la sintaxis de RESTART


En el ejemplo siguiente se usa la opción RESTART para reiniciar una operación
RESTORE interrumpida por un error de alimentación del servidor.
-- This database RESTORE halted prematurely due to power failure.
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups
-- Here is the RESTORE RESTART operation.
RESTORE DATABASE AdventureWorks
FROM AdventureWorksBackups WITH RESTART

D. Restaurar una base de datos y mover archivos


En el ejemplo siguiente se restaura una base de datos completa y el registro de
transacciones, y se mueve la base de datos restaurada al directorio C:\Program
Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data.

RESTORE DATABASE AdventureWorks


FROM AdventureWorksBackups
WITH NORECOVERY,
MOVE 'AdventureWorks_Data' TO
'C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf',
MOVE 'AdventureWorks_Log'
TO 'C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf'
RESTORE LOG AdventureWorks
FROM AdventureWorksBackups
WITH RECOVERY

Pág. 34 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 4

 Administración de la Seguridad
 Modos de autenticidad
 Creación de Usuarios
 Uso de Credenciales y Permisos

SQL Server - Administración Pág. 35


Universidad Nacional de Ingeniería

A D M I N I S T R A C I Ó N D E L A S E G U R I D A D

La seguridad es una consideración primordial cuando se diseña y administra un entorno


de base de datos, aquí, daremos a conocer los componentes fundamentales de
seguridad de SQL Server: entidades de seguridad, protegibles y el modo en que se
aplican los permisos dentro del modelo de seguridad de SQL Server.

¿Qué son las entidades de seguridad?


SQL Server 2014 emplea el término entidad de seguridad para referirse a las
identidades autenticadas en un sistema de SQL Server. La comprensión de las
diferentes entidades de seguridad que pueden existir en un sistema de SQL Server le
ayudará a planear su modelo de seguridad.

Una entidad de seguridad es cualquier identidad autenticada a la que se puede conceder


permiso para tener acceso a un objeto del sistema de base de datos. SQL Server
distingue entre entidades principales indivisibles, que son identidades únicas (como, por
ejemplo, inicios de sesión), y entidades de seguridad de colección, que son colecciones
de identidades (tales como funciones fijas de servidor).

Pág. 36 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Las entidades de seguridad existen en tres niveles: Microsoft Windows®, SQL Server y
base de datos. Los tipos de entidad de seguridad posibles en cada uno de estos niveles
se muestran en la tabla siguiente.

Nivel Entidades de seguridad


Windows Cuenta de usuario local de Windows
Cuenta de usuario de dominio de Windows
Grupo de Windows
SQL Server Inicio de sesión de SQL Server
Función de SQL Server
Base de datos Usuario de la base de datos
Función de la base de datos
Función de aplicación
Grupo de bases de datos (sólo para compatibilidad
con versiones anteriores)

Nota Los grupos de bases de datos se admiten principalmente por motivos de


compatibilidad con versiones anteriores. Debería usar las funciones de base de datos
para crear entidades de seguridad de colección en el nivel de base de datos.

¿Qué son los protegibles?

Los objetos cuyo acceso está regulado por el sistema de autorización de SQL Server
2014 se denominan protegibles. Como ocurre con las entidades de seguridad, es
necesario comprender los diferentes ámbitos de los protegibles en SQL Server para
planear su modelo de seguridad.

SQL Server - Administración Pág. 37


Universidad Nacional de Ingeniería

Los protegibles se organizan en jerarquías anidadas llamadas ámbitos, que también se


pueden proteger. Los tres ámbitos protegibles son servidor, base de datos y esquema.
Los protegibles en el nivel de Windows incluyen archivos y claves del Registro.

El ámbito de servidor Los protegibles que contiene el ámbito de


servidor incluyen:
■ Inicios de sesión
■ Extremos
■ Bases de datos
El ámbito de base de datos Los protegibles que contiene el ámbito de
base de datos incluyen:
■ Usuarios
■ Funciones
■ Funciones de aplicación
■ Certificados
■ Claves simétricas
■ Claves asimétricas
■ Ensamblados
■ Catálogos de texto completo
■ Eventos DDL
■ Esquemas
El ámbito de esquema Los protegibles que contiene el esquema
incluyen:
■ Tablas
■ Vistas
■ Funciones
■ Procedimientos
■ Tipos
■ Sinónimos
■ Agregados

Nota Tenga en cuenta que una entidad de seguridad también puede ser un protegible.
Por ejemplo, un inicio de sesión es una entidad de seguridad, pero también se pueden
otorgar permisos en ese inicio de sesión a otros inicios de sesión, lo que lo convierte en
un protegible.

Permisos de SQL Server 2014

SQL Server 2014 usa permisos para controlar el acceso a los protegibles por parte de
entidades de seguridad. Para planear su modelo de seguridad para la base de datos,
es importante entender cómo se implementan los permisos en los ámbitos de los
protegibles.

Pág. 38 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Los permisos son las reglas que gobiernan el nivel de acceso de las entidades de
seguridad a los protegibles. Se pueden otorgar, revocar o denegar permisos en un
sistema de SQL Server. Todos los protegibles de SQL Server tienen permisos asociados
que pueden otorgarse a cada entidad de seguridad.

Ejemplo de permiso
La única manera de que una entidad de seguridad pueda tener acceso a un recurso en
un sistema de SQL Server es recibir permiso para ello, directa o indirectamente a través
de la suscripción de una entidad secundaria como una función o un grupo. Puede
administrar los permisos usando el Explorador de objetos en SQL Server Management
Studio o mediante la ejecución de instrucciones GRANT, REVOKE o DENY.
Los permisos concretos asociados a cada uno de los protegibles varían según los tipos
de acciones que son compatibles con un protegible.

Permisos heredados
Determinados permisos en SQL Server 2014 se pueden heredar a través de un permiso
concedido en un nivel más alto de la jerarquía de ámbito del protegible. Por ejemplo:

■ Una entidad de seguridad a la que se le ha concedido el permiso SELECT en un


esquema hereda automáticamente el permiso SELECT en todos los objetos del
esquema.
■ Una entidad de seguridad a la que se la ha concedido el permiso CONTROL en
un objeto de base de datos hereda automáticamente el permiso CONTROL en
todos los protegibles que contiene esa base de datos y todos los protegibles que
contienen los esquemas incluidos en esa base de datos.

Permisos efectivos
Los permisos efectivos para una entidad de seguridad se evalúan de la misma manera
que en versiones anteriores de SQL Server. Una entidad de seguridad puede realizar
una acción determinada si:

■ El permiso se ha concedido explícitamente a la entidad de seguridad o a una


colección de la que es miembro la entidad de seguridad, y…

SQL Server - Administración Pág. 39


Universidad Nacional de Ingeniería

■ El permiso no se ha denegado explícitamente a la entidad de seguridad o a una


colección de la que es miembro la entidad de seguridad.

Nota Una instrucción DENY explícita siempre reemplaza a una instrucción GRANT. Por
ejemplo, si a un usuario se le ha concedido explícitamente el permiso SELECT en una
tabla determinada pero es miembro de una función a la que se le ha denegado
explícitamente el permiso SELECT en la tabla, el usuario no podrá ejecutar una
instrucción SELECT en la tabla.

¿Qué son los modos de autenticación de SQL Server?

SQL Server 2014 puede configurarse para usar uno de los dos modos de autenticación
siguientes:

Modo de autenticación de Windows. Los usuarios se autentican con Windows y se les


concede el acceso a SQL Server mediante un inicio de sesión asignado a su cuenta de
Windows (o a un grupo de Windows del que son miembros). Cuando se realiza la
solicitud de conexión inicial, el símbolo de acceso del usuario, que se emitió cuando se
inició sesión en Windows, se presenta a SQL Server y, si se encuentra un inicio de
sesión coincidente, se concede al usuario el acceso a SQL Server.

Modo de autenticación de Windows y SQL Server. Los usuarios que se conectan a SQL
Server mediante una conexión de confianza (una conexión de red a través de la cual se
puede pasar el símbolo de acceso de Windows del usuario) tienen acceso a SQL Server
mediante la autenticación de Windows. Además, SQL Server mantiene inicios de sesión

Pág. 40 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

no asignados a usuarios de Windows y los usuarios pueden conectarse a SQL Server


tras indicar un nombre de inicio de sesión válido y la contraseña que SQL Server valida
de forma independiente a Windows. El modo de autenticación de Windows y SQL Server
se conoce a veces como modo mixto.

N ota Los inicios de sesión en SQL Server asignados a los usuarios de Windows se
conocen como inicios de sesión de Windows. Los inicios de sesión autenticados en SQL
Server se conocen como inicios de sesión de SQL.

Las necesidades de seguridad de sus entornos de servidor y de red determinarán el


modo de autenticación que se usará para SQL Server. Puede usar SQL Server
Management Studio para establecer el modo de autenticación de su servidor.

CUANDO USAR EL MODO DE AUTENTICACIÓN WINDOWS


Use el modo de autenticación de Windows en entornos de red en los que todos los
usuarios estén autenticados mediante cuentas de usuario de Windows.
La autenticación de Windows proporciona varias ventajas sobre la autenticación de SQL
Server, como por ejemplo:

• Le permite agregar grupos de usuarios a SQL Server mediante la agregación de


una cuenta de inicio de sesión única.
• Permite a los usuarios un rápido acceso a SQL Server sin tener que recordar
otra cuenta de inicio de sesión y contraseña.

SQL Server - Administración Pág. 41


Universidad Nacional de Ingeniería

CUANDO USAR EL MODO DE AUTENTICACIÓN SQL


Use el modo de autenticación de Windows y SQL Server cuando deba permitir que se
conecten a SQL Server usuarios o aplicaciones que no tienen las credenciales de
Windows. A menos que necesite específicamente conexiones a SQL Server que no
sean de Windows, no debería habilitar el modo de autenticación de Windows y SQL
Server por las razones siguientes:

La autenticación de Windows no exige que los nombres de usuario y las contraseñas


pasen por la red al conectarse a SQL Server. En su lugar, se usa el símbolo de acceso
de usuario de Windows, lo que hace más segura la autenticación de Windows.

La autenticación de Windows requiere menos sobrecarga administrativa, ya que el


acceso a SQL Server puede lograrse mediante un inicio de sesión que se asigna a un
grupo de Windows, y la administración de cada uno de los usuarios se confina al dominio
de Windows.
El modo de autenticación de Windows y SQL Server aumenta la superficie del sistema
de SQL Server, lo que lo hace más vulnerable ante cualquier ataque.

I m portante Independientemente del modo de seguridad empleado, asegúrese de que


la contraseña para el inicio de sesión del administrador del sistema (sa) no esté en
blanco.

Cómo administrar inicios de sesión de SQL Server

Puede administrar los inicios de sesión mediante el Explorador de objetos en SQL


Server Management Studio o por medio de la ejecución de las instrucciones Transact-
SQL CREATE LOGIN, ALTER LOGIN y DROP LOGIN.

Pág. 42 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Nota De manera predeterminada, SQL Server está configurado para usar el modo de
autenticación de Windows. Todavía puede crear inicios de sesión de SQL, pero no
podrán conectarse al servidor hasta que se cambie el modo de autenticación al modo
de autenticación de Windows y SQL Server.

CREANDO INICIOS DE SESIÓN


Puede usar la instrucción CREATE LOGIN para crear inicios de sesión de Windows o
SQL Server. Las opciones concretas que puede usar dentro de la instrucción CREATE
LOGIN dependen de si está creando un inicio de sesión de Windows o un inicio de
sesión de SQL Server.

El ejemplo siguiente muestra una instrucción CREATE LOGIN que crea un inicio de
sesión de Windows para un grupo de Windows local denominado SalesDBUsers:

CREATE LOGIN [SERVERX\Vendedor]


FROM WINDOWS
WITH DEFAULT_DATABASE = AdventureWorks

El ejemplo siguiente muestra una instrucción CREATE LOGIN que crea un inicio de
sesión de SQL:

CREATE LOGIN DRamos


WITH PASSWORD = 'Pa$$w0rd',
DEFAULT_DATABASE = AdventureWorks

Las cuentas de usuario de Windows están sujetas a directivas de contraseñas aplicadas


por Windows. SQL Server 2014 proporciona restricciones de directiva similares para
inicios de sesión de SQL cuando está instalado en Windows Server 2003/2014. Cuando
una directiva de contraseñas está habilitada para el servidor, SQL Server la habilita de
forma predeterminada para nuevos inicios de sesión de SQL; puede cambiar este
comportamiento mediante las opciones de la instrucción CREATE LOGIN mostradas en
la tabla siguiente.

SQL Server - Administración Pág. 43


Universidad Nacional de Ingeniería

Opción Descripción
HASHEDloca Especifica que la contraseña ya se ha comprobado
aleatoriamente. Si no está especificada, la cadena se
comprobará aleatoriamente antes del
almacenamiento.
MUST_CHANGE Solicita a un inicio de sesión que cambie su
contraseña la primera vez que se conecta. Si se
especifica esta opción, CHECK_EXPIRATION y
CHECK_POLICY deben establecerse en ON.
CHECK_EXPIRATION Cuando se encuentra en ON (el valor
predeterminado), esta opción especifica que la
directiva de caducidad de contraseñas de Windows
Server 2003/2014 debería aplicarse al inicio de
sesión de SQL Server. Si esta opción se encuentra
en ON, la opción CHECK_POLICY también debe
estar en ON o se producirá un error en la instrucción.
CHECK_POLICY Cuando se encuentra en ON (el valor
predeterminado), esta directiva especifica que la
directiva de complejidad de contraseñas de Windows
Server 2003/2014 debería aplicarse al inicio de
sesión de SQL Server.

El ejemplo siguiente muestra una instrucción CREATE LOGIN que crea un inicio de
sesión de SQL que no está sujeto a la directiva de contraseñas definida para el servidor:

CREATE LOGIN LeoRamos


WITH PASSWORD = 'password',
DEFAULT_DATABASE = AdventureWorks,
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF

Importante CHECK_EXPIRATION y CHECK_POLICY sólo se aplican en Windows


Server 2003/2014 y posteriores. Además, un problema conocido en Windows Server
2003 podría evitar que se restablezca el recuento de la contraseña incorrecta una vez
se haya alcanzado el umbral de bloqueo. Esto podría producir un bloqueo inmediato
en los subsiguientes intentos fallidos de inicio de sesión. Puede restablecer
manualmente el recuento de la contraseña incorrecta con solo establecer
CHECK_POLICY = OFF, seguido por CHECK_POLICY = ON.

MODIFICANDO INICIOS DE SESIÓN


Puede modificar un inicio de sesión viendo sus propiedades en el Explorador de objetos
o mediante la ejecución de la instrucción ALTER LOGIN. Un uso común de la instrucción
ALTER LOGIN es desbloquear un inicio de sesión bloqueado por una contraseña
caducada. El ejemplo siguiente muestra cómo desbloquear una cuenta bloqueada:
ALTER LOGIN dRamos WITH PASSWORD = 'NewPa$$w0rd' UNLOCK

Pág. 44 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

ELIMINANDO INICIOS DE SESIÓN


Puede eliminar un inicio de sesión haciendo clic sobre él con el botón secundario en el
Explorador de objetos y haciendo clic a continuación en Eliminar, o ejecutando la
instrucción DROP LOGIN como se muestra en el ejemplo siguiente:

DROP LOGIN dRamos

¿Qué son las funciones fijas de servidor?

Las funciones proporcionan un medio de agrupar usuarios en una sola unidad a la que
se pueden aplicar permisos.

SQL Server proporciona funciones de servidor predefinidas para funciones


administrativas comunes, de manera que resulte sencillo otorgar una selección de
permisos administrativos a un usuario determinado. Las funciones fijas de servidor
proporcionan agrupaciones de privilegios administrativos en el nivel de servidor. Se
administran de forma independiente a las bases de datos de usuarios en el servidor.

Además de las funciones fijas de servidor mostradas en la tabla anterior, cada instancia
de SQL Server contiene una función fija de servidor especial denominada pública, de
la que todos los inicios de sesión son miembros. La función fija de servidor pública
recibe el permiso VIEW ANY DATABASE.

SQL Server - Administración Pág. 45


Universidad Nacional de Ingeniería

Permisos de ámbito de servidor


Los protegibles del ámbito de servidor incluyen objetos como el mismo servidor, los
inicios de sesión y las bases de datos.

La tabla siguiente muestra algunos permisos de ejemplo en el ámbito de servidor. Para


obtener una lista completa de los permisos, consulte “Permisos” en los Libros en pantalla
de SQL Server.

Protegible Permiso Descripción


Servidor CONNECT_SQL Conectarse al servidor.
CREATE LOGIN Crear un inicio de sesión.
ALTER ANY LOGIN Modificar cualquier inicio de
sesión en el ámbito de servidor.
CONTROLSERVER Control administrativo de todo el
sistema.
Login ALTER Modificar el inicio de sesión.
IMPERSONATE Suplantar el inicio de sesión.
Base de datos CREATE TABLE Crear una tabla en la base de
datos.
ALTER ANY USER Modificar cualquier usuario de la
base de datos.
CONTROL Control completo de la base de
datos.

¿Qué son las funciones de base de datos?

SQL Server proporciona dos tipos de funciones en el nivel de base de datos: funciones
fijas de base de datos y funciones de base de datos definidas por el usuario.

Pág. 46 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Las funciones fijas de base de datos proporcionan a las agrupaciones privilegios


administrativos en el nivel de base de datos a las que se han concedido permisos para
las tareas comunes de la base de datos. Las funciones fijas de base de datos de una
base de datos se describen en la tabla siguiente.

Función Descripción
db_accessadmin Agregar o quitar usuarios, grupos y funciones
de la base de datos.
db_backupoperator Realizar una copia de seguridad de la base de
datos.
db_datareader Leer datos de cualquier tabla.
db_datawriter Agregar, cambiar o eliminar datos de cualquier
tabla.
db_ddladmin Agregar, modificar o eliminar objetos de la base
de datos.
db_denydatareader No poder leer los datos de ninguna tabla.
db_denydatawriter No poder cambiar los datos de ninguna tabla.
db_owner Realizar cualquier actividad de función de base
de datos.
db_securityadmin Cambiar las funciones de la base de datos,
cambiar las funciones de aplicación, crear
esquemas.
public Mantener los permisos predeterminados.

¿Qué son las funciones de aplicación?

Las funciones de aplicación permiten cumplir con la seguridad para una aplicación
determinada. Proporcionan un contexto de seguridad alternativo para que un usuario
tenga acceso a una base de datos. El usuario ejecuta una aplicación asociada a una
función de aplicación y el contexto de seguridad de la función de aplicación se usa en
lugar del usuario individual.

SQL Server - Administración Pág. 47


Universidad Nacional de Ingeniería

Permisos de ámbito de base de datos

Los permisos de base de datos son permisos para que una entidad de seguridad pueda
ejecutar ciertas tareas dentro de la base de datos. Por ejemplo, el permiso ALTER ANY
USER permite que una entidad de seguridad cree, modifique y quite usuarios de una
base de datos.

Los permisos del ámbito de base de datos son permisos que pueden aplicarse a
protegibles en el ámbito de base de datos, como usuarios, esquemas, funciones,
ensamblados y objetos de service broker. La tabla siguiente muestra algunos de los
permisos del ámbito de base de datos.

Pág. 48 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 5

 Transferencia de Datos
 Modos de Transferencia de Datos
 Introducción al SQL Server Integration Services

SQL Server - Administración Pág. 49


Universidad Nacional de Ingeniería

¿ Q U É E S L A T R A N S F E R E N C I A D E
D A T O S ?

La transferencia de datos es el movimiento de datos entre almacenes de datos. El


proceso puede ser desde muy simple hasta muy complejo. Prácticamente todas las
soluciones de bases de datos requieren algún tipo de transferencia de datos.
Normalmente, el proceso de transferir datos de un sistema a otro implica los pasos
siguientes:

■ Extraer datos del origen de datos.


■ Transformar los datos (opcional).
■ Cargar los datos en el almacén de datos de destino.

Escenarios comunes
Los siguientes son escenarios comunes para la transferencia de datos:
 Trasladar los datos a sistemas de almacenamiento de datos.
 Consolidar datos en un lugar a partir de varios orígenes. Por ejemplo, una
oficina comercial central puede contar con una base de datos con datos
consolidados de todos sus sistemas de almacenamiento remotos.
 Mover datos de un sistema heredado a un sistema nuevo.
 Mover datos de un sistema no relacional, como el de Excel® de Microsoft
Office, a un sistema relacional, como SQL Server 2014.

¿Qué es la transformación de datos?


Cuando seleccione datos para importarlos a su sistema, los datos podrían no estar en
el formato necesario o no cumplir con sus reglas de validación. Con la transformación
de los datos se pueden eliminar incoherencias. La transformación de los datos puede
significar un simple cambio de los tipos de datos o una transformación compleja
mediante código de procedimiento.

Pág. 50 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Herramientas para la transferencia de datos

SQL Server 2014 tiene varias herramientas para transferir datos. Cada una de ellas es
adecuada para escenarios concretos.

Programa de copia masiva


Un Programa de copia masiva (PCM) es un programa de línea de comandos para
importar y exportar los datos a archivos de texto. Es una herramienta útil cuando es
necesario importar o exportar datos desde la línea de comandos o un archivo de proceso
por lotes; proporciona un rendimiento rápido con una carga mínima para el sistema.

BULK INSERT
BULK INSERT es la versión de Transact-SQL del PCM y tiene muchos de los mismos
parámetros. Es útil cuando es necesario incluir la funcionalidad de importación de datos
en su lógica de Transact-SQL.

Componente de carga masiva XML


La Carga masiva XML es un Modelo de objetos componente (COM) independiente que
le permite cargar los datos del Lenguaje de marcado extensible (XML) en las tablas de
SQL Server. Debería usar el componente Carga masiva de XML cuando necesite
importar una gran cantidad de datos XML y distribuirlos en una o más tablas
relacionales.

Réplica
La réplica es útil cuando dos o más sistemas tienen la misma estructura y no es
necesario transformar los datos. Los cambios en el sistema editor se replican en los
suscriptores con una frecuencia preconfigurada y algunas formas de réplica permitirán
que los propios suscriptores modifiquen los datos. La réplica no es adecuada si los datos
deben transformarse o si proceden de un sistema no relacional.

SQL Server - Administración Pág. 51


Universidad Nacional de Ingeniería

SQL Server Integration Services


Los SQL Server Integration Services son un sistema mucho más avanzado para la
transferencia y transformación de los datos. Proporciona una arquitectura flexible, rápida
y escalable que permite la integración de datos de forma eficaz en entornos
empresariales actuales. La transferencia y transformación de los datos puede ser muy
sencilla mediante los SSIS, pero también puede conllevar una compleja asignación y
validación de datos.

Introducción a SQL Server Integration Services

SSIS es una aplicación compleja. SSIS tiene dos motores: un motor en tiempo de
ejecución y un motor de flujo de datos. El motor de flujo de datos controla las tareas de
extracción, transformación y carga; el motor en tiempo de ejecución controla todo lo
demás, incluidas la repetición y la comunicación con procesos externos.

¿QUÉ ES SSIS?
SQL Server 2014 Integration Services (SSIS) es una plataforma para generar soluciones
de integración de datos de alto rendimiento, incluidas la extracción, la transformación y
la carga (ETL) de paquetes para el almacenamiento de datos. SSIS se compone de un
motor en tiempo de ejecución orientado a operaciones y de un motor de flujo de datos
escalable y rápido. El flujo de datos existe en el contexto de un flujo de tareas global.

El motor en tiempo de ejecución es el que proporciona el recurso en tiempo de ejecución


y el soporte operativo para el motor de flujo de datos.

HERRAMIENTAS Y ASISTENTES DE SSIS


SSIS incluye las herramientas y asistentes siguientes, que pueden usarse para crear,
configurar, implementar y ejecutar paquetes SSIS:

Diseñadores. SSIS ofrece diseñadores integrados en SQL Server Business Intelligence


Development Studio. Juntos, proporcionan el principal entorno de desarrollo para crear
paquetes SSIS.

Pág. 52 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Herramientas administrativas. SSIS incluye varias herramientas administrativas que se


pueden usar solas, o bien, se puede obtener acceso a ellas desde SQL Server
Management Studio. Estas herramientas administrativas pueden usarse para
configurar, implementar y ejecutar paquetes SSIS.

Utilidades del símbolo de sistema. SSIS incluye utilidades del símbolo de sistema que
pueden usarse para ejecutar paquetes SSIS desde la línea de comandos o en un archivo
de proceso por lotes.

Asistentes. Los asistentes de SSIS proporcionan una sencilla interfaz de usuario que
puede usarse para llevar a cabo las tareas SSIS más habituales.

CÓMO PROCESA SSIS LAS TAREAS


Un paquete está compuesto por un flujo de control y, opcionalmente, por uno o más
flujos de datos.

Flujo de control
SSIS tiene tres tipos de componentes de flujo de control: contenedores, tareas y
restricciones de precedencia.
 Los contenedores agrupan las tareas en unidades significativas de trabajo y
son compatibles con la repetición a través del contenedor para cada miembro
de una colección o hasta que una expresión determinada se evalúa como
FALSE.
 Las tareas realizan el trabajo en paquetes. Las tareas pueden:
o Extraer, transformar y cargar datos.
o Copiar datos.
o Comunicarse con otros procesos.
o Trabajar con objetos y datos de SQL Server.
o Trabajar con objetos de Analysis Services y procesarlos.
o Ejecutar trabajos administrativos como copias de seguridad.
 Las tareas también contienen secuencias de comandos para implementar
funcionalidades personalizadas.

SQL Server - Administración Pág. 53


Universidad Nacional de Ingeniería

 Las restricciones de precedencia crean una secuencia ordenada de ejecución


para los contenedores y las tareas.

Flujo de datos
El flujo de datos es un tipo especial de tarea dentro de un flujo de control. SSIS tiene
tres tipos de componentes de flujo de datos: orígenes, destinos y transformaciones.
■ Los orígenes extraen los datos de una amplia gama de almacenes de datos que
incluyen bases de datos relacionales, archivos de texto y hojas de cálculo.
■ Las transformaciones modifican los datos entre el origen y el destino, e incluyen
la validación, agregación y asignación de datos.
■ Los destinos cargan los datos en cualquiera de los almacenes de datos.

Usar SQL Server Integration Services

Para crear paquetes SSIS es necesario entender cómo se crea cada objeto. A menudo
los paquetes se crean en sistemas de desarrollo y se implementan en entornos de
producción.

¿QUÉ SON LOS ORÍGENES DE DATOS Y LAS VISTAS DE ORIGEN DE DATOS?


SSIS incluye dos objetos en tiempo de diseño que facilitan la implementación de las
conexiones en paquetes: orígenes de datos y vistas de origen de datos.
Los orígenes de datos y las vistas de origen de datos se crean en un proyecto. A
continuación, estarán disponibles para cada paquete de ese proyecto. Los orígenes de
datos y las vistas de origen de datos son objetos en tiempo de diseño que no se
implementan. En su lugar, SSIS usa las propiedades de los orígenes de datos y las
vistas de origen de datos para crear administradores de conexiones.

Pág. 54 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

ORÍGENES DE DATOS
Un origen de datos es una referencia en tiempo real a una conexión de almacén de
datos. Los orígenes de datos no son necesarios, pero pueden acelerar el desarrollo de
un proyecto o de un paquete, dado que muchos administradores de conexión pueden
usar el mismo origen de datos.

El uso de orígenes de datos en paquetes SSIS proporciona las ventajas siguientes:


 Los orígenes de datos están disponibles para un proyecto completo. Puede
definir un origen de datos una vez y, a continuación, hacer referencia a él en
los administradores de conexión de varios paquetes dentro del proyecto.
 Cuando se crea un administrador de conexión mediante un origen de datos, el
administrador de conexión copia la cadena de conexiones del origen de datos.
El administrador de conexión no exige que el origen de datos funcione y que
continúe funcionando si el origen de datos no está disponible.
 Si cambia las propiedades de un origen de datos, las cadenas de conexión de
todos los objetos basadas en el origen de datos cambiarán.

VISTAS DE ORIGEN DE DATOS


Una vista de origen de datos proporciona un subconjunto de datos de un origen de datos.
Puede incluir una o más tablas o vistas del almacén de datos definidas en el origen de
datos y puede aplicar un filtro a una vista de origen de datos para quitar las filas no
deseadas. Puede agregar columnas calculadas y nuevas relaciones entre las tablas y
reemplazar las tablas en el origen de datos con consultas.
Cuando un componente usa una vista de origen de datos, almacena una instrucción
Transact-SQL. Por consiguiente, el objeto no se ve afectado incluso si la vista de origen
de datos no está disponible. Si la vista de origen de datos cambia las tablas a las que
hace referencia, este cambio no se reflejará en los objetos basados en ella. El uso de
vistas de orígenes de datos en paquetes SSIS proporciona las ventajas siguientes:
 Una vista de origen de datos sólo puede mostrar los objetos pertinentes. Un
origen de datos mostrará cada tabla en el almacén de datos subyacente.
 Las vistas de origen de datos están disponibles para un proyecto completo.
Puede definir una vista de origen de datos una vez y, a continuación, hacer
referencia a ella en los objetos de varios paquetes dentro del proyecto.
 Puede actualizar una vista de origen de datos para reflejar los cambios en sus
orígenes de datos subyacentes.
 Una vista de origen de datos almacena en memoria caché los metadatos de los
orígenes de datos subyacentes, lo que le permite desconectarse del almacén
de datos subyacente y seguir editando las propiedades de la vista de origen de
datos.

¿Qué es un administrador de conexión?

Un administrador de conexión es una representación lógica de una conexión. Se crea


un administrador de conexión en tiempo de diseño para describir la conexión física que
SSIS crea cuando el paquete se ejecuta. SSIS crea la conexión física mediante la
cadena de conexión y otros atributos del administrador de conexión.

Un paquete puede tener varios administradores de conexión, y cada administrador de


conexión puede tener atributos diferentes. Por esta razón, podría crear varios

SQL Server - Administración Pág. 55


Universidad Nacional de Ingeniería

administradores de conexión para el mismo almacén de datos, cada uno con


propiedades ligeramente diferentes.

TIPOS DE ADMINISTRADORES DE CONEXIÓN


Como se describe en la tabla siguiente, SSIS proporciona distintos tipos de
administradores de conexión que permiten que los paquetes se conecten a diversos
orígenes de datos y servidores.

TIPO DESCRIPCIÓN
ADO Se conecta a orígenes de datos de Objetos de datos de
ActiveX® (ADO)
ADO.NET Se conecta a un origen de datos mediante un
proveedor .NET
EXCEL Se conecta a un archivo de libro de Excel
FILE Se conecta a un archivo o a una carpeta
FLATFILE Se conecta a un origen de datos de archivo plano
FTP Se conecta a un servidor de Protocolo de transferencia
de archivos (FTP)
HTTP Se conecta a un servidor web
MSMQ Se conecta a una cola de mensajes
MSOLAP100 Se conecta a una instancia de SQL Server 2014 Analysis
Services (SSAS) o a un proyecto de Analysis Services
MULTIFILE Se conecta a varios archivos y carpetas
MULTIFLATFILE Se conecta a varios archivos de datos y carpetas
OLEDB Se conecta a un origen de datos mediante un proveedor
OLE DB
ODBC Se conecta a un origen de datos mediante la
Conectividad abierta de bases de datos (ODBC)

Pág. 56 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

SMOServer Se conecta a un servidor de Objetos de administración


SQL (SMO)
SMTP Se conecta a un servidor de correo de Protocolo simple
de transferencia de correo
SQLMOBILE Se conecta a una base de datos SQL Server Mobile
WMI Se conecta a un servidor y especifica el ámbito del
Instrumental de administración de Microsoft Windows®
(WMI) en el servidor

¿Qué es una tarea de flujo de datos?

La tarea de flujo de datos es una tarea especial que abarca las operaciones de
extracción, transformación y carga de SSIS. Aparece en la página Flujo de control como
una tarea normal, pero tiene su propia ficha porque está compuesta por varios
componentes.

El origen extrae datos de almacenes de datos relacionales y no relacionales, como


bases de datos de SQL Server, hojas de cálculo de Excel y bases de datos de Analysis
Services.

La transformación transforma los datos mediante la asignación del origen al destino y la


limpieza, agregación y modificación de los datos y del esquema. El destino carga datos
en almacenes de datos o los almacena en conjuntos de datos en memoria.

Origen
El origen es la conexión al almacén de datos del que necesita extraer datos.
Normalmente genera un resultado compuesto por varias columnas. Muchos orígenes
también tienen una salida de error que tiene todas las columnas de la salida normal más
dos columnas adicionales para la información de errores. Aunque la mayoría de los
orígenes sólo tienen una salida normal, puede codificar y personalizar los orígenes para
tener varias salidas normales y varias salidas de error.

SQL Server - Administración Pág. 57


Universidad Nacional de Ingeniería

Transformación
Una transformación puede ser una simple columna que se asigna entre el origen y el
destino, pero también puede realizar complejas operaciones de modificación y limpieza
en los datos. Las transformaciones tienen una entrada y una salida normal, cada una de
ellas compuesta de una o más columnas. También pueden tener una salida de errores.

Las transformaciones son los componentes del flujo de datos de un paquete que
agregan, combinan, distribuyen y modifican los datos. También pueden realizar las
operaciones de búsqueda y generar conjuntos de datos de muestra.

Destinos
El destino es la conexión al almacén de datos en el que necesita cargar datos. Tiene
por lo menos una entrada, que tiene por lo menos una columna. Un destino puede dar
salida a información de errores así como recibir datos. Puede codificar y personalizar
los destinos para tener varias entradas y salidas de errores.

Pág. 58 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 6
 Automatización de Tareas Administrativas
 Beneficios de la Automatización
 Uso del SQL Server Agent
 Creando Trabajos y Operadores
 Monitoreando los trabajos
 Creación de Alertas

SQL Server - Administración Pág. 59


Universidad Nacional de Ingeniería

M O N I T O R E A N D O A L S Q L S E R V E R 2 0 1 4
La supervisión es importante porque SQL Server proporciona un servicio en un entorno
dinámico. Los datos de la aplicación cambian, el tipo de acceso que los usuarios
requieren cambia y la manera en que los usuarios se conectan cambia. SQL Server
administra automáticamente recursos a nivel de sistema como la memoria y el espacio
en disco, pero la supervisión permite a los administradores identificar las tendencias de
rendimiento para determinar si es necesario efectuar cambios.

¿Qué es el Monitor de actividad?


El Monitor de actividad es una herramienta gráfica de SQL Server Management Studio
que muestra información sobre los procesos de usuario y bloqueos actuales. Puede usar
el Monitor de actividad para solucionar problemas de simultaneidad, como los retrasos
excesivos en consultas, mientras se liberan los bloqueos o los procesos paralizados que
tienen lugar cuando dos procesos esperan a que se liberen los bloqueos y ninguno de
ellos puede continuar.

Páginas del Monitor de actividad


El Monitor de actividad muestra información sobre las conexiones abiertas y los
bloqueos actuales. Puede ver información en el Monitor de actividad en tres páginas:

Información del proceso, Bloqueos por proceso y Bloqueos por objeto.


Información del proceso. En la página <Información del proceso, el Monitor de actividad
muestra una lista de todos los procesos de conexión del sistema. Cada proceso está
identificado por un único Id. de proceso y el Monitor de actividad muestra información
sobre cada proceso, como el acceso a la base de datos, el nombre de la aplicación
cliente y el inicio de sesión usado por el proceso. Los administradores de la base de
datos pueden usar esta página para determinar qué procesos están activos actualmente
y finalizar un proceso si es necesario.

Pág. 60 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Bloqueos por proceso. En la página Bloqueos por proceso, el Monitor de actividad


muestra todos los bloqueos y las solicitudes de bloqueo mantenidas por el proceso
seleccionado. Los administradores de la base de datos pueden usar esta página para
identificar procesos que están bloqueándose entre sí debido a bloqueos excesivos e
interbloqueos.

Bloqueos por objeto. En la página Bloqueos por objeto, el Monitor de actividad muestra
todos los bloqueos y las solicitudes de bloqueo mantenidas en el objeto de base de
datos seleccionado. Los administradores de la base de datos pueden usar esta página
para solucionar los problemas de bloqueos con una tabla determinada u otro objeto de
base de datos.

¿Qué son los objetos de administración dinámica?

Puede usar vistas de administración dinámica y funciones de administración dinámica


para consultar metadatos dinámicos en SQL Server 2014; proporcionan información
sobre el estado actual de SQL Server, como los bloqueos actuales de una base de
datos.

VISTAS DE ADMINISTRACIÓN DINÁMICA


Las vistas de administración dinámica se muestran con vistas de catálogo en la carpeta
Vistas del sistema en el Explorador de objetos de SQL Server Management Studio.
Mientras que las vistas de catálogo se pueden usar para ver la información de
configuración estática, las vistas de administración dinámica devuelven el estado actual
de actividad dinámica de SQL Server. Las vistas de administración dinámica, al igual
que las vistas de catálogo, se definen en el esquema sys, pero sus nombres
generalmente contienen el prefijo dm para distinguirlas de las vistas de catálogo.
La tabla siguiente muestra algunas de las vistas de administración dinámica que suelen
usarse.

SQL Server - Administración Pág. 61


Universidad Nacional de Ingeniería

Vista de administración Descripción


dinámica
sys.dm_db_partition_stats Devuelve información sobre recuentos de
páginas y filas para cada partición de la
base de datos
sys.dm_exec_sessions Devuelve información sobre todas las
sesiones actuales conectadas al servidor
sys.dm_io_pending_io_requests Devuelve información sobre las solicitudes
de entrada/salida (E/S) pendientes
sys.dm_os_memory_pools Devuelve información sobre cada caché de
objetos simple del sistema
sys.dm_os_threads Devuelve información sobre las amenazas
en el sistema
sys.dm_broker_queue_monitors Devuelve información sobre cada monitor
de cola de Service Broker del sistema
sys.dm_tran_locks Devuelve información sobre cada bloqueo
concedido o solicitado actualmente en el
sistema

CONSULTAR VISTAS DE ADMINISTRACIÓN DINÁMICA


Puede consultar vistas de administración dinámica mediante una instrucción SELECT
estándar. Por ejemplo, el código siguiente devuelve detalles sobre el estado de bloqueo
actual del sistema:

SELECT * FROM sys.dm_tran_locks

Para observar las actividades, desplegar el administrador, y luego hacer doble clic sobre
el Monitor de Actividades.

Pág. 62 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Seguidamente, se mostrará la ventana con la información de los procesos.

Usando el Monitor del sistema


El Monitor de sistema es un complemento de Microsoft Management Console (MMC)
que puede usarse para ver medidas de rendimiento del sistema, como el uso del
procesador y de la memoria o las estadísticas de actividad de disco.

SQL Server - Administración Pág. 63


Universidad Nacional de Ingeniería

Objetos, instancias y contadores del Monitor de sistema

Puede ver el Monitor de sistema mediante el inicio de la aplicación Rendimiento en el


grupo de programas de Herramientas administrativas. El Monitor de sistema clasifica la
información en objetos, contadores e instancias. Entender cómo se relacionan entre sí los
objetos, los contadores y las instancias es fundamental para usar eficazmente el Monitor
de sistema.

Objetos. En el Monitor de sistema, los


objetos son componentes principales
o subsistemas del sistema del equipo.
Los objetos pueden ser hardware (por
ejemplo, un disco duro), software (por
ejemplo, un proceso) o aplicaciones
(por ejemplo, una instancia de SQL
Server). Hay un número fijo de
objetos en Microsoft Windows
Server™ 2014 y, al instalar SQL
Server, se agregan más objetos
específicos de SQL
Server.

Contadores. Los contadores recopilan


datos sobre diferentes aspectos de
los objetos. Por ejemplo, para el
objeto Proceso, los contadores
recopilan los datos sobre el tiempo
de procesador y el tiempo de usuario. Los contadores se integran en el sistema
operativo y leen continuamente datos de rendimiento, tanto si están visibles en el
Monitor de sistema como si no. Si un tipo de objeto tiene varias instancias, los
contadores recopilan estadísticas de cada instancia o del total de todas las instancias.

Instancias. Las instancias son múltiplos del mismo tipo de objeto. Por ejemplo, si un
sistema tiene varios procesadores, el tipo de objeto Procesador tendrá varias
instancias. Cuando se ve información sobre rendimiento en el Monitor de sistema, puede
decidir ver los valores para una instancia individual de un objeto (por ejemplo, el uso de
un único procesador) o los valores combinados para todas las instancias de ese objeto
(por ejemplo, el uso general de procesador para todos los procesadores del sistema).

Pág. 64 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

En el Monitor de sistema, puede especificar qué contadores se mostrarán. Puede


mostrar los valores de contador como un gráfico, un histograma (gráfico de barras) o un
informe. Los gráficos, histogramas e informes se pueden ver en un explorador e
imprimirse cuando los datos de rendimiento se guardan como archivo de Lenguaje de
marcado de hipertexto (HTML). Los informes se pueden exportar a una hoja de cálculo,
como las de Microsoft Office Excel®, para un análisis más extenso.

OBJETOS DE RENDIMIENTO DE SQL SERVER


SQL Server proporciona objetos y contadores que el Monitor de sistema puede usar
para supervisar la actividad en equipos que ejecutan una instancia de SQL Server. Un
objeto es cualquier recurso de SQL Server, como el administrador de bloqueos de SQL
Server. Cada objeto contiene uno o más contadores que determinan varios aspectos de
los objetos para supervisar. Por ejemplo, el objeto Bloqueos de SQL Server contiene
los contadores Número de interbloqueos/seg. y Tiempos de espera de
bloqueos/seg.

SQL Server - Administración Pág. 65


Universidad Nacional de Ingeniería

Consideraciones para supervisar SQL Server

La supervisión de una instancia de SQL Server requiere el análisis de algunos aspectos


clave del sistema. Eliminar los cuellos de botella físicos puede afectar inmediatamente
al rendimiento e incluso localizar problemas de diseño en la base de datos, consultas
Transact-SQL o aplicaciones cliente.

Es importante supervisar el rendimiento de SQL Server para poder identificar cuellos de


botella, determinar su causa y eliminarlos. Los cuellos de botella pueden eliminarse
ajustando bases de datos de SQL Server, índices y consultas; actualizando el hardware;
o distribuyendo la carga del servidor entre otros servidores SQL.

SUPERVISAR LA ACTIVIDAD DE DISCO


SQL Server usa las llamadas de entrada/salida (E/S) del sistema operativo Windows
para realizar operaciones de lectura y escritura en sus subsistemas de disco. SQL
Server administra cuándo y cómo se realizan las operaciones E/S de disco, pero el
sistema operativo Windows realiza las operaciones E/S subyacentes. El subsistema E/S
incluye el bus del sistema, las tarjetas controladoras de disco, los discos, las unidades
de cinta, las unidades de CD-ROM y muchos otros dispositivos de E/S. Las operaciones
E/S de disco son con frecuencia la causa de los cuellos de botella en un sistema.
Supervisar la actividad de disco requiere concentrarse en dos áreas:
• Supervisar la E/S de disco y detectar la paginación excesiva.
• Aislar la actividad de disco que crea SQL Server.

Puede supervisar los contadores siguientes en el objeto DiscoFísico para determinar


la E/S de disco y detectar la paginación excesiva.

Contador Descripción Directrices


% tiempo de disco Supervisa el porcentaje de Si este contador es alto
tiempo durante el cual el (más del 90%),
disco está ocupado con la

Pág. 66 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

actividad de lectura
y compruebe el contador
escritura. Longitud actual
de la cola de disco.
Longitud media de la Supervisa el número medio Este contador no debería
cola de solicitudes de lectura y ser mayor que dos veces
de disco escritura que se ponen en el número de husos.
cola.
Longitud actual de la Supervisa el número actual Este contador no debería
cola de solicitudes de lectura y ser mayor que dos veces
de disco escritura que se ponen en el número de husos.
cola.

Use los valores de los contadores Longitud actual de la cola de disco y % tiempo en
disco para detectar los cuellos de botella dentro del subsistema de disco. Si los valores
de los contadores Longitud actual de la cola de disco y % de tiempo en disco son
altos de forma consistente, considere la posibilidad de efectuar una de las acciones
siguientes:

• Usar una unidad de disco más rápida.


• Mover algunos archivos a un disco o servidor adicional.
• Agregar discos a un dispositivo de almacenamiento de matriz redundante de
discos independientes (RAID), si se usa alguno.

Supervise el contador Errores de página/s. en el objeto Memoria para asegurarse de


que la actividad de disco no está ocasionada por la paginación.

SUPERVISAR EL USO DE MEMORIA


Supervise periódicamente una instancia de SQL Server para confirmar que el uso de la
memoria se encuentra dentro de los valores normales. Debe asegurarse de que ningún
proceso, incluido SQL Server, usa demasiada memoria o está restringido por una
memoria insuficiente.

Para supervisar en busca de una condición de memoria baja, use los contadores de
objeto descritos en la tabla siguiente.

Objeto: contador Descripción Directrices


Memoria: Bytes Indica cuántos bytes de Los valores bajos para el
disponibles memoria están contador Bytes
disponibles actualmente disponibles puede indicar
para su uso Páginas/seg. una escasez general de
por parte de procesos. memoria en el equipo o que
una aplicación no está
liberando la memoria.
Memoria: Páginas/seg. Indica el número de Un alto número para el
páginas que se contador Páginas/seg.
recuperaron del disco podría indicar una
debido a los errores de paginación excesiva.
página en disco o que se Supervise el contador
escribieron en el espacio Memoria: Errores de
disponible del disco página/s. para asegurarse

SQL Server - Administración Pág. 67


Universidad Nacional de Ingeniería

conjunto de trabajo de que la actividad del disco


debido a los errores de no está ocasionada por la
página. paginación.
Proceso: Errores de Windows Virtual Memory Un número alto para este
página/s Manager toma las contador indica unas
(instancia sqlservr) páginas paginaciones excesivas y
de SQL Server y otros sacudidas en el disco. Use
procesos cuando recorta este contador para
los tamaños del conjunto comprobar si SQL Server u
de trabajo de esos algún otro proceso está
procesos. produciendo la paginación
excesiva.
Proceso: Conjunto de Muestra la cantidad de Si este número se
trabajo (instancia memoria usada por un encuentra
sqlservr) proceso. de forma coherente por
debajo de la cantidad de
memoria establecida por
las opciones de servidor
memoria mínima del
servidor y memoria
máxima del servidor, SQL
Server se configurará para
usar demasiada memoria.
SQL Server: Buffer Supervisa el porcentaje Agregue más memoria
Manager:frecuencia de de páginas necesarias hasta que el valor sea
aciertos de caché del encontradas en la caché constantemente mayor que
búfer de búfer, sin leer del el 90%.
disco duro. No diferencia
entre la memoria física y
la memoria del archivo de
paginación usado para la
caché de búfer.

SQL Server: Buffer Supervisa el número total Un número bajo puede


Manager:total de de páginas de la caché indicar sacudidas
páginasSQL de búfer, incluidas las frecuentes en el disco E/S.
páginas de la base de Considere la posibilidad de
datos, las libres y las agregar más memoria.
robadas de otros
procesos.
Servidor:Memory Supervisa la cantidad Si este contador es
Manager: Memoria total total de memoria consistentemente alto
del servidor (KB) dinámica que usa el comparado con la cantidad
servidor. de memoria física
disponible, puede que se
necesite más memoria.

SUPERVISAR EL USO DE CPU


Supervise periódicamente una instancia de SQL Server para determinar si las tasas de
uso de CPU están dentro de los valores normales. Una tasa continuamente alta de uso

Pág. 68 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

de CPU puede indicar la necesidad de actualizar la CPU o de agregar varios


procesadores. Por otro lado, una tasa alta de uso de CPU puede indicar la existencia de
una aplicación mal ajustada o mal diseñada. Optimizar la aplicación puede reducir el
uso de CPU.

Use los contadores descritos en la tabla siguiente para supervisar el uso de CPU.

Objeto: contador Descripción Directrices


Procesador: % de Supervisa la cantidad de Un estado coherente de
tiempo tiempo que la CPU invierte entre el 80% y el 90%
del procesador en ejecutar un subproceso puede indicar la
que no se encuentra necesidad de actualizar
inactivo. su CPU o de agregar más
procesadores. En los
sistemas
multiprocesador,
supervise una instancia
independiente de este
contador para cada
procesador.
Proceso: % tiempo del Supervisa la cantidad de Use este contador para
procesador (instancia tiempo que la CPU invierte evaluar la contribución de
sqlservr) en ejecutar un subproceso SQL Server al uso total
en el proceso SQL Server. del procesador.

¿Qué es el SQL Server Profiler?


El Analizador de Microsoft SQL Server es una herramienta de interfaz gráfica de usuario
para supervisar una instancia del Motor de base de datos de SQL Server o Análisis
Services. Puede capturar y guardar los datos sobre cada evento en un archivo o tabla
para analizarlos posteriormente. Por ejemplo, puede supervisar un entorno de
producción para ver qué procedimientos almacenados afectan al rendimiento debido a
una ejecución demasiado lenta.

SQL Server - Administración Pág. 69


Universidad Nacional de Ingeniería

FUNCIONES DEL SQL SERVER PROFILER


El SQL Server Profiler muest ra cómo SQL Server resuelve las consultas internamente,
lo que permite a los administradores ver exactamente qué instrucciones Transact-SQL
se envían al servidor y cómo éste tiene acceso a la base de datos para devolver
conjuntos de resultados.

Mediante el uso del SQL Server Profiler, podrá:

• Crear una traza paso a paso basada en una plantilla reutilizable.


• Consultar los resultados de traza mientras se ejecuta.
• Almacenar los resultados de traza en una tabla o en un archivo para un análisis
más detallado.
• Iniciar, detener, poner en pausa y modificar los resultados de traza cuando sea
necesario.
• Reproducir los resultados de traza.

Use el SQL Server Profiler para supervisar sólo aquellos eventos que le interesen. Si
hay demasiada actividad para examinarla con facilidad, puede filtrar eventos basándose
en la información que desea, de modo que sólo se recopile un subconjunto de los datos
de eventos. Supervisar demasiados eventos puede sobrecargar al servidor y al proceso
de supervisión, lo que puede producir que el archivo o la tabla de traza se hagan muy
grandes, sobre todo cuando el proceso de supervisión tiene lugar durante un largo
período de tiempo.

Obtener la traza de actividad de SQL Server mediante el SQL Server


Profiler
Para usar el SQL Server Profiler, primero decida lo que desea seguir paso a paso y, a
continuación, elija los criterios. Las actividades que podría desear supervisar incluyen:
• Consultas con un mal rendimiento.
• Consultas que provocan recorridos de tabla.
• Actividades de usuarios o aplicaciones individuales.

Pág. 70 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

• Rendimiento de la base de datos tempdb.


• Problemas de interbloqueo.
• Intentos de inicio de sesión, errores, conexiones y desconexiones.
• Lecturas y escrituras del disco lógico.
• Uso de CPU a nivel de instrucción.
• Tiempo de espera para todos los eventos posteriores a la ejecución.

Puede establecer los procedimientos almacenados del sistema en el SQL Server Profiler
para seguir paso a paso un conjunto definido de eventos y filtrar el nivel de información
recopilado sobre esos eventos. Mediante el uso del procedimiento almacenado del
sistema sp_trace_create, puede hacer la traza de eventos especificados en su servidor.
La opción trace_produce_blackbox crea un registro rotativo de los últimos 5
megabytes (MB) de eventos de servidor especificados.

Usar los desencadenadores DDL


Los desencadenadores del Lenguaje de definición de datos (DDL) son una nueva
característica en SQL Server 2014. A diferencia de los desencadenadores estándar, que
sólo pueden responder a los cambios en los datos, los desencadenadores DDL se
pueden usar para responder a las acciones en objetos en una base de datos. Por
ejemplo, un desencadenador DDL puede usarse para auditar operaciones como la
creación o supresión de tablas. Por consiguiente, los desencadenadores de DDL son
una herramienta muy útil para supervisar las acciones que tienen lugar en una base de
datos.

Es útil poder supervisar operaciones de definición de datos, como un usuario que crea
o suprime una tabla, al auditar y regular las acciones de base de datos. Los
desencadenadores DDL proporcionan una forma de capturar de forma transparente
eventos de definición de datos, para que un usuario que ejecute una instrucción de
lenguaje de definición de datos no sea consciente de que la tarea es observada.

SQL Server - Administración Pág. 71


Universidad Nacional de Ingeniería

ÁMBITO DE DESENCADENADOR DDL


A diferencia de los desencadenadores corrientes que están asociados a tablas, un
desencadenador DDL se ejecuta cuando se ejecuta una instrucción determinada, sin
tener en cuenta el destino de esa instrucción. Por ejemplo, un desencadenador DLL
DROP_TABLE se iniciará cuando se anule una tabla.

Algunos desencadenadores DDL funcionan en el nivel de base de datos y sólo se inician


cuando el evento correspondiente tiene lugar en una base de datos concreta. Estos
desencadenadores tienen relación sobre todo con objetos de una sola base de datos,
como tablas, índices, usuarios, procedimientos, vistas, etc. Un ejemplo de un
desencadenador DDL que funciona en el ámbito de base de datos es CREATE_TABLE.
Otros desencadenadores DDL funcionan en el nivel de servidor y se inician sin tener en
cuenta la base de datos que está en uso. Estos desencadenadores están asociados a
objetos en el nivel de servidor, como inicios de sesión y certificados de seguridad. El
desencadenador DLL CREATE_LOGIN es un ejemplo que funciona en el ámbito de
servidor.

PROCESO DESENCADENADOR DDL


Los desencadenadores DDL se inician cuando finaliza la acción desencadenadora. Por
ejemplo, un desencadenador DROP_TABLE se inicia después de que la tabla de destino
se haya anulado correctamente. No hay ningún equivalente a los desencadenadores
INSTEAD OF para las operaciones DDL.
Puede usar la instrucción ROLLBACK TRANSACTION para anular la transacción actual
y deshacer cualquier trabajo que se haya realizado, incluida la operación DDL que hizo
que el desencadenador se iniciara.
Una sola operación DDL puede desencadenar varios desencadenadores DDL. El orden
en el que se inician los desencadenadores no se documenta. No debería confiar en que
los desencadenadores DDL se ejecuten siguiendo una secuencia determinada.

Cómo crear desencadenadores DDL

Puede crear desencadenadores DDL mediante la instrucción CREATE TRIGGER.


Además, puede usar algunas nuevas extensiones de sintaxis que se han agregado a
SQL Server 2014.

Pág. 72 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

LA INSTRUCCIÓN CREATE TRIGGER


Al crear un desencadenador DDL, debe especificar el ámbito y el tipo de operación DDL.
El ejemplo siguiente crea un desencadenador que se inicia en el momento en el que un
usuario ejecuta el comando UPDATE STATISTICS en la base de datos actual:
CREATE TRIGGER UpdStats
ON DATABASE
FOR UPDATE_STATISTICS
AS
...

Indique el ámbito de un desencadenador mediante la cláusula ON DATABASE o


mediante la cláusula ON ALL SERVER en la definición del desencadenador. El cuerpo
de un desencadenador DDL puede contener instrucciones Transact-SQL o puede hacer
referencia a un método en un ensamblado de Microsoft .NET.

LA FUNCIÓN EVENTDATA
Los desencadenadores de Lenguaje de manipulación de datos estándar (DML) crean
las tablas insertadas y eliminadas, permitiendo que el desarrollador examine los datos
que se están cambiando y los nuevos valores que los modifican. Los desencadenadores
DDL no crean estas tablas. En su lugar, puede usar la función eventdata para obtener
información sobre los eventos que inician el desencadenador.

La función eventdata devuelve un documento XML EVENT_INSTANCE cuyo contenido


varía según el destino del desencadenador DDL. Todos los desencadenadores DDL
devuelven un documento que incluye los elementos siguientes:
<PostTime>. El momento en el que se inició el desencadenador.
<SPID>. El Id. del proceso de base de datos que activa el desencadenador.
<EventType>. El tipo de evento que activó el desencadenador, como CREATE_TABLE o
UPDATE_STATISTICS

SQL Server - Administración Pág. 73


Universidad Nacional de Ingeniería

El resto del documento XML contiene información que depende del comando que activa
el desencadenador. Por ejemplo, un desencadenador DDL devolvió el documento
siguiente mediante la activación del comando UPDATE STATISTICS:

<EVENT_INSTANCE>
<PostTime>2004-06-18T02:14:20.640</PostTime>
<SPID>58</SPID>
<EventType>UPDATE_STATISTICS</EventType>
<ServerName>SQL2014PC</ServerName>
<LoginName>SQL2014PC\Administrator</LoginName>
<UserName>SQL2014PC\Administrator</UserName>
<DatabaseName>AdventureWorks</DatabaseName>
<SchemaName>Production</SchemaName>
<ObjectType>STATISTICS</ObjectType>
<TargetObjectName>Product</TargetObjectName>
<TargetObjectType>TABLE</TargetObjectType>
<TSQLCommand>
<SetOptions ANSI_NULLS="ON" ANSI_NULL_DEFAULT="ON"
ANSI_PADDING="ON" QUOTED_IDENTIFIER="ON"
ENCRYPTED="FALSE"/>
<CommandText>
UPDATE STATISTICS Production.Product&#x0D;
</CommandText>
</TSQLCommand>
</EVENT_INSTANCE>

EXTRAER INFORMACIÓN DE EVENTO


Use la funcionalidad XQuery del tipo de datos xml para extraer la información de evento
que devolvió el documento con la función eventdata. Por ejemplo, la muestra de código
siguiente recupera los elementos PostTime, Database y TargetObject en un
desencadenador DDL UPDATE_STATISTICS y los muestra:

CREATE TRIGGER UpdStats


ON DATABASE
FOR UPDATE_STATISTICS
AS
DECLARE @data xml
DECLARE @posttime nvarchar(24)
DECLARE @database nvarchar(100)
DECLARE @targetobject nvarchar(100)
SET @data = eventdata()
SET @posttime = @data.value('(/EVENT_INSTANCE/PostTime)[1]',
'nvarchar(24)')
SET @database = @data.value('(/EVENT_INSTANCE/DatabaseName)[1]',
'nvarchar(100)')
SET @targetobject =
@data.value('(/EVENT_INSTANCE/TargetObjectName/text())[1]',
'nvarchar(100)')
PRINT @posttime
PRINT @database
PRINT @targetobject

Pág. 74 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Cómo administrar desencadenadores DDL

SQL Server 2014 ha ampliado la sintaxis de los comandos usados para administrar
desencadenadores con extensiones específicas para desencadenadores DDL.

Ver los desencadenadores


Puede obtener una lista de los desencadenadores disponibles de una base de datos,
incluidos los desencadenadores DDL, mediante la consulta de la vista de catálogo
sys.triggers, como se muestra en el ejemplo de código siguiente:

SELECT name
FROM sys.triggers

Puede recuperar la definición de un desencadenador mediante la consulta de la vista de


catálogo sys.sql_modules, como se muestra en el siguiente ejemplo de código:

SELECT definition
FROM sys.sql_modules
WHERE [object_id] =
(SELECT [object_id]
FROM sys.triggers
WHERE name='trigger_name')

Alternativamente, puede ver desencadenadores de base de datos mediante el


Explorador de objetos en SQL Server Management Studio.

Modificar un desencadenador
Use el comando ALTER TRIGGER para cambiar la definición de un desencadenador
DDL. La sintaxis para cambiar un desencadenador DDL es muy parecida a la corrección
de un desencadenador estándar. Puede:

SQL Server - Administración Pág. 75


Universidad Nacional de Ingeniería

• Cambiar el evento desencadenador.


• Cifrar el desencadenador.
• Modificar las instrucciones Transact-SQL que constituyen el cuerpo del
desencadenador.

Eliminar un desencadenador
Use el comando DROP TRIGGER para quitar un desencadenador. Por ejemplo:

DROP TRIGGER UpdStats


ON DATABASE

Pág. 76 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 7
 Monitoreando al SQL Server 2014
 Uso del Monitor de Actividades
 Uso del Monitor del Sistema
 Uso del SQL Server Profiler
 Usando DDL Triggers
 Uso de Notificaciones

SQL Server - Administración Pág. 77


Universidad Nacional de Ingeniería

A U T O M A T I Z A C I Ó N D E T A R E A S
A D M I N I S T R A T I V A S

Una de las funciones principales de un administrador de bases de datos es el


mantenimiento de SQL Server y sus bases de datos. También se incluyen tareas que
se deben realizar de manera programada y tareas adicionales para anticiparse a los
problemas antes de que se produzcan.

El trabajo de un administrador conlleva deberes administrativos que no cambian de un


día para otro y que pueden llegar a ser aburridos. Puede automatizar estas tareas
rutinarias y configurar SQL Server para supervisar ciertos tipos de problemas antes de
que aparezcan.

Ventajas de la automatización
La automatización de la administración y la supervisión de tareas permite al
administrador de bases de datos reducir la carga de trabajo asociada a realizar tareas
repetitivas y a la supervisión de SQL Server. Al usar trabajos y alertas, puede configurar
SQL Server para responder automáticamente a los problemas que surjan e incluso evitar
que algunos de ellos aparezcan.

Ventajas de la automatización de la administración de bases de datos


Las ventajas de la automatización de la administración de bases de datos incluyen:
Reducción de la carga de trabajo administrativa, con lo que se permite a los
administradores de bases de datos centrarse en otras funciones del trabajo, como
planear cambios en la base de datos u optimizar su rendimiento, en lugar de estar
pendientes de tareas de mantenimiento rutinarias.

o Reducción del riesgo de que se pasen por alto tareas de mantenimiento


fundamentales.
o Reducción del riesgo de errores humanos al realizar tareas de mantenimiento de
bases de datos.

Pág. 78 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

La administración proactiva de la base de datos a través de alertas indica la acción que


debe realizarse para impedir que se produzcan problemas antes de que ocurran.

¿Qué es el Asistente para planes de mantenimiento?

Puede usar el Asistente para planes de mantenimiento para programar las tareas de
mantenimiento principales a fin de garantizar la realización de copias de seguridad de
la base de datos con regularidad, que su rendimiento sea el adecuado y que se llevan
a cabo comprobaciones en busca de incoherencias. El Asistente para planes de
mantenimiento crea uno o varios trabajos del Agente SQL Server que realizan estas
tareas de mantenimiento automáticamente a intervalos programados.

Tareas que pueden automatizarse con el Asistente para planes de mantenimiento


Las tareas de mantenimiento que pueden programarse para que se ejecuten
automáticamente incluyen:
• Realizar copias de seguridad de la base de datos y de archivos del registro de
transacciones. Las copias de seguridad de las bases de datos y del registro
pueden conservarse durante un período de tiempo específico.
• Ejecutar trabajos del Agente SQL Server que permiten realizar una gran variedad
de acciones.
• Compactar los archivos de datos quitando las páginas de base de datos vacías.
• Realizar comprobaciones de coherencia internas de los datos y páginas de datos
dentro de la base de datos para asegurarse de que un problema en el sistema o
de software no haya dañado los datos.
• Reorganizar los datos en las páginas de datos y de índice volviendo a generar
los índices.

SQL Server - Administración Pág. 79


Universidad Nacional de Ingeniería

• Actualizar las estadísticas del índice para asegurarse de que el optimizador de


consultas tiene información actualizada sobre la distribución de valores de los
datos en las tablas.

Los resultados generados por las tareas de mantenimiento se pueden escribir como un
informe en un archivo de texto o en las tablas del plan de mantenimiento
(sysmaintplan_log y sysmaintplan_log_detail) en la base de datos msdb.

INICIO DEL ASISTENTE PARA PLANES DE MANTENIMIENTO


El Asistente para planes de mantenimiento se inicia desde SQL Server Management
Studio. En el Explorador de objetos, expanda la carpeta del servidor y la carpeta
Administración, haga clic con el botón secundario en Planes de mantenimiento y, a
continuación, haga clic en el Asistente para planes de mantenimiento. Posteriormente,
podrá usar el asistente para crear un plan personalizado que se ajuste a sus requisitos
de mantenimiento.

¿Qué es el Agente SQL Server?


El Agente SQL Server es el componente de SQL Server responsable de la
automatización de las tareas administrativas de SQL Server. Para que el Agente SQL
Server ejecute trabajos y active alertas, debe estar en funcionamiento siempre y debe
contar con permisos suficientes. Al usar el Agente SQL Server, el administrador de las
bases de datos podrá programar tareas mucho más complejas con más flexibilidad que
usando exclusivamente el Asistente para planes de mantenimiento.

Pág. 80 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Servicio Agente SQL Server

En todos los sistemas operativos Microsoft Windows Server™ 2003 y 2014, el Agente
SQL Server se ejecuta como servicio de Windows.

Deberá estar en funcionamiento para ejecutar trabajos programados y activar las alertas
definidas. Debería configurar el servicio Agente SQL Server para que se inicie
automáticamente cada vez que Windows Server 2003 o Windows 2014 se inician.
Además, puede configurar el servicio Agente SQL Server para que se reinicie
automáticamente si se detiene inesperadamente mediante el Administrador de
configuración de SQL Server. Para que se reinicie automáticamente, la cuenta de
servicio Agente SQL Server debe ser un miembro del grupo local Administradores.

Configurar el Agente SQL Server

El Agente SQL Server se implementa como un servicio de Windows. Cada instancia de


SQL Server tiene su propio servicio de Agente SQL Server, que se denomina
SQLSERVERAGENT para instancias predeterminadas, o bien
SQLAgent$nombre_instancia para las instancias que ya tengan un nombre.

Configuración de inicio del servicio Agente SQL Server

Como cualquier servicio de Windows, el servicio Agente SQL Server puede configurarse
para que se inicie manual o automáticamente o puede deshabilitarse. De forma
predeterminada, el servicio Agente SQL Server está definido para que se inicie
manualmente cuando SQL Server 2014 está instalado.

Es posible cambiar la configuración de inicio del servicio Agente SQL Server usando el
Administrador de configuración de SQL Server o la herramienta administrativa de los
servicios de Windows. Si piensa implementar trabajos y alertas automatizados, por lo
general debería establecer que el servicio Agente SQL Server se iniciara

SQL Server - Administración Pág. 81


Universidad Nacional de Ingeniería

automáticamente al arrancar Windows, a menos que haya una buena razón para iniciar
el servicio manualmente.

Cuando se inicia, el servicio Agente SQL Server se conecta a SQL Server y ejecuta el
procedimiento almacenado extendido xp_sqlagent_monitor en la base de datos master.
Este procedimiento almacenado supervisa el estado del servicio Agente SQL Server y
lo reinicia si se detiene inesperadamente.

ESPECIFICAR UNA CUENTA DE SERVICIO AGENTE SQL SERVER


Puede configurar el servicio Agente SQL Server para que se ejecute como una cuenta
integrada o como una cuenta de usuario de Windows concreta. Se pueden usar las
siguientes cuentas integradas para el servicio Agente SQL Server:

Sistema local. La cuenta de sistema local es miembro del grupo local Administradores.
Sólo se ofrece la posibilidad de usar esta cuenta para la compatibilidad con versiones
anteriores y no debería usarse para el servicio Agente SQL Server.

Servicio local. La cuenta de servicio local dispone de permisos similares a los de un


usuario local y tiene acceso a los recursos de red mediante una sesión nula sin
credenciales. La cuenta de servicio local es adecuada para el servicio Agente SQL
Server cuando todos los trabajos y alertas se pueden implementar de manera local en
el servidor.

Servicio de red. La cuenta de servicio de red dispone de permisos similares a los de un


usuario local y tiene acceso a los recursos de red mediante las credenciales de la cuenta
del equipo. Microsoft recomienda que no se use la cuenta de servicio de red con el
servicio Agente SQL Server.

En la mayoría de los casos, debería especificar una cuenta de usuario local o de usuario
de dominio para el servicio Agente SQL Server y asignar los permisos y derechos de
usuario mínimos que la cuenta de servicio necesite. El servicio Agente SQL Server
requiere el derecho de usuario iniciar sesión como un servicio. Además, los siguientes
derechos de usuario son necesarios para que los servidores proxy del Agente SQL
Server sean compatibles:

■ Actuar como parte del sistema operativo


■ Omitir comprobación de recorrido
■ Reemplazar un testigo de nivel de proceso
■ Ajustar las cuotas de memoria para un proceso
■ Iniciar sesión como trabajo por lotes

Si los derechos de usuario que se han descrito anteriormente no se conceden, sólo los
miembros de la función fija de servidor sysadmin pueden crear trabajos.

Finalmente, la cuenta de servicio Agente SQL Server usa la autenticación de Windows


para conectar con SQL Server y debe asignarse a un inicio de sesión que sea miembro
de la función fija de servidor sysadmin. Si se van a crear trabajos multiservidor, se
debería asignar el inicio de sesión a un usuario que sea miembro de la función de la
base de datos TargetServersRole en la base de datos msdb en el servidor principal.

Pág. 82 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

DEPENDENCIAS DEL SERVICIO AGENTE SQL SERVER


El servicio Agente SQL Server depende del servicio de SQL Server para la instancia a
la que pertenece. Además, algunas operaciones realizadas por el Agente SQL Server
podrían basarse en otros servicios de Windows. Por ejemplo, para enviar las
notificaciones del operador usando el comando net send, debe iniciarse previamente el
servicio Windows Messenger.

Crear trabajos

Un trabajo es una serie especificada de operaciones realizada secuencialmente por el


Agente SQL Server. Un trabajo puede realizar una amplia gama de actividades, incluso
ejecutar secuencias de comandos de Transact-SQL, aplicaciones de línea de
comandos, secuencias de comandos de ActiveX®, paquetes de Integration Services,
comandos y consultas de Analysis Services o tareas de réplica. Los trabajos pueden
ejecutar tareas repetitivas o que se pueden programar. Además, pueden notificar
automáticamente a los usuarios conocidos, como operadores, acerca del estado del
trabajo mediante la generación de alertas, con lo que se simplifica en gran medida la
administración de SQL Server.

Puede ejecutar manualmente un trabajo o puede configurarlo para que se ejecute según
una programación o como respuesta a alertas.

CREAR TRABAJOS
Puede usar SQL Server Management Studio o ejecutar el procedimiento almacenado
del sistema sp_add_job para definir un trabajo nuevo. La definición del trabajo se
almacena en la tabla del sistema sysjobs en la base de datos msdb. Esta tabla se
mantiene en caché para mejorar el rendimiento.

SQL Server - Administración Pág. 83


Universidad Nacional de Ingeniería

Al definir los trabajos, debe hacer lo siguiente:

• Asegúrese de que el trabajo esté habilitado. Los trabajos se habilitan de manera


predeterminada. Si un trabajo se deshabilita, no podrá ejecutarse tal y como
estaba programado. Sin embargo, un usuario todavía puede ejecutar
manualmente un trabajo deshabilitado si lo inicia en el Administrador corporativo
de SQL Server.
• Especifique el propietario responsable de la realización del trabajo. De forma
predeterminada, el propietario es la cuenta de inicio de sesión del usuario de
Windows o SQL Server que ha creado el trabajo.
• Defina si el trabajo se ejecuta en un servidor local o en varios servidores remotos.
• Cree categorías de trabajo que le sirvan para organizar, filtrar y administrar
muchos trabajos.

Por ejemplo, puede crear categorías de trabajo que se correspondan con los
departamentos en su organización.

Cómo crear pasos de trabajo

Puede usar SQL Server Management Studio o ejecutar el procedimiento almacenado


del sistema sp_add_jobstep para definir cada paso del trabajo. Las definiciones de los
pasos del trabajo se almacenan en la tabla del sistema sysjobsteps en la base de datos
msdb.

Puede definir pasos de trabajo para ejecutar instrucciones Transact-SQL, comandos del
sistema operativo, secuencias de comandos de ActiveX o tareas de réplica de SQL
Server. Sin embargo, sólo se puede especificar un tipo de ejecución para cada paso de
trabajo.

Pág. 84 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

DEFINIR LOS PASOS DE TRABAJO DE TRANSACT-SQL


Al definir los pasos de trabajo para ejecutar instrucciones Transact-SQL, procedimientos
almacenados o procedimientos almacenados extendidos, tenga en cuenta las
instrucciones siguientes:
• Debe identificar la base de datos que se va a usar.
• Debe incluir variables necesarias y parámetros en el paso de trabajo.
• Puede enviar el conjunto de resultados de un paso de trabajo a un archivo de
salida.
• Los archivos de salida se usan a menudo en la solución de problemas para
capturar cualquier mensaje de error que puede haber aparecido mientras la
instrucción se estaba ejecutando. No puede usar un archivo de salida de un paso
de trabajo como entrada en un paso subsiguiente.

DEFINIR LOS PASOS DE TRABAJO DE COMANDOS DEL SISTEMA OPERATIVO


Al definir un paso de trabajo para ejecutar una aplicación o comando del sistema
operativo (identificado mediante las extensiones de nombre de archivo .exe, .bat, .cmd
o .com), deberá hacer lo siguiente:
• Identificar un código de salida de proceso para indicar que el comando se ejecutó
correctamente.
• Incluir la ruta de acceso completa a la aplicación ejecutable. La ruta de acceso
es necesaria para ayudar al Agente SQL Server a encontrar el origen de la
aplicación.

¿Qué es el Monitor de actividad de trabajo?

El Monitor de actividad de trabajo es una herramienta de SQL Server Management


Studio que le permite ver la tabla sysjobactivity. Puede ver todos los trabajos en el
servidor o puede definir los filtros para limitar el número de trabajos mostrados.

También puede ordenar la información del trabajo haciendo clic en un encabezado de


columna en la cuadrícula Actividad de trabajo del agente. Por ejemplo, al seleccionar el
encabezado de la columna Última ejecución, podrá ver los trabajos en el orden en que
se ejecutaron en último lugar. Al hacer clic de nuevo en el encabezado de columna, los
trabajos se muestran en orden ascendente y descendente según su última fecha de
ejecución.

SQL Server - Administración Pág. 85


Universidad Nacional de Ingeniería

CUÁNDO USAR EL MONITOR DE ACTIVIDAD DE TRABAJO


Use el Monitor de actividad de trabajo cuando desee determinar cuáles son los trabajos
programados para ejecutarse, el último resultado de los trabajos que se han ejecutado
durante la sesión actual y cuáles se están ejecutando o están inactivos. Si se produce
un error inesperado en el servicio Agente SQL Server, podrá determinar los trabajos que
se estaban ejecutando examinando la sesión anterior en el Monitor de actividad de
trabajo.

Puede realizar las tareas siguientes con el Monitor de actividad de trabajo:


• Iniciar y detener trabajos.
• Ver las propiedades de los trabajos.
• Ver el historial de un trabajo concreto.
• Actualizar manualmente la información en la cuadrícula Actividad de trabajo del
agente o establecer un intervalo de actualización automática haciendo clic en
Ver configuración de actualización.

Para abrir el Monitor de actividad de trabajo, expanda Agente SQL Server en el


Explorador de objetos de Management Studio, haga clic con el botón secundario en
Trabajos y haga clic en Ver actividad de trabajo.

También puede ver la actividad del trabajo para la sesión actual mediante el
procedimiento almacenado sp_help_jobactivity.

Pág. 86 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

CAPITULO 8
 Implementando un DataBase Mirroring
 Replicación de una BD.
 Examen Final.

SQL Server - Administración Pág. 87


Universidad Nacional de Ingeniería

I M P L E M E N T A R L A C R E A C I Ó N D E
R E F L E J O D E B A S E D E D A T O S

La creación de reflejo de la base de datos es una solución de alta disponibilidad


alternativa al clúster de conmutación por error en SQL Server 2014 Enterprise Edition.
La creación de reflejo de la base de datos admite la conmutación por error automática,
pero no requiere un hardware compatible con los clústeres. Por tanto, puede
proporcionar una alternativa rentable al clúster de conmutación por error.

Importante
Las directivas de soporte técnico de Microsoft no se aplican a la función de creación de
reflejo de la base de datos en SQL Server 2014. La creación de reflejo de la base de
datos está deshabilitada de forma predeterminada, pero puede habilitarse para evaluarla
únicamente mediante el uso de la marca de traza 1400 como parámetro de inicio. Para
obtener más información acerca de las marcas de traza, consulte “Marcas de traza
(Transact-SQL)” en los Libros en pantalla de SQL Server. La creación de reflejo de la
base de datos no se debería usar en entornos de producción. Los servicios de soporte
técnico de Microsoft no admiten bases de datos ni aplicaciones que usen la creación de
reflejo de la base de datos. La documentación sobre la creación de reflejo de la base de
datos se incluye en SQL Server 2014 sólo como evaluación. La directiva de
documentación para soporte técnico y actualización de SQL Server

¿Qué son los reflejos de base de datos?


La creación de reflejo de la base de datos ofrece una solución de alta disponibilidad
alternativa al clúster de conmutación por error. La creación de reflejo de la base de datos
se puede implementar con hardware estándar. Toda la administración tendrá lugar en
su totalidad en SQL Server.
En una solución de creación de reflejo de la base de datos, se almacena una base de
datos en un servidor y se copia en otro. De esta forma se proporciona una copia de
reserva de la base de datos que puede prestar servicio a los clientes en caso de un error
de servidor.

Pág. 88 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Funciones de servidor en la creación de reflejo de la base de


datos

La creación de reflejo de la base de datos requiere varias instancias de SQL Server, que
se deberían instalar en equipos independientes para proporcionar protección frente a
los errores del servidor. Las funciones del servidor en una solución de creación de reflejo
de la base de datos son:

Servidor principal. El servidor principal aloja la copia activa de la base de datos


(denominada base de datos principal) y presta servicio a las solicitudes de los clientes. El
servidor principal reenvía todas las transacciones al servidor reflejado antes de
aplicarlas en la base de datos principal.

Servidor reflejado. El servidor reflejado aloja una copia de la base de datos principal
(denominada base de datos reflejada) y aplica las transacciones reenviadas por la base
de datos principal para mantener la base de datos reflejada sincronizada con la principal.

Servidor testigo. El servidor testigo es un componente opcional de una solución de


creación de reflejo de la base de datos. Cuando está presente, un servidor testigo
supervisa los servidores principales y reflejados para asegurar una conectividad
continuada y la participación en la sesión de reflejo (denominada quórum). Si uno de los
servidores pierde el quórum, el servidor testigo asigna la función de servidor principal,
con lo que se produce la conmutación por error automática del servidor principal al
reflejado si fuera necesario. Los servidores testigo son necesarios para la conmutación
por error automática; sin embargo, un servidor testigo puede admitir varias sesiones de
reflejo porque no se trata de una tarea intensiva.

Redireccionamiento de clientes en una solución de creación de


reflejo de la base de datos

Cuando una sesión de creación de reflejo de la base de datos se conmuta por error,
todas las aplicaciones cliente deben conectarse al nuevo servidor principal (el servidor
reflejado anterior). Las aplicaciones cliente que usan SQL Native Client o el proveedor
de datos Microsoft .NET Framework 2.0 para Microsoft SQL Server admiten la
redirección automática de clientes y pueden controlar de forma transparente la
conmutación por error al servidor reflejado. Las aplicaciones cliente que usen otras
tecnologías de acceso de datos deben adaptarse para redirigir las solicitudes al servidor
reflejado en el caso de conmutación por error.

SQL Server - Administración Pág. 89


Universidad Nacional de Ingeniería

CUÁNDO USAR LA CREACIÓN DE REFLEJO DE LA BASE DE DATOS


La creación de reflejo de la base de datos se usa en los siguientes casos:

• Cuando necesita redundancia en el nivel de base de datos individual.


• Cuando no desea invertir en hardware compatible con clústeres.
• Cuando necesita una carga de trabajo administrativa inferior a la asociada con
el clúster de conmutación por error.

OPCIONES PARA LA CONFIGURACIÓN DE LA CREACIÓN DE REFLEJOS DE LA


BASE DE DATOS

Hay tres modos de creación de reflejo de la base de datos. El nivel de rendimiento y


protección difieren entre los modos, por lo que deberá tenerse cuidado a la hora de
proporcionar la solución adecuada para el sistema.

Pág. 90 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

MODO DE ALTA DISPONIBILIDAD


En el modo de alta disponibilidad, se establece la seguridad de la transacción en
COMPLETA, lo que provoca que las transacciones se apliquen a las bases de datos
principal y reflejada de manera sincronizada. Cuando el servidor principal confirma una
transacción, el servidor reflejado también lo hace. El servidor principal sólo emite una
confirmación una vez que el servidor reflejado ha enviado la confirmación de que ha
almacenado la transacción en el disco.

El modo de alta disponibilidad usa un servidor testigo. Debería colocarse en un tercer


servidor (no en el principal ni en el reflejado) para ofrecer redundancia. El modo de alta
disponibilidad permite la conmutación por error automática o manual del servidor
principal en el reflejado.

Si se produce un error en el servidor principal en el modo de alta disponibilidad, el


servidor testigo inicia la conmutación por error automática en el reflejado. Si se produce
un error en el servidor reflejado, la base de datos sigue con conexión mientras se
mantenga el quórum entre los servidores principales y testigo.

MODO DE ALTA PROTECCIÓN


En el modo de alta protección, la seguridad de la transacción se establece en
COMPLETA para aplicar transacciones de manera sincronizada, tal y como ocurre en
el modo de alta disponibilidad. Sin embargo, el modo de alta protección no usa un
servidor testigo.
Si se produce un error en el servidor principal en el modo de alta protección, habrá una
copia completa de los datos en el servidor reflejado, pero deberá realizar manualmente
la conmutación por error. Si se produce un error en el servidor reflejado, el principal se
desconecta por sí mismo para evitar el riesgo de pérdida de datos.

MODO DE ALTO RENDIMIENTO


En el modo de alto rendimiento, la seguridad de la transacción se desactiva y las
transacciones se aplican de forma asíncrona. De esta forma el servidor principal
responde a los clientes sin comprobar primero que las transacciones se hayan aplicado
en el servidor reflejado. Aunque así se obtiene mejor rendimiento, se sacrifica la alta
disponibilidad.
Si se produce un error en el servidor principal en el modo de alto rendimiento, deberá
conmutar por error manualmente al servidor reflejado. Sin embargo, debido a que es
posible que algunas transacciones se completen en el servidor principal pero no en el
reflejado, es posible que pierda algunos datos. Si se produce un error en el servidor
reflejado en el modo de alto rendimiento, el servidor principal no se verá afectado.

¿Qué son los extremos en la creación de reflejos de base de


datos?

Un extremo es un objeto de SQL Server que permite la conectividad de red con el


servidor. Para la creación de reflejo de la base de datos, un extremo define el puerto
TCP en el que una instancia está a la escucha de mensajes de creación de reflejo. Cada
instancia necesita un extremo dedicado.

SQL Server - Administración Pág. 91


Universidad Nacional de Ingeniería

CREAR EXTREMOS DE REFLEJO


La instrucción CREATE ENDPOINT genera extremos para la creación de reflejo de la
base de datos.
Puede usar tanto la autenticación de Windows como la autenticación basada en
certificados como el modo de autenticación de los extremos. La sintaxis para crear los
extremos se muestra en la siguiente muestra de código de Transact-SQL:
CREATE ENDPOINT <endpointName>
STATE=STARTED
AS TCP ( LISTENER_PORT = <listenerPortList> )
FOR DATABASE_MIRRORING (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
}]
[ [ , ] ENCRYPTION = { DISABLED |SUPPORTED | REQUIRED }
[ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
]
[,] ROLE = { WITNESS | PARTNER | ALL }
)

Parámetros
Los parámetros de la instrucción CREATE ENDPOINT para la creación de reflejo de la
base de datos se describen en la lista siguiente.

<endpointName>. Nombre único para el extremo de la creación de reflejo de la base de


datos de la instancia del servidor.

STARTED. Especifica que se va a iniciar el extremo y que va a empezar a escuchar las


conexiones. Normalmente se crea un extremo de creación de reflejo de la base de datos
en el estado STARTED. De manera alternativa, puede iniciar una sesión en el estado
predeterminado detenido (STOPPED) o en el deshabilitado (DISABLED).

Pág. 92 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

<listenerPortList>. Lista de uno o varios números de puerto en los que desea que el
servidor realice escuchas de mensajes de creación de reflejo de la base de datos. Debe
especificar TCP, ya que si especifica cualquier otro protocolo se produce un error.

AUTHENTICATION. Especifica el modo de autenticación para el extremo. En el caso de la


autenticación de Windows, no es necesario especificar la opción de autenticación
(AUTHENTICATION) a menos que desee que el extremo use sólo NTLM o Kerberos
para autenticar las conexiones. <authorizationMethod> especifica el método usado para
autenticar las conexiones como una de las siguientes: NTLM, KERBEROS o
NEGOTIATE. El método predeterminado, NEGOTIATE, hace que el extremo use el
protocolo de negociación de Windows para elegir NTLM o Kerberos.

Para la autenticación basada en certificados, debe especificar un certificado existente.

ENCRYPTION. Especifica si se deberían cifrar las conexiones con el extremo, además del
algoritmo de cifrado que se va a usar. El ajuste de cifrado predeterminado es
REQUIRED. Sin embargo, puede deshabilitar el cifrado o hacerlo opcional en un
extremo.

ROLE. Define la función o funciones que el servidor puede realizar. Es necesario


especificar ROLE. Para permitir a una instancia del servidor actuar como una función
para una sesión de creación de reflejo de la base de datos y una función diferente para
otra sesión, especifique ROLE=ALL. Para restringir una instancia de servidor para ser
un socio o un testigo, especifique ROLE=PARTNER o ROLE=WITNESS,
respectivamente.

CÓMO PREPARAR LOS SERVIDORES PARA LA CREACIÓN DE REFLEJOS DE LA


BASE DE DATOS

Hay varios pasos que realizar antes de activar la creación de reflejo de la base de datos.

Tareas de preparación de creación de reflejo de la base de datos


Antes de poder establecer una sesión de creación de reflejo de la base de datos, debe
realizar las tareas de preparación descritas en la lista siguiente:

• Crear extremos de reflejo e inicios de sesión. Debe crear extremos y un inicio de


sesión en la base de datos master para cualquier instancia del servidor que se
ejecute como una cuenta de usuario de dominio diferente del servidor principal.
• Establecer el modelo de recuperación. Debe establecer el modelo de recuperación
para la base de datos que se va a reflejar en COMPLETO (full).
• Realizar una copia de seguridad de la base de datos principal y restaurarla en el servidor
reflejado. Debe realizar una copia de seguridad completa de la base de datos
principal y restaurarla en la instancia reflejada mediante la especificación de
NORECOVERY y el uso del mismo nombre como la base de datos principal.

SQL Server - Administración Pág. 93


Universidad Nacional de Ingeniería

De manera alternativa, podría usar una copia de seguridad completa reciente. Si es el


caso, debería restaurar cualquier copia de seguridad del registro desde la copia de
seguridad completa y realizar una copia de seguridad y una restauración del registro de
transacciones para asegurarse de que los datos están al día.

Copiar recursos de nivel de servidor. Debería copiar manualmente cualquier recurso de nivel
de servidor, como inicios de sesión o trabajos del Agente SQL, que serían necesarios
en el caso de conmutación por error a la instancia reflejada.

Establecer una sesión de reflejo


Es posible establecer una sesión de reflejo con el asistente en el cuadro de diálogo
Propiedades de la base de datos en el Explorador de objetos mediante la instrucción
ALTER DATABASE.

Use el proceso siguiente para establecer una sesión de reflejo:

1. Establezca el servidor principal a partir del servidor reflejado, tal y como se muestra
en la siguiente muestra de código:

ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://


DBSERVER1.COMPANYINFO.MIEMPRESA.COM: 5022'

2. Establezca el servidor reflejado a partir del principal, tal y como se muestra en la


siguiente muestra de código:
ALTER DATABASE AdventureWorks
SET PARTNER = 'TCP://DBSERVER1.COMPANYINFO.MIEMPRESA.COM: 5023'

3. Si fuera necesario, cambie el modo de sesión de reflejo de protección alta.


Para definir el modo de alta disponibilidad, agregue un servidor testigo desde el servidor
principal o desde el reflejado, tal y como se muestra en la siguiente muestra de código:

ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://


DBSERVER1.COMPANYINFO.MIEMPRESA.COM: 5024'

Para establecer el modo de alto rendimiento, desactive la seguridad de las


transacciones en el servidor principal, tal y como se muestra en la siguiente muestra de
código:

ALTER DATABASE AdventureWorks SET PARTNER SAFETY OFF

Pág. 94 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Introducción a la réplica

¿Qué es la réplica?

La réplica es el mecanismo para crear y mantener varias copias de los mismos datos.
Los datos se distribuyen de forma flexible, lo que da más autonomía a los sitios y
garantiza que las actualizaciones se replican en un período de tiempo aceptable. SQL
Server 2014 tiene varios métodos de réplica disponibles, lo que permite su uso en
distintos escenarios.

VENTAJAS DE LA RÉPLICA
La réplica ofrece varias ventajas al sistema de base de datos:
■ Acerca los datos a usuarios alejados geográficamente.
■ Permite que los sitios autónomos no tengan que estar conectados
continuamente.
■ Permite mantener copias independientes de los datos del Procesamiento de
transacciones en línea (OLTP) y del Sistema de ayuda a la toma de decisiones
(DSS).

Por su naturaleza, OLTP y DSS generarán conflictos de bloqueo de archivos entre sí


que pueden resolverse mediante copias independientes, pero que se hayan replicado,
de los datos.

Funciones de servidor en la réplica


En la réplica de SQL Server 2014, una instancia puede ser un publicador, distribuidor,
suscriptor o la combinación de los tres. La combinación y ubicación concretas de
publicadores, distribuidores y suscriptores se denomina “topología de réplica”.

SQL Server - Administración Pág. 95


Universidad Nacional de Ingeniería

Por ejemplo, puede haber un publicador usando un distribuidor independiente y


replicando los datos a dos suscriptores, tal y como se muestra en la ilustración.

Los publicadores crean y modifican los datos, los distribuidores almacenan datos
concretos de la réplica asociados con uno o varios publicadores y los suscriptores
reciben los datos. Con la réplica de mezcla, esta situación cambia ligeramente, ya que
las modificaciones tienen lugar tanto en el publicador como en los suscriptores.

Función del publicador


El publicador tiene la copia original de los datos y la pone a disposición de los
suscriptores. Los datos se envían al distribuidor, que los remite a continuación a los
suscriptores.

Función del distribuidor


El distribuidor almacena información de estado de la réplica, metadatos de la publicación
y, en algunos casos, datos cuando viajan entre el publicador y los suscriptores. Un
publicador también puede actuar como un distribuidor (denominado distribuidor local),
pero cuando se replican muchos datos, se suele crear un distribuidor independiente
(denominado distribuidor remoto). Muchos publicadores pueden usar el mismo
distribuidor, y cada uno de ellos cuenta con una base de datos independiente en la
instancia.

Función del suscriptor


Un suscriptor contiene una copia de la réplica de los datos. El suscriptor puede ser objeto
de las siguientes acciones:
■ Impedirle que realice modificaciones.
■ Permitirle realizar modificaciones en el publicador.
■ Permitirle realizar modificaciones locales que se mezclarán más tarde.

Pág. 96 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

TIPOS DE RÉPLICA
Los distintos sistemas tendrán requisitos diferentes (y con frecuencia en conflicto los
unos con los otros) para la réplica. SQL Server proporciona tres métodos de réplica,
aunque cada uno proporciona un conjunto diferente de ventajas y tiene distintas
configuraciones opcionales. Es importante que considere los puntos mostrados en esta
sección y elija el método adecuado para su sistema.

Todos los métodos de réplica le permiten especificar la frecuencia de sincronización.

Réplica de instantáneas
La réplica de instantáneas envía todos los datos de una publicación cada vez que ésta
se sincroniza. De esta forma se elimina la necesidad de supervisar las modificaciones
de datos, aunque podría producir un aumento del volumen de datos que se están
replicando.
Se replicarán todos los datos aun cuando no se haya modificado ninguno.
Normalmente, la réplica de instantáneas se usa en escenarios en los que una gran
cantidad de datos cambia entre cada sincronización. Con la réplica de instantáneas, los
suscriptores pueden actualizar los datos en el publicador. La actualización puede ocurrir
inmediatamente o ponerse en cola hasta que se produzca la siguiente sincronización.

Réplica transaccional
La réplica transaccional sólo envía modificaciones de los datos cuando tiene lugar la
sincronización. Esto puede reducir el volumen de los datos que se están replicando,
sobre todo si el número de modificaciones de datos es bajo o si la réplica es frecuente.
Debido a la disminución de volúmenes de datos, se puede usar la réplica transaccional
cuando sean necesarias actualizaciones frecuentes.

La réplica transaccional se inicia normalmente con una réplica de instantáneas de los


objetos y datos para proporcionar una línea de base. A continuación, se enviarán partes
del registro de transacciones a los suscriptores cuando se produzca la réplica.

SQL Server - Administración Pág. 97


Universidad Nacional de Ingeniería

Con la réplica transaccional estándar, los suscriptores pueden actualizar datos en el


publicador. La actualización puede ocurrir inmediatamente o ponerse en cola hasta que
se produzca la siguiente sincronización.

La réplica transaccional punto a punto también está disponible. En este método, cada
nodo es a la vez publicador y suscriptor de los mismos datos. No hay ninguna jerarquía
de publicadores y suscriptores. Utilice este método cuando cada punto trabaja con una
parte concreta de los datos. Si todos los puntos realizan cambios en los mismos datos
y es posible que se produzcan conflictos, se debería usar la réplica de mezcla.

Réplica de mezcla
La réplica de mezcla permite las modificaciones tanto en el publicador como en los
suscriptores. Cuando se produce la sincronización, se mezclarán las modificaciones en
el publicador y en el suscriptor.

En otras formas de réplica, todas las modificaciones aparecen en el publicador, con lo


que se evitan conflictos pero se reduce la autonomía. En la réplica de mezcla, pueden
producirse conflictos y será necesario resolverlos. La solución de conflictos puede ser
controlada automáticamente dando prioridad a los distintos suscriptores o usando una
resolución basada en Modelo de objetos componentes (COM). Puede escribir su propia
resolución basada en COM o usar una estándar incluida con SQL Server. Los conflictos
también se pueden resolver interactivamente durante la sincronización mediante el
componente de resolución interactiva de Microsoft. Este componente está disponible a
través del Administrador de sincronización de Microsoft Windows®.

La réplica de mezcla se inicia normalmente con una réplica de instantáneas de los


objetos y datos para proporcionar una línea de base. Las modificaciones subsiguientes
se mezclan cuando la réplica tiene lugar.

Réplica heterogénea
Puede replicar los datos de SQL Server en otros productos de bases de datos, como
IBM DB2, Oracle y Sybase. SQL Server también puede actuar como suscriptor de la
versión 8 o posterior de Oracle. Después podrá generar y mantener la suscripción con
un conocimiento mínimo de este programa. Se pueden usar réplicas de instantáneas y
transaccionales si se suscribe a una base de datos de Oracle.

¿Qué son artículos, publicaciones y suscripciones?

Los datos de réplica se organizan en artículos y publicaciones. Las publicaciones


contienen uno o varios artículos y son las unidades de suscripción y sincronización de
los datos. Los suscriptores pueden recibir suscripciones o suscribirse por sí mismos.
Los agentes de réplica administran todo el proceso de réplica, incluido el movimiento de
los datos entre publicadores y suscriptores.

Pág. 98 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Artículos
Un artículo puede ser toda una tabla u objeto de base de datos, o sólo una parte. Se
puede filtrar horizontalmente, restringiendo las filas que contiene, o verticalmente,
restringiendo las columnas que tiene.

Publicaciones
Una publicación puede contener uno o varios artículos. Sólo puede tener artículos de la
misma base de datos, aunque puede haber muchas publicaciones en una base de
datos. Es tanto la unidad de suscripción como la unidad de réplica.

Suscripciones
Una suscripción se crea en relación con una publicación; no se puede crear
directamente en relación con un artículo. Puede crear suscripciones de inserción o de
extracción. Las suscripciones de inserción se crean en el publicador y se pueden crear
al mismo tiempo que la publicación en muchos suscriptores. Dado que las suscripciones
se crean de manera centralizada, este método es más seguro, pero es necesario que
los suscriptores se conecten cuando la réplica tiene lugar.

Las suscripciones de extracción se crean en el suscriptor. En primer lugar, el publicador


debe haber habilitado este tipo de suscripciones y haber registrado al suscriptor, o bien
haber permitido las suscripciones anónimas. Por lo general, este sistema es menos
seguro, pero permite al suscriptor controlar cuándo se reciben las actualizaciones,
haciéndolo más adecuado para aquellos sitios que se conectan con poca frecuencia.
Puede tener una suscripción de extracción en una publicación y una de inserción en
otra.

SQL Server - Administración Pág. 99


Universidad Nacional de Ingeniería

Agentes de réplica
Los agentes de réplica controlan todo el proceso de réplica. Estos agentes se configuran
cuando se define la solución de réplica. Al implementar la réplica, debe especificar en
qué instancias de SQL Server se ejecutarán los agentes de réplica.
SQL Server 2014 proporciona los siguientes agentes de réplica:

 Agente SQL Server


 Agente de instantáneas
 Agente de registro del LOG
 Agente de lectura de cola
 Agente de distribución
 Agente de mezcla

Pág. 100 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Í N D I C E

Capitulo 1 ......................................................................................................................... 1
INSTALACION Y CONFIGURACION DEL SQL SERVER 2014 ................................ 2
¿QUÉ ES SQL SERVER 2014? ............................................................................... 2
HERRAMIENTAS QUE INCLUYE EL SQL SERVER 2014 ................................. 2
NOVEDADES EN SQL SERVER 2014 ................................................................. 3
Migración entre clústeres de grupos de disponibilidad AlwaysOn para la
actualización del sistema operativo ................................................................... 3
Número máximo de procesadores compatibles con las ediciones de SQL Server
............................................................................................................................... 3
Consideraciones sobre la Seguridad ........................................................................ 4
Instalando el SQL Server 2014 ................................................................................. 6
Capitulo 2 ....................................................................................................................... 13
Creación de la BD ..................................................................................................... 14
Registro de Transacciones...................................................................................... 18
Administración de la BD. ......................................................................................... 19
Recuperación de información de la base de datos ............................................. 19
Componentes físicos: archivos y grupos de archivos de bases de datos
(FileGroup). .......................................................................................................... 19
Tipos de grupos de archivos ............................................................................... 20
Situación de ejemplo para varios grupos de archivos..................................... 20
Creación de esquemas ........................................................................................... 21
Esquemas como espacios de nombres........................................................... 21
Esquemas de ejemplo...................................................................................... 22
Cómo funciona la resolución de nombres de objetos ......................................... 23
Cómo funciona la resolución de nombres ....................................................... 23
Capitulo 3 ....................................................................................................................... 25
Planificación de una Estrategia de Backups ......................................................... 26
Realizando el Backup de la BD............................................................................... 28
Uso de la Instrucción BACKUP DATABASE...................................................... 28
Argumentos.......................................................................................................... 28
Utilizando el Management del SQL Server............................................................. 31
Restaurando una BD ............................................................................................... 32
Permisos .............................................................................................................. 33
Capitulo 4 ....................................................................................................................... 35
Administración de la Seguridad .............................................................................. 36
¿Qué son las entidades de seguridad? .................................................................. 36
¿Qué son los protegibles? ................................................................................... 37
Permisos de SQL Server 2014 ............................................................................ 38
¿Qué son los modos de autenticación de SQL Server?..................................... 40
Cuando usar el Modo de Autenticación Windows ........................................... 41
Cuando usar el Modo de Autenticación SQL .................................................. 42
Cómo administrar inicios de sesión de SQL Server ........................................... 42
Creando inicios de sesión ................................................................................ 43
Modificando inicios de sesión .......................................................................... 44
Eliminando inicios de sesión ............................................................................ 45
¿Qué son las funciones fijas de servidor? .......................................................... 45
Permisos de ámbito de servidor.............................................................................. 46

SQL Server - Administración Pág. 101


Universidad Nacional de Ingeniería

¿Qué son las funciones de base de datos? ........................................................46


¿Qué son las funciones de aplicación? ...............................................................47
Permisos de ámbito de base de datos ................................................................48
Capitulo 5 .......................................................................................................................49
¿Qué es la transferencia de datos? ........................................................................50
¿Qué es la transformación de datos? .....................................................................50
Herramientas para la transferencia de datos ......................................................51
Introducción a SQL Server Integration Services .................................................52
¿Qué es SSIS? .................................................................................................52
Herramientas y asistentes de SSIS .................................................................52
Cómo procesa SSIS las tareas ........................................................................53
Flujo de control..............................................................................................53
Flujo de datos................................................................................................54
Usar SQL Server Integration Services.................................................................54
¿Qué son los orígenes de datos y las vistas de origen de datos?..................54
Orígenes de datos ............................................................................................55
Vistas de origen de datos .................................................................................55
¿Qué es un administrador de conexión? .............................................................55
Tipos de administradores de conexión ............................................................56
¿Qué es una tarea de flujo de datos? .................................................................57
Origen............................................................................................................57
Transformación .............................................................................................58
Destinos ........................................................................................................58
Capitulo 6 .......................................................................................................................59
Monitoreando al SQL Server 2014 ...........................................................................60
¿Qué es el Monitor de actividad? ............................................................................60
¿Qué son los objetos de administración dinámica? ............................................61
Vistas de administración dinámica ...................................................................61
Consultar vistas de administración dinámica ...................................................62
Usando el Monitor del sistema ................................................................................63
Objetos, instancias y contadores del Monitor de sistema ...................................64
Objetos de rendimiento de SQL Server ...........................................................65
Consideraciones para supervisar SQL Server ....................................................66
Supervisar la actividad de disco .......................................................................66
Supervisar el uso de memoria..........................................................................67
Supervisar el uso de CPU ................................................................................68
¿Qué es el SQL Server Profiler? .............................................................................69
Funciones del SQL Server Profiler...................................................................70
Obtener la traza de actividad de SQL Server mediante el SQL Server
Profiler ...........................................................................................................70
Usar los desencadenadores DDL............................................................................71
Ámbito de desencadenador DDL .....................................................................72
Proceso desencadenador DDL ........................................................................72
Cómo crear desencadenadores DDL ..................................................................72
La instrucción CREATE TRIGGER ..................................................................73
La función eventdata ........................................................................................73
Extraer información de evento .........................................................................74
Cómo administrar desencadenadores DDL ........................................................75
Ver los desencadenadores ...........................................................................75
Modificar un desencadenador ......................................................................75
Eliminar un desencadenador ........................................................................76

Pág. 102 SQL Server - Administración


Facultad de Ingeniería Industrial y de Sistemas

Capitulo 7 ....................................................................................................................... 77
Automatización de tareas administrativas ............................................................ 78
Ventajas de la automatización ................................................................................ 78
¿Qué es el Asistente para planes de mantenimiento? ....................................... 79
Inicio del Asistente para planes de mantenimiento ......................................... 80
¿Qué es el Agente SQL Server? ............................................................................ 80
Servicio Agente SQL Server................................................................................ 81
Configurar el Agente SQL Server........................................................................ 81
Configuración de inicio del servicio Agente SQL Server .................................... 81
Especificar una cuenta de servicio Agente SQL Server ................................. 82
Dependencias del servicio Agente SQL Server .............................................. 83
Crear trabajos ...................................................................................................... 83
Crear trabajos................................................................................................... 83
Cómo crear pasos de trabajo .............................................................................. 84
Definir los pasos de trabajo de Transact-SQL ................................................ 85
Definir los pasos de trabajo de comandos del sistema operativo................... 85
¿Qué es el Monitor de actividad de trabajo? ...................................................... 85
Cuándo usar el Monitor de actividad de trabajo .............................................. 86
Capitulo 8 ....................................................................................................................... 87
Implementar la creación de reflejo de base de datos ........................................... 88
¿Qué son los reflejos de base de datos? ............................................................... 88
Funciones de servidor en la creación de reflejo de la base de datos ................ 89
Redireccionamiento de clientes en una solución de creación de reflejo de la
base de datos ...................................................................................................... 89
Cuándo usar la creación de reflejo de la base de datos ................................. 90
Opciones para la configuración de la creación de reflejos de la base de datos
.......................................................................................................................... 90
Modo de alta disponibilidad ............................................................................. 91
Modo de alta protección................................................................................... 91
Modo de alto rendimiento ................................................................................ 91
¿Qué son los extremos en la creación de reflejos de base de datos?............... 91
Crear extremos de reflejo ................................................................................ 92
Parámetros ................................................................................................... 92
Cómo preparar los servidores para la creación de reflejos de la base de datos
.......................................................................................................................... 93
Tareas de preparación de creación de reflejo de la base de datos ............ 93
Establecer una sesión de reflejo .................................................................. 94
Introducción a la réplica .......................................................................................... 95
¿Qué es la réplica? .............................................................................................. 95
Ventajas de la réplica ....................................................................................... 95
Funciones de servidor en la réplica ............................................................. 95
Función del publicador ................................................................................. 96
Función del distribuidor ................................................................................ 96
Función del suscriptor .................................................................................. 96
Tipos de réplica ................................................................................................ 97
Réplica de instantáneas ............................................................................... 97
Réplica transaccional ................................................................................... 97
Réplica de mezcla ........................................................................................ 98
Réplica heterogénea .................................................................................... 98
¿Qué son artículos, publicaciones y suscripciones? .......................................... 98
Artículos ........................................................................................................ 99

SQL Server - Administración Pág. 103


Universidad Nacional de Ingeniería

Publicaciones ................................................................................................99
Suscripciones ................................................................................................99
Agentes de réplica ......................................................................................100

Pág. 104 SQL Server - Administración