Anda di halaman 1dari 162

Facultad de Ingeniera Industrial y de Sistemas

CAPITULO 1

Instalacin y configuracin del SQL Server 2014


Ediciones del SQL Server 2014
Requerimientos de Hardware y Software

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 1


Universidad Nacional de Ingeniera

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 RV E R 2 0 1 4
Una de las primeras responsabilidades que asume un DBA (Data Base Administrador),
es la eleccin del software ms adecuado a las necesidades que presente la empresa.
Es por esta razn que, Microsoft corp., pone a nuestra disposicin, 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 administracin
de datos empresariales con herramientas integradas de inteligencia empresarial (BI).
El motor de la base de datos SQL Server 2014 ofrece almacenamiento ms 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 ncleo de esta solucin de


administracin de datos empresariales. Asimismo, SQL Server 2014 combina lo mejor
en anlisis, informacin, integracin y notificacin. Esto permite que su negocio cree y
despliegue soluciones de BI rentables que ayuden a su equipo a incorporar datos en
cada rincn del negocio a travs de tableros de comando, escritorios digitales,
servicios Web y dispositivos mviles.

La integracin 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 desempee
como encargado de desarrollo, administrador de base de datos, trabajador de la
industria de la informacin o dirija una empresa, SQL Server 2014 ofrece soluciones
innovadoras que le ayudan a obtener ms valor de sus datos.

HERRAMIENTAS QUE INCLUYE EL SQL SERVER 2014

Base de datos relacional. Un motor de base de datos relacional ms segura,


confiable, escalable y altamente disponible con mejor rendimiento y compatible para
datos estructurados y sin estructura (XML).
Servicios de rplica. Rplica de datos para aplicaciones de procesamiento de datos
distribuidos o mviles, alta disponibilidad de los sistemas, concurrencia escalable con
almacenes de datos secundarios para soluciones de informacin empresarial e
integracin con sistemas heterogneos, incluidas las bases de datos Oracle
existentes.
Notification Services. Capacidades avanzadas de notificacin para el desarrollo y el
despliegue de aplicaciones escalables que pueden entregar actualizaciones de
informacin personalizadas y oportunas a una diversidad de dispositivos conectados y
mviles.
Integration Services. Capacidades de extraccin, transformacin y carga (ELT) de
datos para almacenamiento e integracin de datos en toda la empresa.

Pg. 2 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Analysis Services. Capacidades de procesamiento analtico en lnea (OLAP) para el


anlisis rpido y sofisticado de conjuntos de datos grandes y complejos, utilizando
almacenamiento multidimensional.
Reporting Services. Una solucin global para crear, administrar y proporcionar tanto
informes tradicionales orientados al papel como informes interactivos basados en la
Web.
Herramientas de administracin. SQL Server incluye herramientas integradas de
administracin para administracin y optimizacin avanzadas de bases de datos, as
como tambin integracin directa con herramientas tales como Microsoft Operations
Manager (MOM) y Microsoft Systems Management Server (SMS). Los protocolos de
acceso de datos estndar reducen drsticamente 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, extraccin, transformacin y carga de
datos, minera de datos, OLAP e informes que estn directamente integrados con
Microsoft Visual Studio para ofrecer capacidades de desarrollo de aplicacin 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 aplicacin (API)
para ampliar el sistema de datos en cualquier direccin que sea especfica de su
negocio.

NOVEDADES EN SQL SERVER 2014

MIGRACIN ENTRE CLSTERES DE GRUPOS DE DISPONIBILIDAD ALWAYSON


PARA LA ACTUALIZACIN DEL SISTEMA OPERATIVO

SQL Server 2014 incluye compatibilidad con la migracin entre clsteres de


implementaciones de grupos de disponibilidad AlwaysOn en un nuevo clster de
Clsteres de conmutacin por error de Windows Server (WSFC).Una migracin entre
clsteres mueve un grupo de disponibilidad o un lote de grupos de disponibilidad
AlwaysOn al nuevo clster de WSFC de destino con un tiempo de inactividad mnimo.
El proceso de migracin entre clsteres le permite mantener los contratos de nivel de
servicio (SLA) al actualizar a un clster de Windows Server 2014.SQL Server 2014
debe estar instalado y habilitado para AlwaysOn en el clster de destino de WSFC. El
xito de la migracin entre clsteres depende de un planeamiento y una preparacin
exhaustivos del clster de destino de WSFC.

NDICE XML SELECTIVO


SQL Server 2014 presenta un nuevo tipo de ndice XML denominado ndice XML
selectivo. Este nuevo ndice puede mejorar el rendimiento de las consultas en datos
almacenados como XML en SQL Server, lo que permitir indizar mucho ms
rpidamente grandes cargas de trabajo de datos XML y mejorar la escalabilidad
reduciendo los costos de almacenamiento del propio ndice. Para obtener ms
informacin, vea ndices XML selectivos (SXI).

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 3


Universidad Nacional de Ingeniera

DBCC SHOW_STATISTICS FUNCIONA CON EL PERMISO SELECT


En versiones anteriores de SQL Server, los clientes necesitan permisos
administrativos o de propiedad para poder ejecutar DBCC SHOW_STATISTICS. Esta
restriccin afectaba a la funcionalidad de consultas distribuidas de SQL Server porque,
en muchos casos, los clientes que ejecutaban consultas distribuidas no tenan
permisos administrativos o de propiedad en tablas remotas para poder recopilar
estadsticas como parte de la compilacin de la consulta distribuida. Si bien estos
escenarios todava se ejecutan, suelen dar lugar a opciones poco ptimas del plan de
consultas que afectan negativamente al rendimiento. SQL Server 2014 modifica las
restricciones de permisos y permite que los usuarios que dispongan del permiso
SELECT pueden usar este comando, tenga en cuenta los siguientes requisitos para
que los permisos SELECT sean suficientes para ejecutar el comando:

Los usuarios deben tener permisos en todas las columnas del objeto de
estadsticas
Los usuarios deben tener permiso en todas las columnas de una condicin de
filtro (si existe alguna)

Los clientes que usan Consulta distribuida deben tener en cuenta que ahora se
pueden usar estadsticas al compilar consultas desde orgenes de datos de SQL
Server remotos que solo tienen permisos SELECT. La marca de seguimiento 9485
permite revertir la nueva comprobacin de permisos al comportamiento de SQL Server
2014 en caso de regresin en escenarios de clientes.

UNA NUEVA FUNCIN DEVUELVE PROPIEDADES DE ESTADSTICAS


La funcin de administracin dinmica sys.dm_db_stats_properties devuelve
propiedades de estadsticas para el objeto de base de datos especificado (tabla o vista
indizada) en la base de datos actual de SQL Server. Puede usar esta funcin para
devolver informacin como la hora en que se actualiz por ltima vez el objeto de
estadsticas para la tabla o la vista indizada, o el nmero de filas que se muestrearon
para realizar los clculos estadsticos.

SSMS COMPLETO EN LA EDICIN EXPRESS


Los clientes que usen SQL Server Express With Tools, SQL Server Express COMP,
SQL Server Express con Advanced Services y SQL Server Management Studio
Express tendrn ahora la versin completa de SQL Server Management Studio. Estas
ediciones Express incluyen ahora la caracterstica SSMS con funcionalidades que
existen con SSMS en las ediciones completas de SQL Server.

INSTALACIN INTEGRADA COMPLETA


Ofrece a los clientes una "imagen de instalacin integrada" precompilada que consta
de un archivo .exe autoextrable comprimido y un archivo de carga .box que contiene
una imagen de SQL Server 2014 (Setup.exe, archivos MSI, etc.) junto con el Service
Pack ms reciente. Cuando se ejecuta el paquete, las dos imgenes se combinan en
tiempo real para proporcionar al usuario una nica experiencia de flujo de trabajo de

Pg. 4 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

instalacin, finalizar la operacin (instalacin, actualizacin, AddNode, etc.) en el nivel


de SP1 y ejecutar cualquier actualizacin realizada en los propios componentes de
instalacin del Service Pack.

Los clientes pueden realizar nuevas instalaciones de instancias (o actualizaciones de


SQL Server 2014) en el nivel funcional de Service Pack mediante una experiencia de
flujo de trabajo de instalacin de un solo clic. Esto se puede realizar directamente
usando el archivo .exe de instalacin integrada desde la lnea de comandos como si
usara Setup.exe proporcionando todos los parmetros de lnea de comandos de
instalacin adecuados. Esto contrasta con tener que instalar los medios de RTM,
buscar y descargar el Service Pack deseado (para el idioma y la CPU correctos),
aplicar el Service Pack y despus cargar Setup.exe para realizar la accin de
instalacin deseada.

ASPECTOS DESTACADOS DE BUSINESS INTELLIGENCE (CON SQL SERVER


2014, OFFICE Y SHAREPOINT SERVER 2013)
He aqu los aspectos destacados de Business Intelligence (con SQL Server, Office y
SharePoint Server 2013):
Habilitar BI de autoservicio como una parte natural de las actividades cotidianas de los
usuarios en Excel 2013:
Acceso y mezcla de datos desde cualquier origen (PowerPivot).Documentacin
relacionada con PowerPivot en Excel 2013.
Visualizaciones y deteccin de datos (Power View)
impresionantes.Documentacin relacionada con Power View en Excel 2013.
Trabajo con centenares de millones de filas de datos (gracias a tecnologas en
memoria xVelocity).
Detecte, evale y audite hojas de clculo creadas por los usuarios mediante
SharePoint Server 2013 Preview.
Una nueva versin del complemento Reporting Services para SharePoint y un
servidor de informes actualizado en modo de SharePoint que admite
SharePoint 2013.Para obtener ms informacin, vea:
o La seccin "SQL Server 2014" de Novedades (Reporting Services).
o Combinaciones admitidas de los componentes de Reporting Services y
SharePoint.
Una nueva arquitectura para SQL Server 2014 PowerPivot que admite un
servidor PowerPivot fuera de una granja de servidores de SharePoint 2013.Un
paquete de Windows Installer (spPowerpivot.msi) que mejora la experiencia de
PowerPivot para SharePoint.Entre las caractersticas adicionales se incluyen
Galera de PowerPivot, programar la actualizacin de datos y panel de
administracin.Para obtener ms informacin, vea:
o La seccin "SQL Server 2014 Service" de Novedades (Analysis
Services).
o Instalar el servidor de Analysis Services en modo de SharePoint para
SharePoint 2013 (SQL Server 2014.
Comparta y colabore en activos de BI de autoservicio mediante SharePoint
Server 2013 Preview y SQL Server 2014.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 5


Universidad Nacional de Ingeniera

MAYOR COMPATIBILIDAD CON OBJETOS DE ADMINISTRACIN PARA EL DDL


DEL REGULADOR DE RECURSOS

En SQL Server 2014, los Objetos de administracin de SQL Server se han actualizado
para admitir la sintaxis CREATE RESOURCE POOL (Transact-SQL):
CAP_CPU_PERCENT
AFFINITY SCHEDULER
AFFINITY NUMANODE

Los objetos de administracin siguientes limitan el uso de la CPU y establecen afinidad


de grupos de recursos con programadores y nodos NUMA:
CapCpuPercentage
AffinityInfoBase
ResourcePoolAffinityInfo
Scheduler
SchedulerCollection

Nmero mximo de procesadores compatibles con las


ediciones de SQL Server

SQL Server admite el nmero especificado de sockets de procesador multiplicado por


el nmero de CPU lgicas en cada socket. Por ejemplo, lo siguiente se considera un
solo procesador para los fines de esta tabla:

Un procesador de un solo ncleo e hipersubprocesamiento con dos CPU


lgicas por socket.
Un procesador de doble ncleo con dos CPU lgicas.
Un procesador de ncleo cudruple con cuatro CPU lgicas.
SQL Server se utiliza bajo licencia para cada socket del procesador y no para
cada CPU lgica.

Pg. 6 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 instalacin 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 podra dar a conocer caractersticas especiales sobre la


conexin, para ello, hay que hacer clic sobre Propiedades de Conexin, luego,
aparecer la siguiente pantalla.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 7


Universidad Nacional de Ingeniera

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 conexin que tenemos con el


SQL Server, dicho sea de paso, no es necesario cambiar esta opcin.

En conexiones, podemos especificar el tiempo de espera para la conexin, en tiempo


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

Una vez que hayamos dado a conocer, todas las caractersticas necesarias para la
conexin, haremos clic sobre el botn Conectar. Seguidamente, veremos la pantalla
del Management Studio.

Pg. 8 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Instalando el SQL Server 2014


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

La primera pantalla que se muestra, permite obtener informacin sobre los requisitos
de instalacin, configuracin y uso del producto.

Desde aqu, podemos seleccionar el tipo de instalacin que se realizar del producto,
ya sea que se realice una primera instalacin, se agregue una nueva instancia, se
utilice algn clster u otro tipo de instalacin permitida. Para nuestro caso, ser la
primera opcin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 9


Universidad Nacional de Ingeniera

Inmediatamente se proceder a cargar los archivos de instalacin.

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

Pg. 10 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

La llave del producto viene incorporada, no cambiar.

Los trminos de la licencia para su conocimiento, luego aceptar y siguiente.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 11


Universidad Nacional de Ingeniera

Se validan las reglas generales de la instalacin, lo ms comn es que se tenga que


reiniciar el servidor para continuar.

Se pregunta si se buscarn actualizaciones o parches del producto posteriores a esta


versin.

Pg. 12 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Se procede con la instalacin de los archivos de configuracin del producto.

Se valida que se hayan cumplido con todas la reglas generales para la instalacin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 13


Universidad Nacional de Ingeniera

Se validan posibles errores durante la instalacin, lo ms comn es que se muestre


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

A medida que se van instalando cada una de estas reglas, se mostrar un estado del
mismo.

Pg. 14 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Desde aqu indicaremos que elementos se instalarn, tanto a nivel del servidor como
del cliente, lo ms importante es el Motor (Engine) de Base de Datos.

Seleccionamos una instalacin del producto como Motor de BD.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 15


Universidad Nacional de Ingeniera

Se puede indicar rutas especficas para los archivos del producto.

Para la primera instalacin se tomar el nombre MSSQLSERVER.

Pg. 16 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Automticamente se crearn cuentas para cada uno de los servicios a instalar,


mantenerlas y despues cambiar por alguna para administrar el producto.

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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 17


Universidad Nacional de Ingeniera

De igual manera con las cuentas para el servicio de Anlisis.

Es necesario indicar las cuentas de los administradores del servicio.

Pg. 18 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CAPITULO 2

Administracin de la Base de Datos y Archivos


Planificacin de la BD.
Creacin de la BD.
Administracin de la BD.
Uso de Schemas y FileGroups.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 19


Universidad Nacional de Ingeniera

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 travs
de sentencias T-SQL, en ambos casos, tendremos los mismos resultados. El proceso
de definicin de una base de datos crea tambin un registro de transacciones para esa
base de datos.

Utilizando el management Studio, el


procedimiento sera 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, tambin se
puede especificar el propietario, as como los nombres fsicos y lgicos de la base de
datos.

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

Pg. 20 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Desde aqu podremos crear los nuevos grupos de archivo, con los cuales trabajar
nuestra base de datos.

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:

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 21


Universidad Nacional de Ingeniera

USE master;
GO
IF DB_ID (N'sistemasUNI') IS NOT NULL
DROP DATABASE sistemasUNI;
GO
CREATE DATABASE sistemasUNI;
GO Verificando los archivos y tamaos 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,
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 mltiples 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,

Pg. 22 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 informacin 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.

La definicin de una base de datos consiste en especificar el nombre de la base de


datos, y disear el tamao y la ubicacin 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 parmetros:

PRIMARY
Este parmetro especifica los archivos del grupo de archivos principal. El grupo de
archivos principal contiene todas las tablas del sistema de la base de datos. Tambin
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 seala a los dems archivos de la base de datos.
La extensin 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 instruccin es el archivo principal.

FILENAME
Este parmetro 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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 23


Universidad Nacional de Ingeniera

Este parmetro especifica el tamao de los archivos de datos o de registro. Puede


especificar los tamaos en megabytes (MB), que es el valor predeterminado, o en
kilobytes (KB). El tamao mnimo es de 512 KB, tanto para los archivos de datos como
para los archivos de registro. El tamao especificado para el archivo de datos principal
debe ser, al menos, como el tamao 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 parmetro especifica el tamao mximo hasta el que puede crecer el archivo.
Puede especificar el tamao en megabytes (valor predeterminado) o en kilobytes. Si
no se especifica el tamao, el archivo crece hasta que el disco est lleno.

FILEGROWTH
Este parmetro 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 mnimo es 64 KB
(una extensin). El tamao especificado se redondea al mltiplo de 64 KB ms
prximo.

COLLATION
Este parmetro especifica la intercalacin predeterminada para la base de datos. La
intercalacin incluye las reglas que gobiernan el uso de caracteres de un lenguaje o un
alfabeto.

Registro de Transacciones
Modificaciones de datos
1 es
enviada por la aplicacin
La modificacin se registra en
3 diario de las transacciones en
Buffer Cache el disco

Disk

Pginas de datos se encuentran Disk


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

Pg. 24 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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


mantener la coherencia de la base de datos y facilitar la recuperacin. El registro es un
rea de almacenamiento que efecta automticamente 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 aplicacin enva una modificacin de datos.


Cuando la modificacin se ejecuta, las pginas de datos afectadas se cargan
en la cach del bfer desde el disco si no estn ya cargadas en la cach del
bfer por una consulta anterior.
Cada instruccin de modificacin 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 modificacin en la base de datos. Este tipo de registro se denomina
registro de preescritura.
De forma repetitiva, el proceso de punto de comprobacin escribe en disco
todas las transacciones completadas en la base de datos.
Si se produce un error del sistema, el proceso automtico de recuperacin
utiliza el registro de transacciones para aplicar todas las transacciones
confirmadas y deshacer las transacciones incompletas.
Los marcadores de transaccin del registro se utilizan durante la recuperacin
automtica para determinar los puntos de inicio y fin de cada transaccin. Una
transaccin se considera completa cuando el marcador BEGIN TRANSACTION
tiene un marcador COMMIT TRANSACTION asociado. Las pginas de datos
se escriben en disco cuando existe un punto de comprobacin.

Administracin de la BD.
Despus 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 instruccin ALTER
DATABASE.
Puede configurar varias opciones de base de datos, pero slo 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.

Recuperacin de informacin de la base de datos

Puede determinar las propiedades de la base de datos con la siguiente funcin


DATABASEPROPERTYEX.

SELECT DATABASEPROPERTYEX (base de datos, propiedad)

Tener en cuenta que, esta funcin slo devuelve el valor de una propiedad a la vez.

La siguiente tabla enumera los procedimientos almacenados del sistema de uso


comn que presentan informacin acerca de las bases de datos y sus parmetros.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 25


Universidad Nacional de Ingeniera

Procedimiento almacenado de Descripcin


sistema
sp_helpdb Informa acerca de todas las bases de datos de
un servidor. Proporciona el nombre, tamao,
propietario, Id., fecha de creacin y opciones
de la base de datos.
sp_helpdb baseDeDatos Informa slo acerca de la base de datos
especificada. Proporciona el nombre, tamao,
propietario, Id., fecha de creacin y opciones
de la base de datos. Tambin 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 fsicos: archivos y grupos de archivos de bases


de datos (FileGroup).

Un grupo de archivos es un conjunto lgico de archivos de datos que permite a los


administradores controlar todos los archivos del grupo como un nico elemento.
La posibilidad de controlar la posicin fsica de los objetos individuales de la base de
datos puede proporcionar diversas ventajas en cuanto a facilidad de administracin y
rendimiento. Por ejemplo, puede utilizar varios grupos de archivos para controlar cmo
se almacenan fsicamente los datos de una base de datos en dispositivos de
almacenamiento, y para separar los datos de lectura y escritura de los datos de slo
lectura.

Pg. 26 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Tipos de grupos de archivos

SQL Server 2014 tiene un grupo de archivos principal y tambin 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 extensin .mdf.

Un grupo de archivos definido por el usuario consta de archivos de datos agrupados


con fines de asignacin y administrativos. Estos otros archivos de datos se conocen
como archivos secundarios de datos y suelen utilizar la extensin .ndf.

SITUACIN DE EJEMPLO PARA VARIOS GRUPOS DE ARCHIVOS


La ilustracin proporciona un ejemplo de cmo podra 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 ilustracin, 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 informacin de pedidos actual.
Tambin podra 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 extensin
.ldf.

En el siguiente ejemplo de cdigo Transact-SQL se utiliza la instruccin CREATE


DATABASE para implementar esta situacin 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')

Tambin puede utilizar la instruccin ALTER DATABASE para agregar o eliminar


archivos y grupos de archivos de bases de datos existentes.

CUNDO CREAR GRUPOS DE ARCHIVOS


Puede crear varios archivos de datos en discos diferentes y crear un grupo de archivos
definido por el usuario para contener los archivos. Las dos razones principales para
utilizar grupos de archivos son mejorar el rendimiento y controlar la colocacin fsica
de datos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 27


Universidad Nacional de Ingeniera

Uso de varios archivos en un nico grupo de archivos para mejorar el rendimiento

Si bien Matriz redundante de discos independientes (RAID) es la manera preferida de


mejorar el rendimiento de una base de datos, puede asignar varios archivos de discos
distintos a un nico grupo de archivos para mejorar el rendimiento implementando una
forma de seccionamiento de datos dentro de SQL Server. Puesto que SQL Server
utiliza una estrategia de relleno proporcional al escribir datos en un grupo de archivos,
los datos se reparten entre los archivos y, por tanto, en las particiones fsicas del
disco.
Este mtodo permite tener un control ms fino sobre el seccionamiento de datos del
que se puede lograr al crear un conjunto de volmenes seccionados en el sistema
operativo Windows, o utilizando una controladora de matriz RAID.

Nota: En la mayora de los casos, el uso de las funciones de seccionamiento de RAID


Proporciona la misma ganancia de rendimiento que podra lograr utilizando grupos
de archivos definidos por el usuario, sin la carga administrativa agregada que supone
definir y administrar los grupos de archivos.

USO DE VARIOS GRUPOS DE ARCHIVOS PARA CONTROLAR LA COLOCACIN


FSICA DE LOS DATOS

Para utilizar grupos de archivos con el fin de simplificar el mantenimiento o lograr


objetivos de diseo, puede:

Almacenar los datos de lectura y escritura separados de los datos de slo


lectura para mantener separados los diferentes tipos de actividad de E/S de
disco.
Almacenar los ndices en discos diferentes que las tablas, lo que puede
conducir a un mayor rendimiento.

Pg. 28 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Hacer copia de seguridad o restaurar archivos individuales o grupos de


archivos en lugar de hacer copia de seguridad o restaurar una base de datos
entera. Puede ser necesario hacer copia de seguridad de archivos o de grupos
de archivos para las bases de datos grandes con el fin de tener una estrategia
eficaz de copia de seguridad y restauracin.
Agrupar en los mismos grupos de archivos las tablas y los ndices que tienen
unos requisitos de mantenimiento similares. Quizs desee realizar tareas de
mantenimiento en algunos objetos con ms frecuencia que en otros. Por
ejemplo, si crea dos grupos de archivos y les asigna tablas, puede ejecutar las
tareas diarias de mantenimiento en las tablas de un grupo diario y las tareas de
mantenimiento semanales en las tablas de un grupo semanal. Esto limita la
contencin de disco entre los dos grupos de archivos.
Separar las tablas de usuario y otros objetos de base de datos de las tablas del
sistema en el grupo de archivos principal. Tambin debe cambiar el grupo de
archivos predeterminado para evitar que el crecimiento inesperado de las
tablas restrinja las tablas del sistema del grupo de archivos principal.
Almacenar las particiones de una tabla con particiones en varios grupos de
archivos. sta es una buena forma de separar fsicamente los datos que tienen
necesidades de acceso diferentes dentro de una nica tabla, y tambin puede
proporcionar ventajas de facilidad de administracin y rendimiento.

Creacin de esquemas
Los desarrolladores que hayan trabajado con Microsoft .NET Framework o con XML
estarn 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 ms fciles 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 29


Universidad Nacional de Ingeniera

ESQUEMAS COMO ESPACIOS DE NOMBRES


Un esquema es un espacio de nombres para objetos de base de datos. Es decir, un
esquema define un lmite 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 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 ilustracin 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 estn 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 agrupacin de objetos en esquemas no
depende de la propiedad de los objetos.
Administracin de permisos ms sencilla, ya que se puede otorgar permisos en
el mbito del esquema y en los objetos individuales.
Facilidad de administracin mejorada, porque al quitar a un usuario no es
necesario cambiar el nombre de todos los objetos que ese usuario posee.

Pg. 30 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 ningn otro esquema
predeterminado definido explcitamente.

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

Use AdventureWorks
GO
CREATE SCHEMA Sales
GO

Cmo funciona la resolucin de nombres de objetos

Cuando una base de datos contiene varios esquemas, la resolucin de nombres de


objetos puede resultar confusa. Por ejemplo, una base de datos podra 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 inequvocos: 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 cmo se resuelven los nombres de objetos incompletos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 31


Universidad Nacional de Ingeniera

CMO FUNCIONA LA RESOLUCIN 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 ningn 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 instruccin 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 ningn esquema predeterminado definido ejecuta la misma


instruccin, SQL Server resolver inmediatamente el nombre de objeto como
dbo.Contact.

Asignacin de un esquema predeterminado


Puede asignar un esquema predeterminado a un usuario utilizando el cuadro de
dilogo Propiedades de Usuario de la base de datos o especificando el nombre del
esquema en la clusula DEFAULT_SCHEMA de la instruccin CREATE USER o

Pg. 32 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

ALTER USER. Por ejemplo, el siguiente cdigo Transact-SQL asigna Sales como el
esquema predeterminado para el usuario Angello:

ALTER USER Angello WITH DEFAULT_SCHEMA = Sales

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 33


Universidad Nacional de Ingeniera

CAPITULO 3

Planificacin de una Estrategia de Backups


Realizando el Backup de la BD
Restaurando una BD
Recuperacin de datos desde Snapshots

Pg. 34 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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
organizacin. Sin la base de datos, la organizacin no puede funcionar
adecuadamente. Es importante que cada misin crtica sistema de base de datos haya
sido adecuadamente definida en procedimientos de recuperacin de desastres.
Las operaciones de Copia de seguridad y Restauracin, son una parte vital de la
gestin de datos y son esenciales para la recuperacin 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 rpidamente en
caso de un desastre.

Tipos de Backup Descripcin


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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 35


Universidad Nacional de Ingeniera

Pg. 36 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Realizando el Backup de la BD

Uso de la Instruccin 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). Adems, con el modelo de
recuperacin completa o el modelo de recuperacin 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, slo 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 slo 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 37


Universidad Nacional de Ingeniera

{ database_name | @database_name_var }
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 slo 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 slo lectura que se va a incluir en una
copia de seguridad parcial.

FILE = { logical_file_name | @logical_file_name_var }


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

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }


Es el nombre lgico de un grupo de archivos o una variable cuyo valor equivale al
nombre lgico de un grupo de archivos que se va a incluir en la copia de seguridad. En
el modelo de recuperacin simple, se permite la copia de seguridad de un grupo de
archivos slo si se trata de un grupo de archivos de slo lectura.

n
Es un marcador de posicin que indica que se pueden especificar varios archivos y
grupos de archivos en una lista separada por comas. El nmero 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 slo lectura especificados.

READ_WRITE_FILEGROUPS
Especifica que en la copia de seguridad parcial se copiarn todos los grupos de
archivos de lectura/escritura. Si la base de datos es de slo lectura,
READ_WRITE_FILEGROUPS incluye tan slo el grupo de archivos principal.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }


Es el nombre lgico de un grupo de archivos de slo lectura o una variable cuyo valor
equivale al nombre lgico de un grupo de archivos de slo lectura que se va a incluir
en la copia de seguridad parcial. Para obtener ms informacin, vea
"<file_or_filegroup>", anteriormente en este tema.

n
Es un marcador de posicin que indica que se pueden especificar varios grupos de
archivos de slo 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 ms clusulas MIRROR TO).

Pg. 38 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

<backup_device>
Especifica el dispositivo de copia de seguridad fsico o lgico que se va a utilizar para
la operacin de copia de seguridad.

{ logical_device_name | @logical_device_name_var }
Es el nombre lgico del dispositivo de copia de seguridad en que se hace la copia de
seguridad de la base de datos. El nombre lgico 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 lgico) 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


instruccin BACKUP. Si el dispositivo fsico existe y no se especifica la opcin INIT en
la instruccin BACKUP, la copia de seguridad se anexa al dispositivo.

n
Es un marcador de posicin 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
reflejarn los dispositivos de copia de seguridad especificados en la clusula TO. La
clusula MIRROR TO debe incluir el mismo nmero y tipo de dispositivos de copia de
seguridad que la clusula TO. El nmero mximo de clusulas MIRROR TO es tres.

Esta opcin slo est disponible en SQL Server 2014 Enterprise Edition y versiones
posteriores.

<backup_device>
Vea "<backup_device>", en un apartado anterior de esta seccin.

n
Es un marcador de posicin que indica que se pueden especificar hasta 64
dispositivos de copia de seguridad en una lista separada por comas. El nmero de
dispositivos de la clusula MIRROR TO debe ser igual al nmero de dispositivos de la
clusula TO.

[ next-mirror-to ]
Es un marcador de posicin que indica que una sola instruccin BACKUP puede
contener hasta tres clusulas MIRROR TO, adems de una sola clusula TO.

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

DIFFERENTIAL
Se utiliza slo con BACKUP DATABASE. Especifica que la copia de seguridad de la
base de datos o el archivo slo 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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 39


Universidad Nacional de Ingeniera

seguridad completa. Utilice esta opcin para que no tenga que aplicar todas las copias
de 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 mximo de 255 caracteres.

NAME = { backup_set_name | @backup_set_var }


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

PASSWORD = { password | @password_variable }


Establece la contrasea del conjunto de copia de seguridad. PASSWORD es una
cadena de caracteres.

Si se define una contrasea para el conjunto de copia de seguridad, debe suministrarla


para realizar operaciones de restauracin de SQL Server de ese conjunto de copia de
seguridad. No obstante, la contrasea del conjunto de copia de seguridad no impide
que se sobrescriba el archivo de copia de seguridad. Para evitar que se sobrescriba el
archivo de copia de seguridad, utilice una contrasea para el conjunto de medios (vea
la opcin MEDIAPASSWORD ms adelante en esta tabla). (Para obtener ms
informacin sobre cmo utilizar las contraseas, vea "Permisos", ms adelante en este
tema.)

Pg. 40 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 opcin de propiedades
de la base de datos.

Luego, en la opcin Modo de Recuperacin, 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 opcin
Tasks, seleccionamos Back Up.. (ver figura).

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 41


Universidad Nacional de Ingeniera

Luego aparecer la siguiente pantalla, en la cual seleccionaremos el tipo de Backup a


realizar.

Pg. 42 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Una vez que hayamos realizado las configuraciones del caso, procederemos a hacer
clic sobre el botn OK, luego de algunos instantes, aparecer la siguiente pantalla.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 43


Universidad Nacional de Ingeniera

Restaurando una BD
Para realizar la restauracin de una Base de Datos, podemos hacer uso de la
instruccin 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 restauracin:

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


completa de la base de datos (restauracin completa).
Restaurar parte de una base de datos (restauracin parcial).
Restaurar archivos o grupos de archivos en una base de datos (restauracin de
archivos).
Restaurar pginas especficas en una base de datos (restauracin de pginas).
Restaurar un registro de transacciones en una base de datos (restauracin del
registro de transacciones).
Revertir una base de datos al punto temporal capturado por una instantnea 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_optionsRESTORE_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
[ , <general_WITH_options> [ ,...n ]
| , <point_in_time_WITH_optionsRESTORE_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 ]

Pg. 44 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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

--To Restore Specific Pages:


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

--To Restore a Transaction Log:


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

RESTORE DATABASE { database_name | @database_name_var }


FROM DATABASE_SNAPSHOT = database_snapshot_name

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 opcin FROM DATABASE_SNAPSHOT, la base de datos siempre
existe).

Los permisos RESTORE se conceden a funciones en las que la informacin acerca de


los miembros est siempre disponible para el servidor. Debido a que los miembros de
una funcin fija de base de datos slo se pueden comprobar cuando la base de datos
es accesible y no est daada, lo que no siempre ocurre cuando se ejecuta
RESTORE, los miembros de la funcin fija de base de datos db_owner no tienen
permisos RESTORE.

La operacin de copia de seguridad puede especificar opcionalmente contraseas de


un conjunto de medios, de un conjunto de copia de seguridad o de ambos. Si se ha
definido una contrasea en un conjunto de medios o un conjunto de copia de
seguridad, debe especificar la contrasea o contraseas correctas en la instruccin
RESTORE. Estas contraseas impiden operaciones de restauracin y anexiones no

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 45


Universidad Nacional de Ingeniera

autorizadas de los conjuntos de copia de seguridad en medios que utilizan


herramientas de SQL Server. No obstante, los medios protegidos con contrasea se
pueden sobrescribir mediante la opcin FORMAT de la instruccin 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 lgico 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 despus de una
copia de seguridad diferencial del dispositivo de copia de seguridad
Z:\SQLServerBackups\AdventureWorks.bak, que contiene las dos copias de
seguridad. 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 opcin RESTART para reiniciar una operacin
RESTORE interrumpida por un error de alimentacin 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'

Pg. 46 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

RESTORE LOG AdventureWorks


FROM AdventureWorksBackups
WITH RECOVERY

E. Copiar una base de datos con BACKUP y RESTORE


En el ejemplo siguiente se usan las instrucciones BACKUP y RESTORE para realizar
una copia de la base de datos AdventureWorks. La instruccin MOVE hace que se
restauren los datos y el archivo de registro en las ubicaciones especificadas. La
instruccin RESTORE FILELISTONLY se usa para determinar el nmero y los
nombres de los archivos de la base de datos que se estn restaurando. La nueva
copia de la base de datos se llama TestDB. Para obtener ms informacin, vea
RESTORE FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks


TO AdventureWorksBackups ;

RESTORE FILELISTONLY
FROM AdventureWorksBackups ;

RESTORE DATABASE TestDB


FROM AdventureWorksBackups
WITH MOVE 'AdventureWorks_Data' TO 'C:\MySQLServer\testdb.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\MySQLServer\testdb.ldf';
GO
F. Restaurar con la sintaxis de FILE y FILEGROUP
En el siguiente ejemplo se restaura una base de datos llamada MyDatabase que tiene
dos archivos, un grupo de archivos secundario y un registro de transacciones. La base
de datos usa el modelo de recuperacin completa.

La copia de seguridad de la base de datos es el noveno conjunto de copia de


seguridad del conjunto de medios en un dispositivo lgico de copia de seguridad
llamado MyDatabaseBackups. A continuacin se restauran mediante WITH
NORECOVERY tres copias de seguridad de registros que estn en los tres conjuntos
de copia de seguridad siguientes (10, 11 y 12) en el dispositivo MyDatabaseBackups.
Tras restaurar la ltima copia de seguridad de registros se restaura la base de datos.

Tenga en cuenta que en RESTORE DATABASE hay dos tipos de opciones FILE. Las
opciones FILE que preceden al nombre del dispositivo de copia de seguridad
especifican los nombres de archivos lgicos de los archivos de base de datos que se
van a restaurar desde el conjunto de copia de seguridad; por ejemplo, FILE =
'MyDatabase_data_1'. Este conjunto de copia de seguridad no es la primera copia de
seguridad de la base de datos en el conjunto de medios; por ello, su posicin en el
conjunto de medios se indica mediante la opcin FILE de la clusula WITH, FILE=9.

RESTORE DATABASE MyDatabase


FILE = 'MyDatabase_data_1',
FILE = 'MyDatabase_data_2',
FILEGROUP = 'new_customers'
FROM MyDatabaseBackups
WITH
FILE = 9,
NORECOVERY;
GO
-- Restore the log backups.
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 10,

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 47


Universidad Nacional de Ingeniera

NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 11,
NORECOVERY;
GO
RESTORE LOG MyDatabase
FROM MyDatabaseBackups
WITH FILE = 12,
NORECOVERY;
GO
--Recover the database:
RESTORE DATABASE MyDatabase WITH RECOVERY;
GO

Recuperando la BD desde el management

Nos ubicamos en el explorador de objetos, en el paquete de BD, clic derecho y se


mostrar la siguiente ventana:

Seguidamente se mostrar la ventana que nos permitir indicar la ubicacin del


backup que se requiere restaurar.

Pg. 48 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Especificamos el origen del archivo de Backup, seleccionamos From Device

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 49


Universidad Nacional de Ingeniera

Verificamos la ubicacin de los archivos de mdf, ndf y ldf.

Pg. 50 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Una vez completados todos los parmetros, se recuperar la base de datos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 51


Universidad Nacional de Ingeniera

CAPITULO 4

Administracin de la Seguridad
Modos de autenticidad
Creacin de Usuarios
Uso de Credenciales y Permisos

Pg. 52 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 consideracin primordial cuando se disea 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 trmino entidad de seguridad para referirse a las
identidades autenticadas en un sistema de SQL Server. La comprensin 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 sesin), y entidades de seguridad de coleccin, que son
colecciones de identidades (tales como funciones fijas de servidor).

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 53


Universidad Nacional de Ingeniera

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 sesin de SQL Server
Funcin de SQL Server
Base de datos Usuario de la base de datos
Funcin de la base de datos
Funcin de aplicacin
Grupo de bases de datos (slo para compatibilidad
con versiones anteriores)

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


compatibilidad con versiones anteriores. Debera usar las funciones de base de datos
para crear entidades de seguridad de coleccin en el nivel de base de datos.

Qu son los protegibles?

Los objetos cuyo acceso est regulado por el sistema de autorizacin 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.

Los protegibles se organizan en jerarquas anidadas llamadas mbitos, que tambin


se pueden proteger. Los tres mbitos protegibles son servidor, base de datos y

Pg. 54 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 sesin
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 aplicacin
Certificados
Claves simtricas
Claves asimtricas
Ensamblados
Catlogos de texto completo
Eventos DDL
Esquemas
El mbito de esquema Los protegibles que contiene el esquema
incluyen:
Tablas
Vistas
Funciones
Procedimientos
Tipos
Sinnimos
Agregados

Nota Tenga en cuenta que una entidad de seguridad tambin puede ser un protegible.
Por ejemplo, un inicio de sesin es una entidad de seguridad, pero tambin se pueden
otorgar permisos en ese inicio de sesin a otros inicios de sesin, 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 cmo se implementan los permisos en los mbitos de los
protegibles.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 55


Universidad Nacional de Ingeniera

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
travs de la suscripcin de una entidad secundaria como una funcin o un grupo.
Puede administrar los permisos usando el Explorador de objetos en SQL Server
Management Studio o mediante la ejecucin de instrucciones GRANT, REVOKE o
DENY.
Los permisos concretos asociados a cada uno de los protegibles varan segn los
tipos de acciones que son compatibles con un protegible.

Permisos heredados
Determinados permisos en SQL Server 2014 se pueden heredar a travs de un
permiso concedido en un nivel ms alto de la jerarqua de mbito del protegible. Por
ejemplo:

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


un esquema hereda automticamente 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 automticamente 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.

Pg. 56 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Permisos efectivos
Los permisos efectivos para una entidad de seguridad se evalan de la misma manera
que en versiones anteriores de SQL Server. Una entidad de seguridad puede realizar
una accin determinada si:

El permiso se ha concedido explcitamente a la entidad de seguridad o a una


coleccin de la que es miembro la entidad de seguridad, y
El permiso no se ha denegado explcitamente a la entidad de seguridad o a una
coleccin de la que es miembro la entidad de seguridad.

Nota Una instruccin DENY explcita siempre reemplaza a una instruccin GRANT.
Por ejemplo, si a un usuario se le ha concedido explcitamente el permiso SELECT en
una tabla determinada pero es miembro de una funcin a la que se le ha denegado
explcitamente el permiso SELECT en la tabla, el usuario no podr ejecutar una
instruccin SELECT en la tabla.

Qu son los modos de autenticacin de SQL Server?

SQL Server 2014 puede configurarse para usar uno de los dos modos de
autenticacin siguientes:

Modo de autenticacin de Windows. Los usuarios se autentican con Windows y se les


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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 57


Universidad Nacional de Ingeniera

Modo de autenticacin de Windows y SQL Server. Los usuarios que se conectan a


SQL Server mediante una conexin de confianza (una conexin de red a travs de la
cual se puede pasar el smbolo de acceso de Windows del usuario) tienen acceso a
SQL Server mediante la autenticacin de Windows. Adems, SQL Server mantiene
inicios de sesin no asignados a usuarios de Windows y los usuarios pueden
conectarse a SQL Server tras indicar un nombre de inicio de sesin vlido y la
contrasea que SQL Server valida de forma independiente a Windows. El modo de
autenticacin de Windows y SQL Server se conoce a veces como modo mixto.

Nota Los inicios de sesin en SQL Server asignados a los usuarios de Windows se
conocen como inicios de sesin de Windows. Los inicios de sesin autenticados en
SQL Server se conocen como inicios de sesin de SQL.

Las necesidades de seguridad de sus entornos de servidor y de red determinarn el


modo de autenticacin que se usar para SQL Server. Puede usar SQL Server
Management Studio para establecer el modo de autenticacin de su servidor.

CUANDO USAR EL MODO DE AUTENTICACIN WINDOWS


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

Le permite agregar grupos de usuarios a SQL Server mediante la agregacin


de una cuenta de inicio de sesin nica.
Permite a los usuarios un rpido acceso a SQL Server sin tener que recordar
otra cuenta de inicio de sesin y contrasea.

Pg. 58 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CUANDO USAR EL MODO DE AUTENTICACIN SQL


Use el modo de autenticacin 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 especficamente conexiones a SQL Server que no
sean de Windows, no debera habilitar el modo de autenticacin de Windows y SQL
Server por las razones siguientes:

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 59


Universidad Nacional de Ingeniera

La autenticacin de Windows no exige que los nombres de usuario y las contraseas


pasen por la red al conectarse a SQL Server. En su lugar, se usa el smbolo de acceso
de usuario de Windows, lo que hace ms segura la autenticacin de Windows.

La autenticacin de Windows requiere menos sobrecarga administrativa, ya que el


acceso a SQL Server puede lograrse mediante un inicio de sesin que se asigna a un
grupo de Windows, y la administracin de cada uno de los usuarios se confina al
dominio de Windows.
El modo de autenticacin de Windows y SQL Server aumenta la superficie del sistema
de SQL Server, lo que lo hace ms vulnerable ante cualquier ataque.

Importante Independientemente del modo de seguridad empleado, asegrese de que


la contrasea para el inicio de sesin del administrador del sistema (sa) no est en
blanco.

Cmo administrar inicios de sesin de SQL Server

Puede administrar los inicios de sesin mediante el Explorador de objetos en SQL


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

Pg. 60 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Nota De manera predeterminada, SQL Server est configurado para usar el modo de
autenticacin de Windows. Todava puede crear inicios de sesin de SQL, pero no
podrn conectarse al servidor hasta que se cambie el modo de autenticacin al modo
de autenticacin de Windows y SQL Server.

CREANDO INICIOS DE SESIN


Puede usar la instruccin CREATE LOGIN para crear inicios de sesin de Windows o
SQL Server. Las opciones concretas que puede usar dentro de la instruccin CREATE
LOGIN dependen de si est creando un inicio de sesin de Windows o un inicio de
sesin de SQL Server.

El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin 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 instruccin CREATE LOGIN que crea un inicio de
sesin de SQL:

CREATE LOGIN DRamos


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

Las cuentas de usuario de Windows estn sujetas a directivas de contraseas


aplicadas por Windows. SQL Server 2014 proporciona restricciones de directiva
similares para inicios de sesin de SQL cuando est instalado en Windows Server
2003/2014. Cuando una directiva de contraseas est habilitada para el servidor, SQL
Server la habilita de forma predeterminada para nuevos inicios de sesin de SQL;
puede cambiar este comportamiento mediante las opciones de la instruccin CREATE
LOGIN mostradas en la tabla siguiente.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 61


Universidad Nacional de Ingeniera

Opcin Descripcin
HASHEDloca Especifica que la contrasea ya se ha comprobado
aleatoriamente. Si no est especificada, la cadena se
comprobar aleatoriamente antes del
almacenamiento.
MUST_CHANGE Solicita a un inicio de sesin que cambie su
contrasea la primera vez que se conecta. Si se
especifica esta opcin, CHECK_EXPIRATION y
CHECK_POLICY deben establecerse en ON.
CHECK_EXPIRATION Cuando se encuentra en ON (el valor
predeterminado), esta opcin especifica que la
directiva de caducidad de contraseas de Windows
Server 2003/2014 debera aplicarse al inicio de sesin
de SQL Server. Si esta opcin se encuentra en ON, la
opcin CHECK_POLICY tambin debe estar en ON o
se producir un error en la instruccin.
CHECK_POLICY Cuando se encuentra en ON (el valor
predeterminado), esta directiva especifica que la
directiva de complejidad de contraseas de Windows
Server 2003/2014 debera aplicarse al inicio de sesin
de SQL Server.

El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de SQL que no est sujeto a la directiva de contraseas 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 slo se aplican en Windows


Server 2003/2014 y posteriores. Adems, un problema conocido en Windows Server
2003 podra evitar que se restablezca el recuento de la contrasea incorrecta una vez
se haya alcanzado el umbral de bloqueo. Esto podra producir un bloqueo inmediato
en los subsiguientes intentos fallidos de inicio de sesin. Puede restablecer
manualmente el recuento de la contrasea incorrecta con solo establecer
CHECK_POLICY = OFF, seguido por CHECK_POLICY = ON.

MODIFICANDO INICIOS DE SESIN


Puede modificar un inicio de sesin viendo sus propiedades en el Explorador de
objetos o mediante la ejecucin de la instruccin ALTER LOGIN. Un uso comn de la
instruccin ALTER LOGIN es desbloquear un inicio de sesin bloqueado por una
contrasea caducada. El ejemplo siguiente muestra cmo desbloquear una cuenta
bloqueada:
ALTER LOGIN dRamos WITH PASSWORD = 'NewPa$$w0rd' UNLOCK

Pg. 62 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

ELIMINANDO INICIOS DE SESIN


Puede eliminar un inicio de sesin haciendo clic sobre l con el botn secundario en el
Explorador de objetos y haciendo clic a continuacin en Eliminar, o ejecutando la
instruccin 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 seleccin 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.

Adems de las funciones fijas de servidor mostradas en la tabla anterior, cada


instancia de SQL Server contiene una funcin fija de servidor especial denominada
pblica, de la que todos los inicios de sesin son miembros. La funcin fija de servidor
pblica recibe el permiso VIEW ANY DATABASE.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 63


Universidad Nacional de Ingeniera

ASIGNAR UNA CUENTA DE INICIO DE SESIN A UNA FUNCIN FIJA DE


SERVIDOR

Puede usar las Propiedades de inicio de sesin de SQL Server en SQL Server
Management Studio o el procedimiento almacenado del sistema
sp_addsrvrolemember para agregar una cuenta de inicio de sesin como un
miembro de una funcin fija de servidor. Slo los miembros de funciones fijas de
servidor pueden ejecutar el procedimiento almacenado del sistema
sp_addsrvrolemember.
Al agregar una cuenta de inicio de sesin a una funcin de servidor, la cuenta
consigue los permisos asociados a la funcin de servidor.

Para asignar cuentas de inicio de sesin a funciones fijas de servidor, tenga en cuenta
los puntos siguientes:

No puede agregar, modificar o eliminar funciones fijas de servidor.


Cualquier miembro de una funcin fija de servidor puede agregar otras cuentas de
inicio de sesin a esa funcin.
El procedimiento almacenado del sistema sp_addsrvrolemember no puede
ejecutarse dentro de una transaccin definida por el usuario.
Tambin puede usar el procedimiento almacenado del sistema
sp_dropsrvrolemember para eliminar un miembro de una funcin fija de servidor

Qu son las credenciales?

Una credencial es una representacin alternativa de un inicio de sesin que contiene


la informacin de autenticacin necesaria para conectarse a un recurso fuera de SQL
Server. La mayora de las credenciales estn compuestas por un inicio de sesin y
una contrasea de Windows. Las credenciales permiten a los usuarios que se
conectan a SQL Server mediante el modo de autenticacin de SQL Server conectarse
a Windows (u otros recursos) fuera de SQL Server. Por ejemplo, un usuario conectado
a SQL Server con un inicio de sesin de SQL podra ejecutar un procedimiento
almacenado que llama a un servicio web ASP.NET que est configurado para la
autenticacin de Windows. El procedimiento almacenado pasara al servicio web el
nombre de cuenta y la contrasea de Windows en la credencial asignada al inicio de
sesin de SQL Server.

Pg. 64 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CREANDO CREDENCIALES
Puede crear una credencial mediante el uso de SQL Server Management Studio o de
la instruccin CREATE CREDENTIAL de Transact-SQL. La sintaxis de la instruccin
CREATE CREDENTIAL puede verse en la siguiente muestra de cdigo.

CREATE CREDENTIAL credential_name WITH IDENTITY = 'identity_name'


[ , SECRET = 'secret' ]

Las clusulas y parmetros de la instruccin CREATE CREDENTIAL son como se


describen a continuacin:
credential_name. Especifica el nombre de la credencial que se est creando.
credential_name no puede comenzar con el signo almohadilla (#). Las credenciales del
sistema empiezan por ##.
identity_name. Especifica el nombre de la cuenta que se va a usar al conectarse fuera
del servidor.
secret. Especifica el secreto requerido para superar la autenticacin. Esta clusula es
opcional.

El ejemplo siguiente crea la credencial llamada AlterEgo. La credencial contiene el


usuario de Windows Francesca y la contrasea Pa$$w0rd.

CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'ADVENTURE-WORKS\Francesca',


SECRET = 'Pa$$w0rd'
GO

Permisos de mbito de servidor


Los protegibles del mbito de servidor incluyen objetos como el mismo servidor, los
inicios de sesin y las bases de datos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 65


Universidad Nacional de Ingeniera

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 Descripcin


Servidor CONNECT_SQL Conectarse al servidor.
CREATE LOGIN Crear un inicio de sesin.
ALTER ANY LOGIN Modificar cualquier inicio de
sesin en el mbito de servidor.
CONTROLSERVER Control administrativo de todo el
sistema.
Login ALTER Modificar el inicio de sesin.
IMPERSONATE Suplantar el inicio de sesin.
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.

Conceder los permisos a protegibles de mbito de servidor

Para conceder permisos a protegibles en el mbito de servidor:


Use el Explorador de objetos en SQL Server Management Studio para ver las
propiedades del inicio de sesin al que desea conceder los permisos.
En la ficha Elementos que pueden protegerse, agregue los protegibles
requeridos y establezca los permisos necesarios.
Tambin puede otorgar permisos del mbito de servidor mediante el uso de la
instruccin GRANT de Transact-SQL con la sintaxis siguiente:

GRANT { securable_permission [ ,...n ] }


[ON securable_type :: securable_name]
TO login [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]

Las clusulas y parmetros de la instruccin GRANT para protegibles del mbito de


servidor se describen en la tabla siguiente.

Clusula/Parmetro Descripcin
securable_permission El permiso especfico que se concede al
protegible.
securable_type El tipo de protegible del mbito de servidor al que
se aplica el permiso. Esta clusula se omite si el
permiso se aplica al propio servidor.

Pg. 66 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

securable_name El nombre del protegible del mbito de servidor.


Inicio de sesin Un inicio de sesin al cual se otorga el permiso.
WITH GRANT OPTION Una opcin que permite que el cesionario conceda
el mismo permiso a otros.
AS group | role Una especificacin de una entidad de seguridad
con los permisos necesarios para conceder este
permiso del mbito de servidor. Se requiere en
escenarios en los que el otorgante no tiene todos
los permisos necesarios para conceder el permiso,
pero es miembro de una funcin o grupo que s los
tiene.

El ejemplo siguiente muestra cmo otorgar el permiso de servidor ALTER ANY


DATABASE y el permiso ALTER a un inicio de sesin denominado AWWebApp para
un inicio de sesin denominado ADVENTUREWORKS\Naty:
USE master
GRANT ALTER ANY DATABASE
TO [ADVENTUREWORKS\Naty]
GRANT ALTER
ON LOGIN :: AWWebApp
TO [ADVENTUREWORKS\Naty]

Usuarios especiales

Los usuarios especiales de una base de datos son usuarios predefinidos que tienen
funciones especiales como la de permitir el acceso administrativo o de invitado.

dbo
El inicio de sesin sa y los miembros de la funcin sysadmin estn asignados a una
cuenta de usuario especial, que se encuentra dentro de todas las bases de datos,
denominada dbo. Cualquier objeto creado por un administrador del sistema pertenece

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 67


Universidad Nacional de Ingeniera

automticamente a dbo. El usuario dbo es una cuenta predeterminada y no puede


eliminarse.

invitado
La cuenta de usuario guest (invitado) permite inicios de sesin sin cuentas de usuario
para tener acceso a una base de datos. Las cuentas de inicio de sesin asumen la
identidad del usuario guest cuando se cumplen las condiciones siguientes:

La cuenta de inicio de sesin tiene acceso a SQL Server pero no tiene acceso a la
base de datos a travs de su propia cuenta de usuario.

Se ha habilitado la cuenta de invitado.


La cuenta de invitado puede habilitarse mediante la instruccin GRANT para conceder
el permiso CONNECT al usuario invitado. El cdigo siguiente muestra cmo habilitar la
cuenta de invitado en la base de datos AdventureWorks:

USE AdventureWorks
GRANT CONNECT TO guest;
GO

Los permisos se pueden aplicar al usuario invitado como si el usuario invitado fuera
cualquier otra cuenta de usuario. Puede habilitar al usuario invitado en cualquier base
de datos excepto la master y las bases de datos tempdb.

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.

Pg. 68 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera 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.

Funcin Descripcin
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 funcin de base
de datos.
db_securityadmin Cambiar las funciones de la base de datos,
cambiar las funciones de aplicacin, crear
esquemas.
public Mantener los permisos predeterminados.

La funcin public es una funcin fija de base de datos especial a la que pertenece
cada usuario de la base de datos y no se puede eliminar. La funcin public:
Mantiene todos los permisos predeterminados para los usuarios de una base
de datos.
No puede tener usuarios, grupos o funciones asignados porque los usuarios,
grupos y funciones ya le pertenecen de forma predeterminada.
Est definida en cada base de datos, incluidas las bases de datos master,
msdb, tempdb, model y todas las bases de datos de usuario.

Sin los permisos adecuados, un usuario puede tener acceso a una base de datos de
SQL Server pero slo podr realizar tareas limitadas. Sin permisos, un usuario posee
todos los permisos que se conceden a la funcin public y puede realizar las acciones
siguientes:
Ejecutar las instrucciones que no requieren permisos, como la instruccin
PRINT.
Ver informacin de la tabla del sistema y ejecutar ciertos procedimientos
almacenados del sistema para la base de datos master y las bases de datos
de usuario a las que tenga acceso.
Obtener acceso a cualquier base de datos con una cuenta de invitado
habilitada

FUNCIONES DE BASE DE DATOS DEFINIDAS POR EL USUARIO


Cuando ninguna de las funciones fijas de base de datos se adeca a sus propsitos,
puede crear sus propias funciones de base de datos para agrupar a varios usuarios
que requieran los mismos permisos en una base de datos. La creacin de una funcin
de base de datos definida por el usuario le permite crear un grupo de usuarios con un

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 69


Universidad Nacional de Ingeniera

conjunto de permisos comunes. Puede crear una funcin de base de datos definida
por el usuario mediante el Explorador de objetos en SQL Server Management Studio o
por medio de la instruccin CREATE ROLE de Transact-SQL, como se muestra en los
ejemplos siguientes:
USE AdventureWorks
CREATE ROLE auditors

Puede modificar o eliminar una funcin de base de datos definida por el usuario en el
Explorador de objetos o mediante el uso de las instrucciones ALTER ROLE y DROP
ROLE de Transact-SQL.

Qu son las funciones de aplicacin?

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

FUNCIONES DE APLICACIN FRENTE A OTRAS FUNCIONES DE BASE DE DATOS


Las funciones de aplicacin difieren de otras funciones. A continuacin se muestra una
lista de las diferencias fundamentales entre las funciones de aplicacin y otras
funciones:

Las funciones de aplicacin no tienen miembros: se activan para los usuarios


cuando los usuarios ejecutan la aplicacin.
Las funciones de aplicacin permiten que los usuarios dispongan de permisos
especiales cuando usan la aplicacin y evitan la necesidad de conceder
permisos directamente a los usuarios.

Pg. 70 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Las funciones de aplicacin exigen activar una contrasea.

Al activar una funcin de aplicacin, los usuarios:

Pierden todos los permisos existentes en la base de datos actual para sus
cuentas de usuario y cualquier funcin a la que pertenezcan, salvo los
permisos que se aplican a la funcin public.
Heredan todos los permisos concedidos a la funcin de aplicacin en la base
de datos actual.

CREAR UNA FUNCIN DE APLICACIN


Use SQL Server Management Studio o el comando CREATE APPLICATION ROLE
(Transact-SQL) para crear una nueva funcin de aplicacin. Slo los miembros de las
funciones db_owner, db_securityadmin y sysadmin pueden crear funciones de
aplicacin; la instruccin requiere el permiso ALTER ANY APPLICATION ROLE en la
base de datos.
Cuando se crea una funcin de aplicacin, debe especificarse una contrasea. Esta
contrasea se usa a continuacin para activar la funcin de aplicacin.

El ejemplo siguiente muestra cmo crear una funcin de aplicacin denominada


weekly_receipts con una contrasea compleja:

CREATE APPLICATION ROLE weekly_receipts


WITH PASSWORD = '987Gbv876sPYY5m23'
GO

ACTIVAR UNA FUNCIN DE APLICACIN


El procedimiento almacenado sp_setapprole se usa para activar una funcin de
aplicacin. sp_setapprole puede ejecutarse slo mediante instrucciones Transact-
SQL y no puede ejecutarse dentro de otro procedimiento almacenado o dentro de una
transaccin definida por el usuario.
El ejemplo siguiente muestra el procedimiento sp_setapprole utilizado para activar la
funcin de aplicacin weekly_receipts creada en el ejemplo anterior:

EXEC sp_setapprole 'weekly_receipts', '987Gbv876sPYY5m23'


GO

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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 71


Universidad Nacional de Ingeniera

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.

Protegible Permiso Descripcin


Usuario ALTER Modificar el usuario especificado.
Esquema SELECT Seleccionar filas de cualquier objeto
del esquema.
ALTER Modificar cualquier objeto del
esquema.
TAKE OWNERSHIP Hacerse con la propiedad del
esquema.

Permisos de mbito de esquema

Los protegibles del mbito de esquema incluyen objetos como tablas, vistas,
procedimientos almacenados y tipos.

Pg. 72 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Qu son las claves?

Una clave es un valor que se puede aplicar a una funcin criptogrfica para cifrar o
descifrar un valor de datos seguro. El algoritmo criptogrfico que se usa para crear la
clave y la longitud de la clave determinan su complejidad. Las claves son la base
fundamental para toda la criptografa y se pueden implementar en dos formas:
simtrica y asimtrica.

CLAVES SIMTRICAS
Una clave simtrica es un valor que se usa tanto para cifrar como para descifrar datos.
Cuando se usa una clave simtrica, deben compartirla tanto la persona o sistema que

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 73


Universidad Nacional de Ingeniera

cifra los datos como la persona o sistema que los descifra. SQL Server admite claves
simtricas para la encriptacin de datos.

Puede crear una clave simtrica en SQL Server mediante la ejecucin de la instruccin
CREATE SYMMETRIC KEY, como se muestra en el ejemplo de cdigo siguiente:
CREATE SYMMETRIC KEY SymKey
WITH ALGORITHM = AES_256
ENCRYPTION BY PASSWORD = 'j7%ga5c$b+hdb05'

Tenga en cuenta que debe cifrar la propia clave simtrica para mantenerla en secreto.
En el ejemplo anterior, se usa una contrasea para cifrar la clave simtrica. Las
opciones alternativas para cifrar una clave simtrica son usar un certificado, una clave
asimtrica u otra clave simtrica.

CLAVES ASIMTRICAS
Las claves asimtricas estn compuestas de un par de valores que pueden usarse en
una funcin aritmtica unidireccional de manera que los datos puedan cifrarse con un
valor y descifrarse con el otro.

Los pares de claves asimtricas estn compuestos de una clave pblica, que puede
compartirse pblicamente, y una privada, que el propietario de la clave debe mantener
en secreto. Los datos cifrados con la clave pblica slo pueden descifrarse con la
clave privada. Adems, la clave pblica puede usarse para comprobar que una parte
de los datos ha sido cifrada por la clave privada (aunque no puede usarse para
descifrar los datos). Este enfoque se usa para crear una firma digital que puede usarse
para autenticar el origen de los datos.
Puede crear claves asimtricas en SQL Server mediante la ejecucin de la instruccin
CREATE ASYMMETRIC KEY, como se muestra en el ejemplo siguiente:

CREATE ASYMMETRIC KEY AsymKey


WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'bmsA$dk7i82bv55'

Tenga en cuenta que la clave privada de una clave asimtrica se cifra con una
contrasea. Si se omite la clusula ENCRYPTION BY PASSWORD, SQL Server cifra
la clave privada con la clave de base de datos para la base de datos en la que se crea
la clave. Las claves de base de datos se analizan ms adelante en este mdulo.

Qu son los certificados?

Los certificados son instrucciones firmadas digitalmente que asocian una clave pblica
a la identidad de la persona o sistema que posee la clave privada correspondiente.
Una entidad emisora de certificados de confianza puede emitir los certificados y
usarlos para autenticar un gran nmero de usuarios sin necesidad de mantener una
contrasea para cada usuario.

Pg. 74 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CONTENIDO DE UN CERTIFICADO
Un certificado suele contener la siguiente informacin:
La clave pblica del sujeto (la persona o sistema al que se emiti el certificado).
La informacin identificativa del sujeto, como el nombre y la direccin de correo
electrnico.
El perodo de validez. sta es el tiempo durante el que el certificado se
considera vlido.
Informacin identificadora y firma digital del emisor.

CERTIFICADOS EN SQL SERVER


SQL Server 2014 admite certificados para la autenticacin, autorizacin y criptografa;
tambin proporciona la funcionalidad para crear, exportar e importar certificados, como
se muestra en el ejemplo de cdigo siguiente:

-- crear un nuevo certificado


CREATE CERTIFICATE AWCustRelationsCert
ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y'
WITH SUBJECT = 'Adventure Works Customer Relations',
EXPIRY_DATE = '31/10/2009'
-- Exportar el certificado
BACKUP CERTIFICATE AWCustRelationsCert
TO FILE = 'c:\certs\AWCustRelationsCert.cer'
-- Importar un certificado
CREATE CERTIFICATE SupplierCert
FROM FILE = 'c:\certs\SupplierCert.cer'

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 75


Universidad Nacional de Ingeniera

Arquitectura de criptografa de SQL Server

SQL Server 2014 usa una jerarqua de claves y certificados para implementar la
funcionalidad criptogrfica. Cada nivel de la jerarqua se usa para proteger los
elementos del nivel inmediatamente inferior.

CLAVE PRINCIPAL DE SERVICIO


La Clave principal de servicio es una clave Triple DES en la base de la jerarqua de
cifrado de SQL Server 2014. Esta clave se genera automticamente cuando se
necesita por primera vez, y est protegida por la proteccin de datos de Windows API
(DPAPI).

CLAVE PRINCIPAL DE BASE DE DATOS


Una clave principal de base de datos es una clave simtrica Triple DES que se puede
usar para proteger las claves privadas de certificados y claves asimtricas de una
base de datos. Cuando se crea una clave principal de base de datos, se cifra mediante
el uso del algoritmo Triple DES y una contrasea proporcionada por el usuario. Para
habilitar el descifrado automtico de la clave principal, una copia de la clave se cifra
mediante el uso de la Clave principal de servicio tanto en la misma base de datos
como en la base de datos master.

La muestra de cdigo Transact-SQL siguiente muestra cmo crear una clave principal
de base de datos.

USE AdventureWorks
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe'

Pg. 76 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CLAVES Y CERTIFICADOS EN UNA BASE DE DATOS


Puede crear claves y certificados en una base de datos para cifrar los datos
confidenciales o implementar una autenticacin y autorizacin basadas en certificados.
Las claves privadas en una base de datos se pueden proteger mediante la clave
principal de base de datos o mediante una contrasea.

Cundo usar claves y certificados

Hay varias maneras de usar claves y certificados en una solucin de base de datos de
SQL Server.

CIFRADO DE DATOS
Puede usar claves y certificados para cifrar datos para el almacenamiento seguro en la
base de datos. SQL Server incluye las funciones en la tabla siguiente para cifrar y
descifrar datos.

Funciones Descripcin
EncryptByKey y Use estas funciones para cifrar y descifrar datos
DecryptByKey con
una clave simtrica. Estas funciones requieren un
GUID que identifique la clave asimtrica que debe
usarse, lo que puede obtenerse llamando a la
funcin
KeyGUID. Use estas funciones para cifrar y descifrar datos
EncryptByAsymKey y con una clave asimtrica. Estas funciones
DecryptByAsymKey requieren un Id. que identifique la clave asimtrica
que debe usarse, lo que puede obtenerse
llamando a la funcin AsymKey_ID.
EncryptByCert y Use estas funciones para cifrar y descifrar datos
DecryptByCert con un certificado. Estas funciones requieren un
Id. Que identifique la clave asimtrica que debe
usarse, lo que puede obtenerse llamando a la
funcin Cert_ID

Los algoritmos de criptografa asimtrica, como los usados por claves y certificados
asimtricos, son intensivos para el procesador y pueden conducir a la sobrecarga de
rendimiento cuando se usan para cifrar grandes cantidades de datos. Por esta razn,
generalmente debera cifrar los datos con una clave simtrica, que a su vez se cifra
con una clave asimtrica o un certificado.

FIRMA DE MDULOS DE CDIGO


Puede usar una clave asimtrica o un certificado para firmar un mdulo de cdigo,
como un procedimiento, funcin o desencadenador almacenado. Cualquier
modificacin subsiguiente en un mdulo de cdigo firmado invalidar la firma. La firma
y contrafirma slo pueden realizarla las personas con acceso a la clave privada.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 77


Universidad Nacional de Ingeniera

Adems de comprobar que el mdulo de cdigo no ha sido forzado, una firma crea
una identidad secundaria para el mdulo de cdigo. Puede crear un usuario a partir del
certificado usado para firmar el mdulo de cdigo mediante la clusula FOR
CERTIFICATE de la instruccin CREATE USER y conceder permisos al usuario
basado en certificados en lugar de a los usuarios que ejecutarn el mdulo de cdigo.
Para firmar un mdulo de cdigo, la clave privada debe estar presente y usar la
instruccin ADD SIGNATURE como se muestra en el ejemplo siguiente:

ADD SIGNATURE TO Sales.AddOrder BY CERTIFICATE SalesDevCert

Pg. 78 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 79


Universidad Nacional de Ingeniera

CAPITULO 5

Transferencia de Datos
Modos de Transferencia de Datos
Introduccin al SQL Server Integration Services

Pg. 80 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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. Prcticamente todas las
soluciones de bases de datos requieren algn 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 almacn 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 orgenes. 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 transformacin de datos?
Cuando seleccione datos para importarlos a su sistema, los datos podran no estar en
el formato necesario o no cumplir con sus reglas de validacin. Con la transformacin
de los datos se pueden eliminar incoherencias. La transformacin de los datos puede
significar un simple cambio de los tipos de datos o una transformacin compleja
mediante cdigo de procedimiento.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 81


Universidad Nacional de Ingeniera

Cambiar el formato de los datos


Si integra datos de diferentes orgenes, a sus formatos sern diferentes. El cambio del
formato de los datos podra implicar la simple modificacin del tipo de datos char a
varchar, pero tambin puede conllevar una transformacin ms compleja, como el
cambio de un campo de fecha basado en cadenas a un tipo de datos datetime.

Agregar los datos


A menudo, necesitar copiar datos desde un sistema de Procesamiento de
transacciones en lnea (OLTP) a un Sistema de ayuda a la toma de decisiones (DSS).
Con frecuencia, el DSS no requiere la granularidad fina de datos del sistema OLTP.
Un DSS suele generar informes agregados, y la transformacin de los datos podra
mejorar el rendimiento mediante la agregacin previa de estos datos y su
almacenamiento en un formulario resumido.

Mantener la coherencia de los datos


Al tratar con datos de sistemas diferentes, existe con frecuencia ms de una versin
de los mismos datos. Los nombres, direcciones y nmeros de telfono tienen, por lo
general, ortografas o estructuras diferentes y la transformacin de los datos puede
garantizar la coherencia en el destino.

Validar los datos


Si tiene cualquier duda sobre la validez de los datos de origen, debera validarlos
antes de colocarlos en el sistema de destino. Puede resolver automticamente
algunos errores de validacin, pero puede que necesite hacerlo manualmente en el
caso de que los errores sean ms complejos.

Escenarios comunes
A continuacin se presentan algunos escenarios habituales en los que se puede usar
la transformacin de los datos:
Almacenamiento de datos. Los almacenes de datos son colecciones de datos
de varios orgenes, que con frecuencia necesitan un esquema diferente al de
estos sistemas originales y podran contener datos agregados. Un almacn de
datos es una herramienta clave para la toma de decisiones, por lo que resulta
fundamental que los datos sean coherentes, vlidos, y que se almacenen en la
estructura adecuada.

Integracin de aplicacin empresarial (EAI). La EAI es el uso compartido de


todos los datos disponibles dentro de una organizacin. Ser ms eficaz si los
datos son coherentes y vlidos.

Integracin negocio a negocio (B2B). Los sistemas B2B necesitan asignar


estructuras de datos de una organizacin a las de otra.
Integracin con un sistema heredado. Muchas compaas confan en exceso
en sistemas heredados, que a menudo generan datos en un formato que no es
el ideal para el almacenamiento y el anlisis en un sistema moderno. La
transformacin de los datos modifica su estructura y formato antes de cargarlos
en el nuevo sistema.

Pg. 82 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera 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 lnea 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 lnea de comandos o un archivo de
proceso por lotes; proporciona un rendimiento rpido con una carga mnima para el
sistema.

BULK INSERT
BULK INSERT es la versin de Transact-SQL del PCM y tiene muchos de los mismos
parmetros. Es til cuando es necesario incluir la funcionalidad de importacin de
datos en su lgica 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. Debera usar el componente Carga masiva de XML cuando necesite
importar una gran cantidad de datos XML y distribuirlos en una o ms tablas
relacionales.

Rplica
La rplica es til cuando dos o ms 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 rplica permitirn
que los propios suscriptores modifiquen los datos. La rplica no es adecuada si los
datos deben transformarse o si proceden de un sistema no relacional.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 83


Universidad Nacional de Ingeniera

SQL Server Integration Services


Los SQL Server Integration Services son un sistema mucho ms avanzado para la
transferencia y transformacin de los datos. Proporciona una arquitectura flexible,
rpida y escalable que permite la integracin de datos de forma eficaz en entornos
empresariales actuales. La transferencia y transformacin de los datos puede ser muy
sencilla mediante los SSIS, pero tambin puede conllevar una compleja asignacin y
validacin de datos.

Introduccin a SQL Server Integration Services

SSIS es una aplicacin compleja. SSIS tiene dos motores: un motor en tiempo de
ejecucin y un motor de flujo de datos. El motor de flujo de datos controla las tareas de
extraccin, transformacin y carga; el motor en tiempo de ejecucin controla todo lo
dems, incluidas la repeticin y la comunicacin con procesos externos.

QU ES SSIS?
SQL Server 2014 Integration Services (SSIS) es una plataforma para generar
soluciones de integracin de datos de alto rendimiento, incluidas la extraccin, la
transformacin y la carga (ETL) de paquetes para el almacenamiento de datos. SSIS
se compone de un motor en tiempo de ejecucin orientado a operaciones y de un
motor de flujo de datos escalable y rpido. El flujo de datos existe en el contexto de un
flujo de tareas global.

El motor en tiempo de ejecucin es el que proporciona el recurso en tiempo de


ejecucin 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:

Diseadores. SSIS ofrece diseadores integrados en SQL Server Business


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

Pg. 84 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera 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 smbolo de sistema. SSIS incluye utilidades del smbolo de sistema que
pueden usarse para ejecutar paquetes SSIS desde la lnea 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 ms habituales.

TERMINOLOGA SSIS
Cuando se crea una solucin SSIS, es importante entender la terminologa siguiente:
Paquete. Un paquete es una coleccin organizada de conexiones, elementos de flujo
de control, elementos de flujo de datos, controladores de eventos, variables y
configuraciones que se ensamblan mediante las herramientas de diseo grfico que
proporciona SSIS o que se generan mediante programacin. A continuacin, se debe
guardar el paquete finalizado en SQL Server 2014, el Almacn de paquetes SSIS o el
sistema de archivos.

El paquete es la unidad de trabajo que se recupera, se ejecuta y se guarda.


Tarea. Las tareas realizan el trabajo en paquetes. SSIS incluye tareas para la
realizacin de diversas funciones.
Contenedor. Los contenedores son objetos que proporcionan la estructura a los
paquetes. Admiten los flujos de control repetidos en paquetes y agrupan tareas y otros
contenedores en unidades de trabajo significativas.

CMO PROCESA SSIS LAS TAREAS


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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 85


Universidad Nacional de Ingeniera

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 repeticin a travs del contenedor para cada miembro
de una coleccin o hasta que una expresin determinada se evala 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 tambin contienen secuencias de comandos para implementar
funcionalidades personalizadas.
Las restricciones de precedencia crean una secuencia ordenada de ejecucin
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: orgenes, destinos y transformaciones.
Los orgenes extraen los datos de una amplia gama de almacenes de datos
que incluyen bases de datos relacionales, archivos de texto y hojas de clculo.
Las transformaciones modifican los datos entre el origen y el destino, e
incluyen la validacin, agregacin y asignacin de datos.
Los destinos cargan los datos en cualquiera de los almacenes de datos.

HERRAMIENTAS SSIS
SSIS cuenta con una amplia gama de asistentes y herramientas con las que es posible
desarrollar paquetes con rapidez.

Asistentes
SSIS incluye las herramientas y asistentes siguientes, que pueden usarse para crear y
administrar paquetes SSIS:
El Asistente para importacin y exportacin es el mtodo ms simple de crear
un paquete. Puede importar y exportar de SQL Server, archivos de texto,
Microsoft Office Access, Excel, BD OLE y proveedores de Microsoft ADO.NET.
El Asistente para la instalacin de paquetes transfiere los paquetes al sistema
de archivos o a otra instancia de SQL Server 2014. Antes de ejecutar el
Asistente para la instalacin de paquetes, debe construir una utilidad de
implementacin para el proyecto que contiene los paquetes que desea
implementar.
El Asistente para la configuracin de paquetes crea configuraciones para
cambiar los valores de las propiedades de objeto en tiempo de ejecucin.

Pg. 86 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

El Asistente para la migracin de paquetes convierte los paquetes de los


Servicios de transformacin de datos (STD) de SQL Server 2000 en paquetes
SSIS de SQL Server 2014.

Diseador SSIS
El Diseador SSIS es una herramienta grfica para crear paquetes. Puede usarla para
crear el flujo de control o el flujo de datos, agregar controladores de eventos, ver el
contenido del paquete y ver el progreso de ejecucin en tiempo de ejecucin. El flujo
de control, el flujo de datos, los controladores de eventos y el Explorador de paquetes
tienen una ficha cada uno en el Diseador SSIS y una ficha Progreso aparece cuando
un paquete se est ejecutando. Hay tambin un rea de Administradores de conexin
para agregar y configurar los administradores de conexin que usa un paquete para
conectarse a los datos.

Utilidades del smbolo de sistema


SSIS incluye las siguientes utilidades del smbolo del sistema:
La utilidad del smbolo del sistema dtexec ejecuta un paquete en el equipo
local. Puede usar la utilidad Paquete de ejecucin (dtexecui.exe) para
administrar dtexec a travs de un cliente grfico.
La utilidad del smbolo del sistema dtutil copia, elimina, mueve, firma y
comprueba paquetes desde el smbolo del sistema.

Usar SQL Server Integration Services

Para crear paquetes SSIS es necesario entender cmo se crea cada objeto. A menudo
los paquetes se crean en sistemas de desarrollo y se implementan en entornos de
produccin.

QU SON LOS ORGENES DE DATOS Y LAS VISTAS DE ORIGEN DE DATOS?


SSIS incluye dos objetos en tiempo de diseo que facilitan la implementacin de las
conexiones en paquetes: orgenes de datos y vistas de origen de datos.
Los orgenes de datos y las vistas de origen de datos se crean en un proyecto. A
continuacin, estarn disponibles para cada paquete de ese proyecto. Los orgenes de
datos y las vistas de origen de datos son objetos en tiempo de diseo que no se
implementan. En su lugar, SSIS usa las propiedades de los orgenes de datos y las
vistas de origen de datos para crear administradores de conexiones.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 87


Universidad Nacional de Ingeniera

ORGENES DE DATOS
Un origen de datos es una referencia en tiempo real a una conexin de almacn de
datos. Los orgenes de datos no son necesarios, pero pueden acelerar el desarrollo de
un proyecto o de un paquete, dado que muchos administradores de conexin pueden
usar el mismo origen de datos.

El uso de orgenes de datos en paquetes SSIS proporciona las ventajas siguientes:


Los orgenes de datos estn disponibles para un proyecto completo. Puede
definir un origen de datos una vez y, a continuacin, hacer referencia a l en
los administradores de conexin de varios paquetes dentro del proyecto.
Cuando se crea un administrador de conexin mediante un origen de datos, el
administrador de conexin copia la cadena de conexiones del origen de datos.
El administrador de conexin no exige que el origen de datos funcione y que
contine funcionando si el origen de datos no est disponible.
Si cambia las propiedades de un origen de datos, las cadenas de conexin de
todos los objetos basadas en el origen de datos cambiarn.

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 ms tablas o vistas del almacn 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 instruccin
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 orgenes de datos en paquetes SSIS proporciona las ventajas
siguientes:

Pg. 88 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Una vista de origen de datos slo puede mostrar los objetos pertinentes. Un
origen de datos mostrar cada tabla en el almacn de datos subyacente.
Las vistas de origen de datos estn disponibles para un proyecto completo.
Puede definir una vista de origen de datos una vez y, a continuacin, 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
orgenes de datos subyacentes.
Una vista de origen de datos almacena en memoria cach los metadatos de los
orgenes de datos subyacentes, lo que le permite desconectarse del almacn
de datos subyacente y seguir editando las propiedades de la vista de origen de
datos.

Qu es un administrador de conexin?

Un administrador de conexin es una representacin lgica de una conexin. Se crea


un administrador de conexin en tiempo de diseo para describir la conexin fsica que
SSIS crea cuando el paquete se ejecuta. SSIS crea la conexin fsica mediante la
cadena de conexin y otros atributos del administrador de conexin.

Un paquete puede tener varios administradores de conexin, y cada administrador de


conexin puede tener atributos diferentes. Por esta razn, podra crear varios
administradores de conexin para el mismo almacn de datos, cada uno con
propiedades ligeramente diferentes.

TIPOS DE ADMINISTRADORES DE CONEXIN


Como se describe en la tabla siguiente, SSIS proporciona distintos tipos de
administradores de conexin que permiten que los paquetes se conecten a diversos
orgenes de datos y servidores.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 89


Universidad Nacional de Ingeniera

TIPO DESCRIPCIN
ADO Se conecta a orgenes 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)
SMOServer Se conecta a un servidor de Objetos de administracin
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 administracin de Microsoft Windows
(WMI) en el servidor

QU ES EL FLUJO DE CONTROL DE PAQUETES?


El flujo de control de paquetes es el proceso de control de la ruta de ejecucin de un
paquete. Puede implantar condiciones para controlar la secuencia de las tareas
basndose en el xito o error de una tarea anterior o en los resultados de una
expresin.

Puede agrupar tareas con propsitos organizativos o para proporcionar capacidades


transaccionales. Tambin puede repetir grupos de tareas para ejecutar la tarea un
cierto nmero de veces o para cada miembro de una coleccin.

Pg. 90 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Tareas
Las tareas realizan el trabajo en paquetes. La ms importante es la tarea de flujo de
datos. Puede haber varias tareas de flujo de datos dentro de un paquete, y cada una
puede representar varias operaciones de datos ETL. Otras tareas pueden realizar
muchas operaciones diferentes, desde enviar correos electrnicos hasta recibir datos
de servicios web.

Restricciones de precedencia
Las restricciones de precedencia combinan tareas. En su forma ms simple, las
restricciones de precedencia permiten un flujo estructurado de operacin a travs de
un paquete. Sin embargo, las restricciones de precedencia pueden ser condicionales y
permitir que el proceso se ramifique en base a ciertas condiciones.

Puede usar el xito, error o finalizacin (xito o error) de la tarea anterior para
controlar la ruta de ejecucin. Las restricciones de precedencia tambin pueden
comprobar si una expresin se evala como Verdadera, y esta expresin se puede
usar en lugar de, o adems de, la restriccin de finalizacin.

Contenedores
Los contenedores permiten agrupar o repetir las tareas.
Los contenedores de secuencias pueden agrupar tareas para su organizacin.
Tambin puede usarlos como mbito para una variable, para mantener la privacidad
de los valores frente a otras operaciones y como base para transacciones. Puede
establecer el soporte transaccional y el nivel de aislamiento a nivel de contenedor de
secuencias en lugar de tener que establecer las propiedades de cada tarea
individualmente.

El contenedor Foreach Loop repite las tareas para cada miembro de una coleccin.
Por ejemplo, podra repetir una importacin para cada archivo de una carpeta, o una
accin podra realizarse en cada fila de una tabla.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 91


Universidad Nacional de Ingeniera

Los contenedores For Loop repiten una coleccin de tareas una o dos veces segn la
evaluacin de una expresin. Antes de usar un contenedor For Loop, debe crear una
variable. A continuacin, use el contenedor For Loop para establecer un valor inicial
(InitExpression), una iteracin (AssignExpression) y una evaluacin
(EvalExpression) para esta variable. Por ejemplo, si tuviera una variable llamada
Contador, podra establecer un valor inicial de @Contador=1, una iteracin de
@Contador=@Contador+1, y una evaluacin de @Contador<4. Esto repetira el
cdigo cuatro veces. La cuarta vez, el valor Contador se establecera en 4 y el bucle
finalizara.

Qu es una tarea de flujo de datos?

La tarea de flujo de datos es una tarea especial que abarca las operaciones de
extraccin, transformacin y carga de SSIS. Aparece en la pgina 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 clculo de Excel y bases de datos de
Analysis Services.

La transformacin transforma los datos mediante la asignacin del origen al destino y


la limpieza, agregacin y modificacin 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 conexin al almacn de datos del que necesita extraer datos.
Normalmente genera un resultado compuesto por varias columnas. Muchos orgenes
tambin tienen una salida de error que tiene todas las columnas de la salida normal
ms dos columnas adicionales para la informacin de errores. Aunque la mayora de

Pg. 92 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

los orgenes slo tienen una salida normal, puede codificar y personalizar los orgenes
para tener varias salidas normales y varias salidas de error.

Transformacin
Una transformacin puede ser una simple columna que se asigna entre el origen y el
destino, pero tambin puede realizar complejas operaciones de modificacin y
limpieza en los datos. Las transformaciones tienen una entrada y una salida normal,
cada una de ellas compuesta de una o ms columnas. Tambin 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. Tambin pueden realizar las
operaciones de bsqueda y generar conjuntos de datos de muestra.

Destinos
El destino es la conexin al almacn 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 informacin de errores as como recibir datos. Puede codificar y personalizar
los destinos para tener varias entradas y salidas de errores.

Cmo implementar paquetes

SSIS cuenta con herramientas y caractersticas para implementar paquetes de un


sistema a otro. El proceso de implementar paquetes consta de tres pasos:

1. Definir las configuraciones de paquetes.


2. Configurar la utilidad de implementacin y generar el proyecto.
3. Copiar e implementar la generacin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 93


Universidad Nacional de Ingeniera

Configuraciones de paquetes
Las configuraciones de paquetes permiten actualizar los valores de propiedades en
tiempo de ejecucin. Esto es particularmente til al trasladar un paquete de un sistema
de desarrollo a un sistema de produccin. Los nombres de servidor y las cadenas de
conexin probablemente habrn cambiado y las configuraciones de paquetes pueden
automatizar el proceso de modificacin de estos valores.

Los valores que desea aplicar se pueden almacenar en archivos XML, tablas SQL
Server, entradas del Registro o variables de entorno o de paquetes. Se puede agregar
una referencia a esta ubicacin de almacenamiento agregando una nueva
configuracin desde el men SSIS de Business Intelligence Development Studio. El
Asistente para la configuracin de paquetes se ejecuta automticamente y le guiar a
travs del proceso de creacin de una configuracin de paquetes.

Pg. 94 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 95


Universidad Nacional de Ingeniera

CAPITULO 6
Automatizacin de Tareas Administrativas
Beneficios de la Automatizacin
Uso del SQL Server Agent
Creando Trabajos y Operadores
Monitoreando los trabajos
Creacin de Alertas

Pg. 96 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 supervisin es importante porque SQL Server proporciona un servicio en un
entorno dinmico. Los datos de la aplicacin cambian, el tipo de acceso que los
usuarios requieren cambia y la manera en que los usuarios se conectan cambia. SQL
Server administra automticamente recursos a nivel de sistema como la memoria y el
espacio en disco, pero la supervisin 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 grfica de SQL Server Management Studio
que muestra informacin 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.

Pginas del Monitor de actividad


El Monitor de actividad muestra informacin sobre las conexiones abiertas y los
bloqueos actuales. Puede ver informacin en el Monitor de actividad en tres pginas:

Informacin del proceso, Bloqueos por proceso y Bloqueos por objeto.


Informacin del proceso. En la pgina <Informacin del proceso, el Monitor de
actividad muestra una lista de todos los procesos de conexin del sistema. Cada
proceso est identificado por un nico Id. de proceso y el Monitor de actividad muestra
informacin sobre cada proceso, como el acceso a la base de datos, el nombre de la
aplicacin cliente y el inicio de sesin usado por el proceso. Los administradores de la
base de datos pueden usar esta pgina para determinar qu procesos estn activos
actualmente y finalizar un proceso si es necesario.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 97


Universidad Nacional de Ingeniera

Bloqueos por proceso. En la pgina 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 pgina para
identificar procesos que estn bloquendose entre s debido a bloqueos excesivos e
interbloqueos.

Bloqueos por objeto. En la pgina 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 pgina para solucionar los problemas de bloqueos con una tabla determinada u
otro objeto de base de datos.

Qu son los objetos de administracin dinmica?

Puede usar vistas de administracin dinmica y funciones de administracin dinmica


para consultar metadatos dinmicos en SQL Server 2014; proporcionan informacin
sobre el estado actual de SQL Server, como los bloqueos actuales de una base de
datos.

VISTAS DE ADMINISTRACIN DINMICA


Las vistas de administracin dinmica se muestran con vistas de catlogo en la
carpeta Vistas del sistema en el Explorador de objetos de SQL Server Management
Studio.
Mientras que las vistas de catlogo se pueden usar para ver la informacin de
configuracin esttica, las vistas de administracin dinmica devuelven el estado
actual de actividad dinmica de SQL Server. Las vistas de administracin dinmica, al
igual que las vistas de catlogo, se definen en el esquema sys, pero sus nombres
generalmente contienen el prefijo dm para distinguirlas de las vistas de catlogo.
La tabla siguiente muestra algunas de las vistas de administracin dinmica que
suelen usarse.

Pg. 98 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Vista de administracin Descripcin


dinmica
sys.dm_db_partition_stats Devuelve informacin sobre recuentos de
pginas y filas para cada particin de la base
de datos
sys.dm_exec_sessions Devuelve informacin sobre todas las
sesiones actuales conectadas al servidor
sys.dm_io_pending_io_requests Devuelve informacin sobre las solicitudes
de entrada/salida (E/S) pendientes
sys.dm_os_memory_pools Devuelve informacin sobre cada cach de
objetos simple del sistema
sys.dm_os_threads Devuelve informacin sobre las amenazas
en el sistema
sys.dm_broker_queue_monitors Devuelve informacin sobre cada monitor de
cola de Service Broker del sistema
sys.dm_tran_locks Devuelve informacin sobre cada bloqueo
concedido o solicitado actualmente en el
sistema

CONSULTAR VISTAS DE ADMINISTRACIN DINMICA


Puede consultar vistas de administracin dinmica mediante una instruccin SELECT
estndar. Por ejemplo, el cdigo 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 99


Universidad Nacional de Ingeniera

Seguidamente, se mostrar la ventana con la informacin 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 estadsticas de actividad de disco.

Pg. 100 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Objetos, instancias y contadores del Monitor de sistema

Puede ver el Monitor de sistema mediante el inicio de la aplicacin Rendimiento en el


grupo de programas de Herramientas administrativas. El Monitor de sistema clasifica
la informacin en objetos, contadores e instancias. Entender cmo 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 nmero fijo de
objetos en Microsoft Windows
Server 2014 y, al instalar SQL
Server, se agregan ms objetos
especficos 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 estn visibles
en el Monitor de sistema como si no. Si un tipo de objeto tiene varias instancias, los
contadores recopilan estadsticas de cada instancia o del total de todas las instancias.

Instancias. Las instancias son mltiplos del mismo tipo de objeto. Por ejemplo, si un
sistema tiene varios procesadores, el tipo de objeto Procesador tendr varias
instancias. Cuando se ve informacin 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).

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 101


Universidad Nacional de Ingeniera

En el Monitor de sistema, puede especificar qu contadores se mostrarn. Puede


mostrar los valores de contador como un grfico, un histograma (grfico de barras) o
un informe. Los grficos, 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
clculo, como las de Microsoft Office Excel, para un anlisis ms extenso.

REGISTROS Y ALERTAS DE RENDIMIENTO


Adems del complemento MMC Monitor de sistema, la herramienta Rendimiento
incluye un segundo complemento denominado Registros y alertas de rendimiento.
Puede usar este complemento para capturar informacin sobre el rendimiento en un
archivo de registro para poder verlo posteriormente en el Monitor de sistema. Los
registros de contador registran datos sobre los recursos de hardware y los servicios
del sistema basados en el rendimiento a lo largo del tiempo. Los registros de contador
son tiles para realizar un seguimiento de las tendencias. Los registros de traza
recopilan las trazas de eventos que miden las estadsticas de rendimiento asociadas a
eventos como E/S de disco y archivo.

Los archivos de registro proporcionan un caudal de informacin para la solucin de


problemas o el planeamiento. Aunque los grficos, alertas e informes sobre la
actividad actual proporcionan informacin instantnea, los archivos de registro le
permiten realizar el seguimiento de los contadores durante un largo perodo de tiempo.
As, puede examinar la informacin de forma ms exhaustiva y documentar el
rendimiento del sistema.

Adems, puede configurar alertas que se disparan cuando un contador alcanza un


valor umbral concreto. Las alertas son tiles si no est supervisando activamente un
contador determinado pero desea ser notificado cuando ste est por encima o por
debajo de un valor especificado para poder as investigar y determinar la causa del
cambio. Por ejemplo, puede establecer una alerta cuando el porcentaje de espacio en
disco usado supere el 80% o cuando el nmero de intentos de inicio de sesin fallidos
exceda un nmero concreto.

Pg. 102 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 ms contadores que determinan varios
aspectos de los objetos para supervisar. Por ejemplo, el objeto Bloqueos de SQL
Server contiene los contadores Nmero de interbloqueos/seg. y Tiempos de
espera de bloqueos/seg.

Consideraciones para supervisar SQL Server

La supervisin de una instancia de SQL Server requiere el anlisis de algunos


aspectos clave del sistema. Eliminar los cuellos de botella fsicos puede afectar
inmediatamente al rendimiento e incluso localizar problemas de diseo 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 103


Universidad Nacional de Ingeniera

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 cundo y cmo 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 paginacin excesiva.
Aislar la actividad de disco que crea SQL Server.

Puede supervisar los contadores siguientes en el objeto DiscoFsico para determinar


la E/S de disco y detectar la paginacin excesiva.

Contador Descripcin Directrices


% tiempo de disco Supervisa el porcentaje de Si este contador es alto
tiempo durante el cual el (ms del 90%),
disco est ocupado con la compruebe el contador
actividad de lectura y Longitud actual
escritura. de la cola de disco.
Longitud media de la Supervisa el nmero medio Este contador no debera
cola de solicitudes de lectura y ser mayor que dos veces
de disco escritura que se ponen en el nmero de husos.
cola.
Longitud actual de la Supervisa el nmero actual Este contador no debera
cola de solicitudes de lectura y ser mayor que dos veces
de disco escritura que se ponen en el nmero de husos.
cola.

Pg. 104 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 ms rpida.


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 pgina/s. en el objeto Memoria para asegurarse de


que la actividad de disco no est ocasionada por la paginacin.

SUPERVISAR EL USO DE MEMORIA


Supervise peridicamente una instancia de SQL Server para confirmar que el uso de
la memoria se encuentra dentro de los valores normales. Debe asegurarse de que
ningn proceso, incluido SQL Server, usa demasiada memoria o est restringido por
una memoria insuficiente.

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

Objeto: contador Descripcin Directrices


Memoria: Bytes Indica cuntos bytes de Los valores bajos para el
disponibles memoria estn contador Bytes
disponibles actualmente disponibles puede indicar
para su uso Pginas/seg. una escasez general de
por parte de procesos. memoria en el equipo o que
una aplicacin no est
liberando la memoria.
Memoria: Pginas/seg. Indica el nmero de Un alto nmero para el
pginas que se contador Pginas/seg.
recuperaron del disco podra indicar una
debido a los errores de paginacin excesiva.
pgina en disco o que se Supervise el contador
escribieron en el espacio Memoria: Errores de
disponible del disco pgina/s. para asegurarse
conjunto de trabajo de que la actividad del disco
debido a los errores de no est ocasionada por la
pgina. paginacin.
Proceso: Errores de Windows Virtual Memory Un nmero alto para este
pgina/s Manager toma las contador indica unas
(instancia sqlservr) pginas paginaciones excesivas y
de SQL Server y otros sacudidas en el disco. Use
procesos cuando recorta este contador para
los tamaos del conjunto comprobar si SQL Server u
de trabajo de esos algn otro proceso est
procesos. produciendo la paginacin
excesiva.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 105


Universidad Nacional de Ingeniera

Proceso: Conjunto de Muestra la cantidad de Si este nmero 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 mnima del
servidor y memoria
mxima del servidor, SQL
Server se configurar para
usar demasiada memoria.
SQL Server: Buffer Supervisa el porcentaje Agregue ms memoria
Manager:frecuencia de de pginas necesarias hasta que el valor sea
aciertos de cach del encontradas en la cach constantemente mayor que
bfer de bfer, sin leer del disco el 90%.
duro. No diferencia entre
la memoria fsica y la
memoria del archivo de
paginacin usado para la
cach de bfer.

SQL Server: Buffer Supervisa el nmero total Un nmero bajo puede


Manager:total de de pginas de la cach de indicar sacudidas frecuentes
pginasSQL bfer, incluidas las en el disco E/S. Considere
pginas de la base de la posibilidad de agregar
datos, las libres y las ms 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) dinmica que usa el comparado con la cantidad
servidor. de memoria fsica
disponible, puede que se
necesite ms memoria.

SUPERVISAR EL USO DE CPU


Supervise peridicamente una instancia de SQL Server para determinar si las tasas de
uso de CPU estn dentro de los valores normales. Una tasa continuamente alta de uso
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 aplicacin mal ajustada o mal diseada. Optimizar la aplicacin puede reducir
el uso de CPU.
Use los contadores descritos en la tabla siguiente para supervisar el uso de CPU.

Objeto: contador Descripcin 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 inactivo. necesidad de actualizar
su CPU o de agregar

Pg. 106 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

ms 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 contribucin 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 grfica de
usuario para supervisar una instancia del Motor de base de datos de SQL Server o
Anlisis 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
produccin para ver qu procedimientos almacenados afectan al rendimiento debido a
una ejecucin demasiado lenta.

FUNCIONES DEL SQL SERVER PROFILER


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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 107


Universidad Nacional de Ingeniera

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 anlisis
ms 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 slo aquellos eventos que le interesen. Si
hay demasiada actividad para examinarla con facilidad, puede filtrar eventos
basndose en la informacin que desea, de modo que slo se recopile un subconjunto
de los datos de eventos. Supervisar demasiados eventos puede sobrecargar al
servidor y al proceso de supervisin, lo que puede producir que el archivo o la tabla de
traza se hagan muy grandes, sobre todo cuando el proceso de supervisin tiene lugar
durante un largo perodo 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
continuacin, elija los criterios. Las actividades que podra desear supervisar incluyen:
Consultas con un mal rendimiento.
Consultas que provocan recorridos de tabla.
Actividades de usuarios o aplicaciones individuales.
Rendimiento de la base de datos tempdb.
Problemas de interbloqueo.
Intentos de inicio de sesin, errores, conexiones y desconexiones.
Lecturas y escrituras del disco lgico.
Uso de CPU a nivel de instruccin.
Tiempo de espera para todos los eventos posteriores a la ejecucin.

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
informacin 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 opcin trace_produce_blackbox crea un registro
rotativo de los ltimos 5 megabytes (MB) de eventos de servidor especificados.

Opciones de traza del SQL Server Profiler

Cuando usa el SQL Server Profiler para crear una traza, dispone de varias opciones
para definir la actividad que se registrar y dnde se almacenar la actividad de traza
registrada.

ESPECIFICAR UNA PLANTILLA DE TRAZA


Los eventos incluidos en una traza estn determinados por la especificacin de las
clases de eventos que desea supervisar y los valores de datos individuales (columnas)

Pg. 108 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

que desea registrar. Esto se lleva a cabo mediante la seleccin de la plantilla en la que
desea basar su traza y, a continuacin, agregando o quitando clases o columnas de
eventos individuales y aplicando filtros para limitar los datos recopilados basndose en
criterios concretos.

El SQL Server Profiler ofrece varias plantillas predefinidas que le permiten configurar
con facilidad los eventos que probablemente necesitar para tipos concretos de
actividad. Por ejemplo, la plantilla Estndar le ayuda a crear una traza genrica para
registrar inicios y cierres de sesin, lotes finalizados e informacin de conexin. Puede
usar esta plantilla sin modificarla para ejecutar trazas, o como punto de partida para
plantillas adicionales con configuraciones de eventos diferentes. Tambin puede crear
sus propias plantillas o modificar las plantillas predefinidas.

GUARDAR DATOS DE TRAZA


Debera guardar los datos de eventos capturados en un archivo o una tabla de SQL
Server cuando necesite analizar o volver a consultar los datos capturados
posteriormente.
Al guardar una traza, puede:

Usar un archivo o una tabla de traza para crear una carga de trabajo que se
use como entrada para Database Engine Tuning Advisor.
Usar un archivo de traza para capturar eventos y enviar el archivo de traza al
proveedor de soporte tcnico para su anlisis.
Usar las herramientas de procesamiento de consulta en SQL Server para tener
acceso a los datos o ver los datos en el SQL Server Profiler. Slo los miembros
de la funcin fija de servidor sysadmin o el creador de la tabla pueden tener
acceso a la tabla de traza directamente.

Las opciones disponibles al guardar una traza en una tabla son:


La ubicacin y el nombre de la tabla.
El nmero mximo de filas que se almacenan en la tabla (opcional).

Las opciones disponibles al guardar una traza en un archivo son:


La ubicacin y el nombre del archivo.
El tamao mximo del archivo.
Siga el comportamiento cuando el archivo est lleno (desplcese para iniciar al
principio del archivo otra vez o crear un nuevo archivo).
Siga el procesamiento por parte del servidor o del SQL Server Profiler.
Configurar el servidor para procesar la traza puede reducir el impacto de la
traza en el rendimiento.

ESPECIFICAR UNA HORA DE DETENCIN DE TRAZA


Puede decidir establecer una hora de detencin de la traza, lo cual le permite iniciar
una traza y dejar que se ejecute hasta una fecha y hora concretas. La capacidad para
especificar una pausa es til cuando desee registrar la actividad de SQL Server para
un perodo predeterminado.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 109


Universidad Nacional de Ingeniera

COLUMNAS, EVENTOS Y CATEGORAS DE TRAZA


La informacin registrada en una traza se divide en categoras. Las categoras
contienen eventos, cada uno de los cuales tiene atributos definidos posteriormente por
columnas.

CATEGORAS DE TRAZA
En el SQL Server Profiler, una categora es un grupo de clases de eventos
relacionadas. Las clases de eventos estn compuestas por tipos de eventos que se
pueden seguir paso a paso. La clase de evento contiene todas las columnas de datos
sobre las que un evento puede realizar informes.

Las categoras mostradas de forma predeterminada son:

Security Audit. Incluye las clases de eventos que se usan para auditar la actividad del
servidor.
Sesiones. Incluyen clases de eventos generadas por clientes que se conectan y
desconectan de una instancia de SQL Server.
Procedimientos almacenados. Incluyen clases de eventos generadas por la
ejecucin de procedimientos almacenados.
TSQL. Incluyen clases de eventos generadas por la ejecucin de instrucciones
Transact-SQL pasadas a una instancia de SQL Server desde el cliente.

Eventos
Un evento se define como la aparicin de una accin dentro de una instancia del Motor
de base de datos de SQL Server. Los eventos se definen adems por sus atributos,
que se muestran en columnas de datos.

Los eventos predeterminados mostrados se describen en la tabla siguiente.

Categora Evento Descripcin


Security Audit Audit Login Indica que un usuario ha
iniciado sesin correctamente
en SQL Server.
Security Audit Audit Logout Indica que un usuario ha
cerrado la sesin de SQL
Server.
Sesiones ExistingConnection Indica las propiedades de
conexiones de usuario
existentes cuando se inici la
traza. El servidor provoca un
evento ExistingConnection
por cada conexin de usuario
existente.
Procedimientos RPC: completed Indica que una llamada de
almacenados procedimiento remoto ha
finalizado.
TSQL SQL:BatchCompleted Indica que el lote de
Transact-SQL ha finalizado.

Pg. 110 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

TSQL SQL:BatchStarting Indica que un lote de


Transact-SQL se est
iniciando.

Columnas
Las columnas de datos contienen los atributos de los eventos. El SQL Server Profiler
usa las columnas de datos de la traza para describir eventos que se capturan cuando
se ejecuta la traza.

Puede administrar las columnas mediante filtros de columna para controlar qu datos
se recopilan. Por ejemplo, use el filtro Nombre de aplicacin para excluir cualquier
dato generado por el propio SQL Server Profiler. Tambin puede organizar columnas
en grupos relacionados usando la funcin Organizar columnas.

Usar los desencadenadores DDL


Los desencadenadores del Lenguaje de definicin de datos (DDL) son una nueva
caracterstica en SQL Server 2014. A diferencia de los desencadenadores estndar,
que slo 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
creacin o supresin 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 definicin 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 definicin de datos, para que un usuario que ejecute una instruccin de
lenguaje de definicin de datos no sea consciente de que la tarea es observada.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 111


Universidad Nacional de Ingeniera

Cundo usar desencadenadores DDL

Un desencadenador DDL se inicia cuando un usuario ejecuta una instruccin de


lenguaje de definicin de datos especificada, como CREATE TABLE, DROP
TRIGGER o UPDATE STATISTICS.
Los desencadenadores DDL pueden ser tiles para registrar acciones administrativas
en el sistema. Por ejemplo, podra crear un desencadenador en la instruccin
CREATE VIEW para registrar detalles sobre la vista que se cre, el usuario que la cre
y la hora en que tuvo lugar la accin.

MBITO DE DESENCADENADOR DDL


A diferencia de los desencadenadores corrientes que estn asociados a tablas, un
desencadenador DDL se ejecuta cuando se ejecuta una instruccin determinada, sin
tener en cuenta el destino de esa instruccin. 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 slo se


inician cuando el evento correspondiente tiene lugar en una base de datos concreta.
Estos desencadenadores tienen relacin 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
estn asociados a objetos en el nivel de servidor, como inicios de sesin 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 accin desencadenadora.
Por ejemplo, un desencadenador DROP_TABLE se inicia despus de que la tabla de
destino se haya anulado correctamente. No hay ningn equivalente a los
desencadenadores INSTEAD OF para las operaciones DDL.
Puede usar la instruccin ROLLBACK TRANSACTION para anular la transaccin
actual y deshacer cualquier trabajo que se haya realizado, incluida la operacin DDL
que hizo que el desencadenador se iniciara.
Una sola operacin DDL puede desencadenar varios desencadenadores DDL. El
orden en el que se inician los desencadenadores no se documenta. No debera confiar
en que los desencadenadores DDL se ejecuten siguiendo una secuencia determinada.

Cmo crear desencadenadores DDL

Puede crear desencadenadores DDL mediante la instruccin CREATE TRIGGER.


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

Pg. 112 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

LA INSTRUCCIN CREATE TRIGGER


Al crear un desencadenador DDL, debe especificar el mbito y el tipo de operacin
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 clusula ON DATABASE o


mediante la clusula ON ALL SERVER en la definicin del desencadenador. El cuerpo
de un desencadenador DDL puede contener instrucciones Transact-SQL o puede
hacer referencia a un mtodo en un ensamblado de Microsoft .NET.

LA FUNCIN EVENTDATA
Los desencadenadores de Lenguaje de manipulacin de datos estndar (DML) crean
las tablas insertadas y eliminadas, permitiendo que el desarrollador examine los datos
que se estn cambiando y los nuevos valores que los modifican. Los
desencadenadores DDL no crean estas tablas. En su lugar, puede usar la funcin
eventdata para obtener informacin sobre los eventos que inician el desencadenador.

La funcin eventdata devuelve un documento XML EVENT_INSTANCE cuyo


contenido vara segn 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 113


Universidad Nacional de Ingeniera

<EventType>. El tipo de evento que activ el desencadenador, como CREATE_TABLE


o UPDATE_STATISTICS
El resto del documento XML contiene informacin que depende del comando que
activa el desencadenador. Por ejemplo, un desencadenador DDL devolvi el
documento siguiente mediante la activacin 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 INFORMACIN DE EVENTO


Use la funcionalidad XQuery del tipo de datos xml para extraer la informacin de
evento que devolvi el documento con la funcin eventdata. Por ejemplo, la muestra
de cdigo 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

Pg. 114 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Cmo administrar desencadenadores DDL

SQL Server 2014 ha ampliado la sintaxis de los comandos usados para administrar
desencadenadores con extensiones especficas 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 catlogo
sys.triggers, como se muestra en el ejemplo de cdigo siguiente:

SELECT name
FROM sys.triggers

Puede recuperar la definicin de un desencadenador mediante la consulta de la vista


de catlogo sys.sql_modules, como se muestra en el siguiente ejemplo de cdigo:

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 definicin de un desencadenador
DDL. La sintaxis para cambiar un desencadenador DDL es muy parecida a la
correccin de un desencadenador estndar. Puede:

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 115


Universidad Nacional de Ingeniera

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

Usar las notificaciones de eventos

Las notificaciones de eventos son una nueva caracterstica en SQL Server 2014 que
proporcionan un mecanismo muy escalable para supervisar la actividad de SQL
Server.
Son una herramienta til para registrar la actividad de la base de datos con un impacto
mnimo sobre el rendimiento de SQL Server.

QU SON LAS NOTIFICACIONES DE EVENTOS?


Las notificaciones de eventos, como los desencadenadores, pueden responder a
varios eventos de la base de datos. A diferencia de los desencadenadores, que
ejecutan el cdigo en el mismo motor de base de datos de SQL Server 2014 como el
evento que activ el desencadenador, las notificaciones de eventos se envan a un
servicio mediante Service Broker, lo que le permite enviar datos de eventos de varias
bases de datos y servidores a un servicio de control de eventos central.

Notificaciones de eventos
Una notificacin de eventos reacciona ante uno o ms eventos en la base de datos y
enva un mensaje a un servicio de Service Broker diseado para controlar los eventos.
Un evento de base de datos puede ser una operacin DDL en un objeto de base de
datos o un evento de traza parecido a aqullos que se pueden capturar mediante el
SQL Server Profiler.

Capturar eventos
Para capturar y procesar notificaciones de eventos, debe implementar un servicio de
Service Broker. Un servicio de Service Broker es un procedimiento almacenado o una
aplicacin generada mediante el marco Service Broker que supervisa una cola para
los mensajes entrantes. Un servicio de Broker Service se puede escribir usando
Transact-SQL o uno de los lenguajes de Common Language Runtime (CLR). Service
Broker enva mensajes al servicio, y usa una cola para conservar la informacin de
mensajes hasta que el servicio est listo para aceptarlos. El servicio tambin puede
usar una cola para mantener solicitudes hasta que pueda procesarlas.

Para simplificar el proceso de creacin de notificaciones de eventos, SQL Server 2014


incluye un tipo de mensaje predefinido y un contrato para las notificaciones de

Pg. 116 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

eventos. Los nicos objetos de Service Broker que necesita crear son una cola, un
servicio y una ruta.

CMO CREAR NOTIFICACIONES DE EVENTOS


Use la instruccin CREATE EVENT NOTIFICATION para crear un nuevo objeto de
notificacin de eventos y enviar la informacin del evento a un servicio de
procesamiento de eventos.

Usar la instruccin CREATE EVENT NOTIFICATION


Cuando use la instruccin CREATE EVENT NOTIFICATION, debe:
Definir la notificacin de eventos con un nombre que sea nico dentro de su mbito.
Especificar el mbito de la notificacin de eventos. El mbito puede ser SERVER,
DATABASE o QUEUE.
Especificar los eventos que desea capturar. Puede especificar un evento individual o
un grupo de eventos que contenga varios eventos relacionados.
Especifique el servicio de Service Broker al que se debera enviar la informacin del
evento. Debe especificar el nombre del servicio y la identificacin de instancia de
Service Broker exclusiva que identifica la base de datos en la que se implementa el
servicio. Para los servicios de la base de datos local, puede usar la cadena literal
'current database'.

Ejemplos
El cdigo de Transact-SQL siguiente muestra una instruccin CREATE EVENT
NOTIFICATION para una notificacin de eventos denominada CreateLoginEvent.
La notificacin de eventos tiene un mbito de servidor y enva informacin al servicio
NotifyService en la base de datos actual cada vez que se ejecuta el comando
CREATE LOGIN:
CREATE EVENT NOTIFICATION CreateLoginEvent
ON SERVER
FOR CREATE_LOGIN
TO SERVICE 'NotifyService', 'current database'

El ejemplo siguiente muestra una instruccin CREATE EVENT NOTIFICATION para


una notificacin de eventos denominada TableViewEvent con mbito de base de

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 117


Universidad Nacional de Ingeniera

datos que enva informacin al servicio EvtService cuando se ejecuta cualquier


operacin DDL en una tabla, vista, ndice, o estadsticas:

CREATE EVENT NOTIFICATION TableViewEvent


ON DATABASE
FOR DDL_TABLE_VIEW_EVENTS
TO SERVICE 'EvtService', '8140a771-3c4b-4479-8ac0-81008ab17984'

Tambin puede usar las notificaciones de eventos para capturar un evento de traza.
Por ejemplo, la notificacin de eventos siguiente intercepta el evento
SQL_BatchCompleted. (Los eventos de traza slo se pueden capturar en el nivel de
servidor).

CREATE EVENT NOTIFICATION TraceSQLBatches


ON SERVER
FOR SQL_BatchCompleted
TO SERVICE 'NotifyService', 'current database'

CMO PROCESAR NOTIFICACIONES DE EVENTOS


La manera ms simple de crear un servicio de Service Broker para controlar eventos
de SQL Server es usar un procedimiento almacenado que se active cuando aparezca
un mensaje en una cola, enviado por una notificacin de eventos.

Puede especificar qu procedimiento almacenado se ejecutar cuando crea la cola. El


cdigo siguiente muestra cmo especificar la ejecucin de un procedimiento
almacenado denominado EventProc cuando se recibe un mensaje en la cola
NotifyQueue:

CREATE QUEUE NotifyQueue


WITH ACTIVATION (
PROCEDURE_NAME = dbo.EventProc,
MAX_QUEUE_READERS = 5,
EXECUTE AS SELF)
GO

Pg. 118 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Recibir mensajes
El procedimiento almacenado de procesamiento de eventos debera recuperar primero
el mensaje de la cola mediante el comando RECEIVE y, a continuacin, almacenar la
informacin en variables. El comando WAITFOR se usa para suspender el
procesamiento hasta que se reciba un mensaje o hasta que hayan pasado dos
segundos.

Si no se recibe ningn mensaje, no es necesario efectuar ms acciones. En el ejemplo


siguiente se muestra cmo recibir mensajes de una cola denominada NotifyQueue:

DECLARE @messageTypeName NVARCHAR(256),


@messageBody XML
;WAITFOR(
RECEIVE TOP(1)
@messageTypeName = message_type_name,
@messageBody = message_body
FROM dbo.NotifyQueue;
), TIMEOUT 2000 ;
IF @@ROWCOUNT = 0
RETURN

Procesar mensajes
A los mensajes de la cola se les asigna un message_type_name que describe el tipo
de mensaje. Puede usarlo para identificar si el mensaje es una notificacin de eventos
o un mensaje de error de la notificacin de eventos.
Los mensajes tambin contienen una columna message_body que contiene la
informacin real del evento. Esta columna contiene un documento EVENT_INSTANCE
XML que incluye los mismos elementos que el documento generado por el
desencadenador DDL. Por ejemplo, una notificacin de eventos de tabla que activa un
comando ALTER TABLE gener el documento siguiente:

<EVENT_INSTANCE>
<SPID>58</SPID>
<EventType>ALTER_TABLE</EventType>
<ServerName>SQL2014PC</ServerName>
<LoginName>SQL2014PC\Administrator</LoginName>
<UserName>SQL2014PC\Administrator</UserName>
<DatabaseName>AdventureWorks</DatabaseName>
<SchemaName>dbo</SchemaName>
<ObjectName>T1</ObjectName>
<ObjectType>TABLE</ObjectType>
<TSQLCommand>
<SetOptions ANSI_NULLS="ON" ANSI_NULL_DEFAULT="ON"
ANSI_PADDING="ON" QUOTED_IDENTIFIER="ON"
ENCRYPTED="FALSE"/>
<CommandText>ALTER TABLE T1 ADD col13 int</CommandText>
</TSQLCommand>
</EVENT_INSTANCE>

Puede usar la funcionalidad XQuery del tipo de datos xml para recuperar la
informacin del evento como se muestra en el ejemplo siguiente:

DECLARE @cmd nvarchar(1000)


DECLARE @posttime nvarchar(24)
DECLARE @spid nvarchar(6)

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 119


Universidad Nacional de Ingeniera

DECLARE @loginname nvarchar(100)


DECLARE @hostname nvarchar(100)
SET @cmd = @messagebody.value
('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]'), 'nvarchar(1000)')
SET @posttime = @messagebody.value
('(/EVENT_INSTANCE/PostTime)[1]', 'nvarchar(24)')
SET @spid = @messagebody.value
('(/EVENT_INSTANCE/SPID)[1]', 'nvarchar(6)')
SET @loginname = @messagebody.value
('(/EVENT_INSTANCE/LoginName)[1]', 'nvarchar(100)')
SET @hostname = HOST_NAME()

INSERT INTO AuditLog(Command,PostTime,HostName,LoginName)


VALUES(@cmd, @posttime, @hostname, @loginname)
GO

CMO ADMINISTRAR NOTIFICACIONES DE EVENTOS


SQL Server 2014 proporciona nuevas instrucciones Transact-SQL para administrar
notificaciones de eventos. Estas instrucciones permiten ver, modificar y quitar
notificaciones de eventos.

Ver las notificaciones de eventos y colas


Puede obtener una lista de notificaciones de eventos mediante la consulta de la vista
de catlogo sys.event_notifications:
SELECT name
FROM sys.event_notifications

Puede ver una lista de colas, incluidas las usadas por las notificaciones de eventos,
mediante la consulta de la vista de catlogo sys.service_queues:

SELECT name
FROM sys.service_queues

Eliminar una notificacin de eventos


Use el comando DROP EVENT NOTIFICATION para eliminar permanentemente una
notificacin de eventos de la base de datos:

Pg. 120 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

DROP EVENT NOTIFICATION UpdateStats


ON SERVER

Nota
Las notificaciones de eventos dependen de la funcionalidad Service Broker de SQL
Server 2014. Para usar las notificaciones de eventos, debe habilitar Service Broker
mediante la habilitacin de la configuracin ENABLE_BROKER para la base de datos
en la que se encuentra su cdigo de notificacin de eventos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 121


Universidad Nacional de Ingeniera

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

Pg. 122 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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. Tambin 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


da 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 automatizacin
La automatizacin de la administracin y la supervisin de tareas permite al
administrador de bases de datos reducir la carga de trabajo asociada a realizar tareas
repetitivas y a la supervisin de SQL Server. Al usar trabajos y alertas, puede
configurar SQL Server para responder automticamente a los problemas que surjan e
incluso evitar que algunos de ellos aparezcan.

Ventajas de la automatizacin de la administracin de bases de datos


Las ventajas de la automatizacin de la administracin de bases de datos incluyen:
Reduccin 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 Reduccin del riesgo de que se pasen por alto tareas de mantenimiento


fundamentales.
o Reduccin del riesgo de errores humanos al realizar tareas de mantenimiento
de bases de datos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 123


Universidad Nacional de Ingeniera

La administracin proactiva de la base de datos a travs de alertas indica la accin


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 realizacin 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 automticamente 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
automticamente 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 perodo de tiempo especfico.
Ejecutar trabajos del Agente SQL Server que permiten realizar una gran
variedad de acciones.
Compactar los archivos de datos quitando las pginas de base de datos
vacas.
Realizar comprobaciones de coherencia internas de los datos y pginas de
datos dentro de la base de datos para asegurarse de que un problema en el
sistema o de software no haya daado los datos.
Reorganizar los datos en las pginas de datos y de ndice volviendo a generar
los ndices.

Pg. 124 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Actualizar las estadsticas del ndice para asegurarse de que el optimizador de


consultas tiene informacin actualizada sobre la distribucin 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
Administracin, haga clic con el botn secundario en Planes de mantenimiento y, a
continuacin, 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
automatizacin 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 ms complejas con ms flexibilidad
que usando exclusivamente el Asistente para planes de mantenimiento.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 125


Universidad Nacional de Ingeniera

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. Debera configurar el servicio Agente SQL Server para que se inicie
automticamente cada vez que Windows Server 2003 o Windows 2014 se inician.
Adems, puede configurar el servicio Agente SQL Server para que se reinicie
automticamente si se detiene inesperadamente mediante el Administrador de
configuracin de SQL Server. Para que se reinicie automticamente, 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.

Configuracin 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 automticamente 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 configuracin de inicio del servicio Agente SQL Server usando el
Administrador de configuracin de SQL Server o la herramienta administrativa de los
servicios de Windows. Si piensa implementar trabajos y alertas automatizados, por lo
general debera establecer que el servicio Agente SQL Server se iniciara

Pg. 126 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

automticamente al arrancar Windows, a menos que haya una buena razn 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. Slo se ofrece la posibilidad de usar esta cuenta para la
compatibilidad con versiones anteriores y no debera 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 sesin 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 mayora de los casos, debera 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 mnimos que la cuenta de servicio necesite. El servicio Agente
SQL Server requiere el derecho de usuario iniciar sesin como un servicio. Adems,
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 comprobacin de recorrido
Reemplazar un testigo de nivel de proceso
Ajustar las cuotas de memoria para un proceso
Iniciar sesin como trabajo por lotes

Si los derechos de usuario que se han descrito anteriormente no se conceden, slo los
miembros de la funcin fija de servidor sysadmin pueden crear trabajos.

Finalmente, la cuenta de servicio Agente SQL Server usa la autenticacin de Windows


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

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 127


Universidad Nacional de Ingeniera

DEPENDENCIAS DEL SERVICIO AGENTE SQL SERVER


El servicio Agente SQL Server depende del servicio de SQL Server para la instancia a
la que pertenece. Adems, algunas operaciones realizadas por el Agente SQL Server
podran 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 y operadores

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 lnea de
comandos, secuencias de comandos de ActiveX, paquetes de Integration Services,
comandos y consultas de Analysis Services o tareas de rplica. Los trabajos pueden
ejecutar tareas repetitivas o que se pueden programar. Adems, pueden notificar
automticamente a los usuarios conocidos, como operadores, acerca del estado del
trabajo mediante la generacin de alertas, con lo que se simplifica en gran medida la
administracin de SQL Server.

Puede ejecutar manualmente un trabajo o puede configurarlo para que se ejecute


segn una programacin 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 definicin 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.

Pg. 128 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Al definir los trabajos, debe hacer lo siguiente:


Asegrese 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 todava puede ejecutar
manualmente un trabajo deshabilitado si lo inicia en el Administrador
corporativo de SQL Server.
Especifique el propietario responsable de la realizacin del trabajo. De forma
predeterminada, el propietario es la cuenta de inicio de sesin 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 categoras de trabajo que le sirvan para organizar, filtrar y administrar
muchos trabajos.

Por ejemplo, puede crear categoras de trabajo que se correspondan con los
departamentos en su organizacin.

Qu es un operador?

Los operadores son los alias para personas o grupos que pueden recibir notificacin
electrnica cuando los trabajos hayan finalizado o se hayan emitido las alertas.

Los operadores deberan definirse antes que las alertas. Cuando un trabajo finaliza, o
si cualquiera de los pasos del trabajo falla, puede notificar a un operador mediante un
localizador, correo electrnico o un comando net send.

DIRECTRICES PARA LA CREACIN DE OPERADORES


Puede usar SQL Server Management Studio o ejecutar el procedimiento almacenado
del sistema sp_add_operator para definir un nuevo operador. La definicin del
operador se almacena en la tabla del sistema sysoperators en la base de datos msdb.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 129


Universidad Nacional de Ingeniera

Al crear operadores, deber hacer lo siguiente:


Use un alias de grupo de correos electrnicos para notificar a ms de una
persona para que respondan a problemas potenciales.
Pruebe cada mtodo de notificacin que se use para notificar al operador a fin
de garantizar que el operador puede recibir los mensajes.
Especifique un programa de trabajo para cada operador al que se va a notificar
mediante su localizador. Si un trabajo que est definido para que se notifique a
un operador mediante un localizador est en conflicto con el programa de
trabajo del operador, se producir un error en la notificacin.

DEFINIR UN OPERADOR A PRUEBA DE ERRORES


Puede definir un operador a prueba de errores para que responda a una alerta cuando
las notificaciones mediante localizador enviadas a los operadores definidos fallen. Por
ejemplo, si todos los operadores no estn disponibles cuando se activa una alerta, se
pondr en contacto con el operador a prueba de errores.
Se notificar a un operador a prueba de errores cuando se cumplan las siguientes
condiciones:
La alerta tiene definidas notificaciones del localizador para la respuesta.
Ninguno de los operadores a los que se va a avisar mediante un localizador
est de servicio.
Se ha definido un operador a prueba de errores.

Al asignar un operador a prueba de errores, tenga en cuenta lo siguiente:


La informacin del operador a prueba de errores se almacena en la memoria
cach de manera que no dependa de la conexin con la base de datos msdb.
Slo puede haber un operador a prueba de errores.
No puede eliminar un operador designado como operador a prueba de errores.
Sin embargo, puede quitar la asignacin de operador a prueba de errores y, a
continuacin, eliminar al operador.

Cmo 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 rplica de SQL
Server. Sin embargo, slo se puede especificar un tipo de ejecucin para cada paso
de trabajo.

Pg. 130 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera 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 parmetros 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 solucin de problemas para
capturar cualquier mensaje de error que puede haber aparecido mientras la
instruccin 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 aplicacin o comando del sistema
operativo (identificado mediante las extensiones de nombre de archivo .exe, .bat, .cmd
o .com), deber hacer lo siguiente:
Identificar un cdigo de salida de proceso para indicar que el comando se
ejecut correctamente.
Incluir la ruta de acceso completa a la aplicacin ejecutable. La ruta de acceso
es necesaria para ayudar al Agente SQL Server a encontrar el origen de la
aplicacin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 131


Universidad Nacional de Ingeniera

DEFINIR LOS PASOS DE TRABAJO DE SECUENCIAS DE COMANDOS DE ACTIVEX


Puede escribir los pasos de trabajo usando las secuencias de comandos de ActiveX
con lenguajes como Microsoft Visual Basic Scripting Edition (VBScript) o Microsoft
JScript. Tambin puede usar otros lenguajes si se instala la biblioteca
correspondiente al lenguaje de secuencia de comandos.
Al crear un paso de trabajo de secuencias de comandos de ActiveX, deber realizar lo
siguiente:
Identificar el lenguaje de secuencia de comandos con el que se escribe el paso
de trabajo.
Escribir o abrir la secuencia de comandos activa. Puede usar el objeto
SQLActiveScriptHost para imprimir el resultado en el historial del paso de
trabajo o para crear objetos.

Lgica de flujo de los pasos de trabajo


Al crear los trabajos, un administrador de bases de datos debera especificar las
medidas que SQL Server debera tomar si un paso de trabajo se realiza correctamente
o si se produce un error. De forma predeterminada, SQL Server avanza al paso de
trabajo siguiente si se realiza correctamente y se detiene si se produce un error.
Sin embargo, los pasos de trabajo pueden ir a cualquier paso definido en el trabajo
tanto si es correcto como si se produce un error.
Puede especificar el nmero de veces que SQL Server debera intentar la ejecucin de
un paso de trabajo si se produce un error en l. Tambin puede especificar el intervalo
entre cada reintento (en minutos).
Por ejemplo, si el paso de trabajo requiere una conexin a un servidor remoto, podra
definir varios intentos en caso de producirse un error en la conexin.
Adems, si define un trabajo para que slo se ejecute una vez, puede especificar que
se elimine el trabajo cuando finalice.

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 nmero de trabajos mostrados.

Tambin puede ordenar la informacin del trabajo haciendo clic en un encabezado de


columna en la cuadrcula Actividad de trabajo del agente. Por ejemplo, al seleccionar
el encabezado de la columna ltima ejecucin, 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 segn su
ltima fecha de ejecucin.

Pg. 132 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CUNDO USAR EL MONITOR DE ACTIVIDAD DE TRABAJO


Use el Monitor de actividad de trabajo cuando desee determinar cules son los
trabajos programados para ejecutarse, el ltimo resultado de los trabajos que se han
ejecutado durante la sesin actual y cules se estn ejecutando o estn inactivos. Si
se produce un error inesperado en el servicio Agente SQL Server, podr determinar
los trabajos que se estaban ejecutando examinando la sesin 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 informacin en la cuadrcula Actividad de trabajo del
agente o establecer un intervalo de actualizacin automtica haciendo clic en
Ver configuracin de actualizacin.

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


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

Tambin puede ver la actividad del trabajo para la sesin actual mediante el
procedimiento almacenado sp_help_jobactivity.

Crear alertas

Las alertas son respuestas predefinidas a eventos concretos que pueden producirse
en una solucin SQL Server. Puede definir alertas para realizar un trabajo o notificar a
un operador cuando se produce un evento determinado o se excede un umbral de
rendimiento.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 133


Universidad Nacional de Ingeniera

SQL Server genera eventos y se anotan en el registro de aplicacin de Windows. El


Agente SQL Server lee el registro de aplicacin y compara los eventos anotados con
las alertas que ha definido. Cuando el Agente SQL Server encuentra una coincidencia,
emite una alerta, es decir, una respuesta automatizada a un evento. Adems de
supervisar los eventos de SQL Server, el Agente SQL Server tambin puede
supervisar las condiciones de rendimiento y los eventos del Instrumental de
administracin de Windows (WMI, Windows Management Instrumentation).

DEFINIR ALERTAS PARA ERRORES DE SQL SERVER


Al crear una alerta para que emita una respuesta cuando se produzca un error de SQL
Server, podr especificar un nmero de error nico (p. ej., el 9002) o todos los errores
de un nivel de gravedad concreto (p. ej., el 17). Puede definir una alerta en un nmero
de error o nivel de gravedad para todas las bases de datos o para una base de datos
concreta.

Nota Para un evento determinado se emitir a lo sumo una alerta. El Agente SQL
Server emitir la alerta ms especfica que se haya definido. Por ejemplo, si tiene una
alerta definida con errores de un nivel de gravedad 17 y adems tiene una alerta
definida en el error 9002 (que tambin pertenece al nivel de gravedad 17), se emitir el
error 9002.

DEFINIR ALERTAS PARA CONDICIONES DE RENDIMIENTO


Adems de usar alertas para responder a los errores de SQL Server, puede usarlas
para responder a condiciones de rendimiento de SQL Server como aqullas que se
pueden ver en el Monitor de sistema de Windows. Cuando se excede el valor de la
condicin, se emite una alerta.

Por ejemplo, puede crear una alerta de condicin de rendimiento que se desencadene
cuando el registro de transacciones en la base de datos AdventureWorks haya
excedido el 75 por ciento de su capacidad. La respuesta de la alerta podra ejecutar un

Pg. 134 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

trabajo para realizar una copia de seguridad del registro de transacciones y notificar al
administrador de la base de datos.

CMO SE CREA UNA ALERTA


Puede crear una alerta mediante SQL Server Management Studio o mediante el
procedimiento almacenado de Transact-SQL sp_add_alert.
Para crear una alerta, tiene que especificar lo siguiente:
El nombre de la alerta.
El evento o condicin de rendimiento que desencadena la alerta.
Las medidas que el Agente SQL Server toma como respuesta al evento o
condicin de rendimiento.

El tipo de evento determina los parmetros que usa para especificar el evento en
concreto.

Especificar un operador
Las medidas que toma el Agente SQL Server como respuesta al evento o condicin de
rendimiento pueden incluir ponerse en contacto con el operador. Para ello, debe
especificar la informacin de contacto de ese operador y definir cmo se le notificar.
Se puede notificar al operador por correo electrnico, localizador, o mediante el
comando net send.

Ejecutar un trabajo
Las medidas que el Agente SQL Server toma como respuesta al evento o condicin de
rendimiento pueden incluir la ejecucin de un trabajo. Para que una alerta inicie un
trabajo, debe especificar el nombre del trabajo en la pgina de respuesta de la alerta.
Puede usar un trabajo existente o crear uno nuevo cuando defina la alerta.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 135


Universidad Nacional de Ingeniera

CAPITULO 8
Implementando un DataBase Mirroring
Replicacin de una BD.
Examen Final.

Pg. 136 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

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 creacin de reflejo de la base de datos es una solucin de alta disponibilidad


alternativa al clster de conmutacin por error en SQL Server 2014 Enterprise Edition.
La creacin de reflejo de la base de datos admite la conmutacin por error automtica,
pero no requiere un hardware compatible con los clsteres. Por tanto, puede
proporcionar una alternativa rentable al clster de conmutacin por error.

Importante
Las directivas de soporte tcnico de Microsoft no se aplican a la funcin de creacin de
reflejo de la base de datos en SQL Server 2014. La creacin 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 parmetro de
inicio. Para obtener ms informacin acerca de las marcas de traza, consulte Marcas
de traza (Transact-SQL) en los Libros en pantalla de SQL Server. La creacin de
reflejo de la base de datos no se debera usar en entornos de produccin. Los servicios
de soporte tcnico de Microsoft no admiten bases de datos ni aplicaciones que usen la
creacin de reflejo de la base de datos. La documentacin sobre la creacin de reflejo
de la base de datos se incluye en SQL Server 2014 slo como evaluacin. La directiva
de documentacin para soporte tcnico y actualizacin de SQL Server

Qu son los reflejos de base de datos?


La creacin de reflejo de la base de datos ofrece una solucin de alta disponibilidad
alternativa al clster de conmutacin por error. La creacin de reflejo de la base de
datos se puede implementar con hardware estndar. Toda la administracin tendr
lugar en su totalidad en SQL Server.
En una solucin de creacin 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.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 137


Universidad Nacional de Ingeniera

Funciones de servidor en la creacin de reflejo de la base de


datos

La creacin de reflejo de la base de datos requiere varias instancias de SQL Server,


que se deberan instalar en equipos independientes para proporcionar proteccin
frente a los errores del servidor. Las funciones del servidor en una solucin de
creacin 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 reenva 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 solucin de


creacin 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 participacin en la sesin de reflejo (denominada qurum). Si uno de
los servidores pierde el qurum, el servidor testigo asigna la funcin de servidor
principal, con lo que se produce la conmutacin por error automtica del servidor
principal al reflejado si fuera necesario. Los servidores testigo son necesarios para la
conmutacin por error automtica; sin embargo, un servidor testigo puede admitir
varias sesiones de reflejo porque no se trata de una tarea intensiva.

Redireccionamiento de clientes en una solucin de creacin de


reflejo de la base de datos

Cuando una sesin de creacin 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
redireccin automtica de clientes y pueden controlar de forma transparente la
conmutacin por error al servidor reflejado. Las aplicaciones cliente que usen otras
tecnologas de acceso de datos deben adaptarse para redirigir las solicitudes al
servidor reflejado en el caso de conmutacin por error.

Pg. 138 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CUNDO USAR LA CREACIN DE REFLEJO DE LA BASE DE DATOS


La creacin 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 clsteres.
Cuando necesita una carga de trabajo administrativa inferior a la asociada con
el clster de conmutacin por error.

OPCIONES PARA LA CONFIGURACIN DE LA CREACIN DE REFLEJOS DE LA


BASE DE DATOS

Hay tres modos de creacin de reflejo de la base de datos. El nivel de rendimiento y


proteccin difieren entre los modos, por lo que deber tenerse cuidado a la hora de
proporcionar la solucin adecuada para el sistema.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 139


Universidad Nacional de Ingeniera

MODO DE ALTA DISPONIBILIDAD


En el modo de alta disponibilidad, se establece la seguridad de la transaccin 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
transaccin, el servidor reflejado tambin lo hace. El servidor principal slo emite una
confirmacin una vez que el servidor reflejado ha enviado la confirmacin de que ha
almacenado la transaccin en el disco.

El modo de alta disponibilidad usa un servidor testigo. Debera colocarse en un tercer


servidor (no en el principal ni en el reflejado) para ofrecer redundancia. El modo de alta
disponibilidad permite la conmutacin por error automtica 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 conmutacin por error automtica en el reflejado. Si se
produce un error en el servidor reflejado, la base de datos sigue con conexin mientras
se mantenga el qurum entre los servidores principales y testigo.

MODO DE ALTA PROTECCIN


En el modo de alta proteccin, la seguridad de la transaccin 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 proteccin no usa un
servidor testigo.
Si se produce un error en el servidor principal en el modo de alta proteccin, habr una
copia completa de los datos en el servidor reflejado, pero deber realizar manualmente
la conmutacin por error. Si se produce un error en el servidor reflejado, el principal se
desconecta por s mismo para evitar el riesgo de prdida de datos.

MODO DE ALTO RENDIMIENTO


En el modo de alto rendimiento, la seguridad de la transaccin se desactiva y las
transacciones se aplican de forma asncrona. 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 creacin 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 creacin 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 creacin de reflejo.
Cada instancia necesita un extremo dedicado.

Pg. 140 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

CREAR EXTREMOS DE REFLEJO


La instruccin CREATE ENDPOINT genera extremos para la creacin de reflejo de la
base de datos.
Puede usar tanto la autenticacin de Windows como la autenticacin basada en
certificados como el modo de autenticacin de los extremos. La sintaxis para crear los
extremos se muestra en la siguiente muestra de cdigo 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 }
)

Parmetros
Los parmetros de la instruccin CREATE ENDPOINT para la creacin de reflejo de la
base de datos se describen en la lista siguiente.
<endpointName>. Nombre nico para el extremo de la creacin 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 creacin de reflejo de la base de
datos en el estado STARTED. De manera alternativa, puede iniciar una sesin en el
estado predeterminado detenido (STOPPED) o en el deshabilitado (DISABLED).

<listenerPortList>. Lista de uno o varios nmeros de puerto en los que desea que el
servidor realice escuchas de mensajes de creacin de reflejo de la base de datos.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 141


Universidad Nacional de Ingeniera

Debe especificar TCP, ya que si especifica cualquier otro protocolo se produce un


error.

AUTHENTICATION. Especifica el modo de autenticacin para el extremo. En el caso


de la autenticacin de Windows, no es necesario especificar la opcin de autenticacin
(AUTHENTICATION) a menos que desee que el extremo use slo NTLM o Kerberos
para autenticar las conexiones. <authorizationMethod> especifica el mtodo usado
para autenticar las conexiones como una de las siguientes: NTLM, KERBEROS o
NEGOTIATE. El mtodo predeterminado, NEGOTIATE, hace que el extremo use el
protocolo de negociacin de Windows para elegir NTLM o Kerberos.

Para la autenticacin basada en certificados, debe especificar un certificado existente.

ENCRYPTION. Especifica si se deberan cifrar las conexiones con el extremo, adems


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 funcin o funciones que el servidor puede realizar. Es necesario


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

CMO PREPARAR LOS SERVIDORES PARA LA CREACIN DE REFLEJOS DE LA


BASE DE DATOS

Hay varios pasos que realizar antes de activar la creacin de reflejo de la base de
datos.

Tareas de preparacin de creacin de reflejo de la base de datos


Antes de poder establecer una sesin de creacin de reflejo de la base de datos, debe
realizar las tareas de preparacin descritas en la lista siguiente:

Crear extremos de reflejo e inicios de sesin. Debe crear extremos y un inicio


de sesin 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 recuperacin. Debe establecer el modelo de
recuperacin 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
especificacin de NORECOVERY y el uso del mismo nombre como la base de
datos principal.

Pg. 142 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

De manera alternativa, podra usar una copia de seguridad completa reciente. Si es el


caso, debera restaurar cualquier copia de seguridad del registro desde la copia de
seguridad completa y realizar una copia de seguridad y una restauracin del registro
de transacciones para asegurarse de que los datos estn al da.

Copiar recursos de nivel de servidor. Debera copiar manualmente cualquier recurso


de nivel de servidor, como inicios de sesin o trabajos del Agente SQL, que seran
necesarios en el caso de conmutacin por error a la instancia reflejada.

Cmo establecer una sesin de reflejo


Despus de haber preparado los servidores, puede establecer una sesin de reflejo.
Necesita configurar los servidores reflejados y principales para hacer referencia los
unos a los otros con objeto de crear una sesin de reflejo en el modo de alta
proteccin. Podr cambiar a continuacin el modo de sesin de reflejo segn sea
necesario agregando un servidor testigo para habilitar el modo de alta disponibilidad o
deshabilitando la seguridad de la transaccin para activar el modo de alto rendimiento.

Establecer una sesin de reflejo


Es posible establecer una sesin de reflejo con el asistente en el cuadro de dilogo
Propiedades de la base de datos en el Explorador de objetos mediante la instruccin
ALTER DATABASE.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 143


Universidad Nacional de Ingeniera

Use el proceso siguiente para establecer una sesin de reflejo:

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

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 cdigo:
ALTER DATABASE AdventureWorks
SET PARTNER = 'TCP://DBSERVER1.COMPANYINFO.MIEMPRESA.COM: 5023'

3. Si fuera necesario, cambie el modo de sesin de reflejo de proteccin 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 cdigo:

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 cdigo:

ALTER DATABASE AdventureWorks SET PARTNER SAFETY OFF

Cmo tratar la conmutacin por error

La conmutacin por error puede ser automtica o manual. Es posible usar la


conmutacin por error manual aun cuando la conmutacin por error automtica est
disponible si necesita dejar sin conexin a un servidor para realizar tareas de
mantenimiento.

Pg. 144 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

El modo de alta disponibilidad puede usar la conmutacin por error automtica o


manual. El modo de alta proteccin puede usar la conmutacin por error manual o el
servicio forzado (con posible prdida de datos). El modo de alto rendimiento puede
usar el servicio forzado (con posible prdida de datos).

Conmutacin por error automtica


Si se produce un error en el servidor principal en el modo de alta disponibilidad, la
conmutacin por error ser automtica. Cuando el servidor principal est sin conexin,
el reflejado y el testigo formarn un qurum y harn que el reflejado sea ahora el
principal. Si el servidor principal original vuelve a conectarse, pasar a ser el reflejado.

Conmutacin por error manual


Si se produce un error en el servidor principal en el modo de alta proteccin, debe
iniciar la conmutacin por error manual realizando los pasos siguientes en el servidor
principal:
Conecte con la instancia del servidor principal y, en el panel Explorador de
objetos, haga clic en el nombre del servidor para expandir el rbol de
servidores.
Expanda Bases de datos y, a continuacin, seleccione la base de datos para la
que se va a crear el reflejo.
Haga clic con el botn secundario en la base de datos y, a continuacin, haga
clic en Propiedades; se abrir el cuadro de dilogo Propiedades de la base de
datos.
En el panel Seleccionar una pgina, haga clic en Creacin de reflejo.
Haga clic en Conmutacin por error.

De manera alternativa puede iniciar la conmutacin por error manual usando Transact-
SQL en el servidor principal, tal y como se muestra en la siguiente muestra de cdigo:

ALTER DATABASE AWData SET PARTNER FAILOVER

Servicio forzado (con posible prdida de datos)


Si se produce un error en el servidor principal en el modo de alto rendimiento, puede
forzar el servicio en el servidor reflejado, con posible prdida de datos, usando la
instruccin ALTER DATABASE con el parmetro
FORCE_SERVICE_ALLOW_DATA_LOSS, tal y como se muestra en la siguiente
muestra de cdigo:
ALTER DATABASE AWData SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

Qu es el trasvase de registros?

El trasvase de registros es una tcnica de alta disponibilidad en la que el registro de


transacciones del servidor primario se restaura peridicamente en un servidor de
reserva. Puede programar las copias de seguridad del registro para que se produzcan
con una frecuencia que se adapte a los requisitos de disponibilidad y rendimiento.

Adems de proporcionar redundancia, el servidor de reserva se puede usar para


consultas de slo lectura y de esta forma aliviar parte de la carga del servidor primario.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 145


Universidad Nacional de Ingeniera

En el caso de que se produzca un error en el servidor primario, la conmutacin por


error automtica no tendr lugar. Debe promover manualmente el servidor de reserva
y reconfigurar todos los clientes para que se conecten a l. Si es necesaria una
solucin ms automatizada, debera considerar la creacin de reflejo de la base de
datos o el clster de servidores.

De manera opcional, puede crear un servidor de supervisin. El servidor de


supervisin registra cualquier problema con el trasvase de registros adems de
enumerar las ltimas operaciones de copia de seguridad y restauracin. Los
servidores de supervisin deberan separarse de los servidores primarios y de reserva
en caso de error en los servidores.

CMO IMPLEMENTAR EL TRASVASE DE REGISTROS


Puede configurar el trasvase de registros mediante SQL Server Management Studio o
usando Transact-SQL.

Antes de configurar el trasvase de registros, sin embargo, deber realizar las


siguientes tareas:
Cree un recurso compartido de archivos para las copias de seguridad del registro de
transacciones, preferiblemente en un servidor tolerante a errores que no forma parte

Pg. 146 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

de la configuracin del trasvase de registros. Para maximizar la disponibilidad del


servidor primario, Microsoft recomienda que coloque el recurso compartido de copia de
seguridad en un equipo host independiente.
Cree una carpeta para cada servidor secundario en el que el trasvase de registros
copiar los archivos de copia de seguridad del registro de transacciones. Estas
carpetas se colocan normalmente en los servidores secundarios.

Transact-SQL
Use los siguientes procedimientos almacenados para configurar el trasvase de
registros:
sp_add_log_shipping_primary_database
sp_add_jobschedule
sp_add_log_shipping_alert_job
sp_add_log_shipping_secondary_primary
sp_add_log_shipping_secondary_database
sp_add_log_shipping_primary_secondary

CMO CAMBIAR FUNCIONES DE SERVIDOR


El cambio de funciones convierte el servidor de reserva en servidor primario. Necesita
realizar un cambio de funciones si el servidor primario se queda inesperadamente sin
conexin o si necesita que el servidor primario est sin conexin para realizar tareas
de mantenimiento.

La primera vez que cambia las funciones, necesitar configurar el trasvase de


registros en la base de datos secundaria. Esto no es necesario para los cambios de
funciones siguientes, por lo que ser ms fcil cambiar y volver al estado previo.

Cambiar funciones
Realice los pasos siguientes para cambiar las funciones o para que el servidor de
reserva pase a ser el servidor primario:

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 147


Universidad Nacional de Ingeniera

1. Copie cualquier copia de seguridad del registro de transacciones del recurso


compartido de copia de seguridad en la carpeta de destino y restaure stas y otras
copias de seguridad de la carpeta en el servidor de reserva.

2. Realice una copia de seguridad del registro con NORECOVERY si el servidor


primario est disponible, tal y como se muestra en el siguiente cdigo de Transact-
SQL:
BACKUP LOG AdventureWorks TO AWLogBackup
WITH NORECOVERY

3. Restaure la copia de seguridad del paso anterior en el servidor de reserva con la


instruccin RECOVERY, tal y como se muestra en el siguiente cdigo de Transact-
SQL:
RESTORE LOG AdventureWorks FROM AWLogBackup
WITH RECOVERY

De manera alternativa, si no hay disponible ninguna copia de seguridad, lleve a cabo


una restauracin con RECOVERY sin especificar un archivo de copia de seguridad, tal
y como se muestra en el siguiente cdigo de Transact-SQL:

RESTORE LOG AdventureWorks


WITH RECOVERY

4. Deshabilite los trabajos de trasvase de registros en el servidor primario original y


deshabilite la copia y restaure los trabajos en el servidor secundario original.

5. Si es la primera vez que se han cambiado las funciones del servidor, tendr que
configurar el trasvase de registros en la base de datos secundaria. Debera tratarla
ahora como una base de datos primaria. Use el mismo recurso compartido para crear
copias de seguridad que ya cre para el servidor primario original. Al agregar la base
de datos secundaria, en el cuadro de dilogo Configuracin de base de
datos secundaria, escriba el nombre de la base de datos primaria original en el cuadro
Base de datos secundaria y, a continuacin, seleccione No, la base de datos
secundaria est inicializada.

Introduccin a la rplica

Qu es la rplica?

La rplica es el mecanismo para crear y mantener varias copias de los mismos datos.
Los datos se distribuyen de forma flexible, lo que da ms autonoma a los sitios y
garantiza que las actualizaciones se replican en un perodo de tiempo aceptable. SQL
Server 2014 tiene varios mtodos de rplica disponibles, lo que permite su uso en
distintos escenarios.

Pg. 148 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

VENTAJAS DE LA RPLICA
La rplica ofrece varias ventajas al sistema de base de datos:
Acerca los datos a usuarios alejados geogrficamente.
Permite que los sitios autnomos no tengan que estar conectados
continuamente.
Permite mantener copias independientes de los datos del Procesamiento de
transacciones en lnea (OLTP) y del Sistema de ayuda a la toma de decisiones
(DSS).

Por su naturaleza, OLTP y DSS generarn 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 rplica


En la rplica de SQL Server 2014, una instancia puede ser un publicador, distribuidor,
suscriptor o la combinacin de los tres. La combinacin y ubicacin concretas de
publicadores, distribuidores y suscriptores se denomina topologa de rplica.
Por ejemplo, puede haber un publicador usando un distribuidor independiente y
replicando los datos a dos suscriptores, tal y como se muestra en la ilustracin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 149


Universidad Nacional de Ingeniera

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

Funcin del publicador


El publicador tiene la copia original de los datos y la pone a disposicin de los
suscriptores. Los datos se envan al distribuidor, que los remite a continuacin a los
suscriptores.

Funcin del distribuidor


El distribuidor almacena informacin de estado de la rplica, metadatos de la
publicacin y, en algunos casos, datos cuando viajan entre el publicador y los
suscriptores. Un publicador tambin 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.

Funcin del suscriptor


Un suscriptor contiene una copia de la rplica 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 mezclarn ms tarde.

TIPOS DE RPLICA
Los distintos sistemas tendrn requisitos diferentes (y con frecuencia en conflicto los
unos con los otros) para la rplica. SQL Server proporciona tres mtodos de rplica,
aunque cada uno proporciona un conjunto diferente de ventajas y tiene distintas

Pg. 150 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

configuraciones opcionales. Es importante que considere los puntos mostrados en


esta seccin y elija el mtodo adecuado para su sistema.

Todos los mtodos de rplica le permiten especificar la frecuencia de sincronizacin.

Rplica de instantneas
La rplica de instantneas enva todos los datos de una publicacin cada vez que sta
se sincroniza. De esta forma se elimina la necesidad de supervisar las modificaciones
de datos, aunque podra producir un aumento del volumen de datos que se estn
replicando.
Se replicarn todos los datos aun cuando no se haya modificado ninguno.
Normalmente, la rplica de instantneas se usa en escenarios en los que una gran
cantidad de datos cambia entre cada sincronizacin. Con la rplica de instantneas,
los suscriptores pueden actualizar los datos en el publicador. La actualizacin puede
ocurrir inmediatamente o ponerse en cola hasta que se produzca la siguiente
sincronizacin.

Rplica transaccional
La rplica transaccional slo enva modificaciones de los datos cuando tiene lugar la
sincronizacin. Esto puede reducir el volumen de los datos que se estn replicando,
sobre todo si el nmero de modificaciones de datos es bajo o si la rplica es frecuente.
Debido a la disminucin de volmenes de datos, se puede usar la rplica transaccional
cuando sean necesarias actualizaciones frecuentes.
La rplica transaccional se inicia normalmente con una rplica de instantneas de los
objetos y datos para proporcionar una lnea de base. A continuacin, se enviarn
partes del registro de transacciones a los suscriptores cuando se produzca la rplica.
Con la rplica transaccional estndar, los suscriptores pueden actualizar datos en el
publicador. La actualizacin puede ocurrir inmediatamente o ponerse en cola hasta
que se produzca la siguiente sincronizacin.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 151


Universidad Nacional de Ingeniera

La rplica transaccional punto a punto tambin est disponible. En este mtodo, cada
nodo es a la vez publicador y suscriptor de los mismos datos. No hay ninguna
jerarqua de publicadores y suscriptores. Utilice este mtodo 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 debera usar la rplica
de mezcla.

Rplica de mezcla
La rplica de mezcla permite las modificaciones tanto en el publicador como en los
suscriptores. Cuando se produce la sincronizacin, se mezclarn las modificaciones
en el publicador y en el suscriptor.

En otras formas de rplica, todas las modificaciones aparecen en el publicador, con lo


que se evitan conflictos pero se reduce la autonoma. En la rplica de mezcla, pueden
producirse conflictos y ser necesario resolverlos. La solucin de conflictos puede ser
controlada automticamente dando prioridad a los distintos suscriptores o usando una
resolucin basada en Modelo de objetos componentes (COM). Puede escribir su
propia resolucin basada en COM o usar una estndar incluida con SQL Server. Los
conflictos tambin se pueden resolver interactivamente durante la sincronizacin
mediante el componente de resolucin interactiva de Microsoft. Este componente est
disponible a travs del Administrador de sincronizacin de Microsoft Windows.

La rplica de mezcla se inicia normalmente con una rplica de instantneas de los


objetos y datos para proporcionar una lnea de base. Las modificaciones subsiguientes
se mezclan cuando la rplica tiene lugar.

Rplica heterognea
Puede replicar los datos de SQL Server en otros productos de bases de datos, como
IBM DB2, Oracle y Sybase. SQL Server tambin puede actuar como suscriptor de la
versin 8 o posterior de Oracle. Despus podr generar y mantener la suscripcin con
un conocimiento mnimo de este programa. Se pueden usar rplicas de instantneas y
transaccionales si se suscribe a una base de datos de Oracle.

Qu son artculos, publicaciones y suscripciones?

Los datos de rplica se organizan en artculos y publicaciones. Las publicaciones


contienen uno o varios artculos y son las unidades de suscripcin y sincronizacin de
los datos. Los suscriptores pueden recibir suscripciones o suscribirse por s mismos.
Los agentes de rplica administran todo el proceso de rplica, incluido el movimiento
de los datos entre publicadores y suscriptores.

Pg. 152 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Artculos
Un artculo puede ser toda una tabla u objeto de base de datos, o slo una parte. Se
puede filtrar horizontalmente, restringiendo las filas que contiene, o verticalmente,
restringiendo las columnas que tiene.

Publicaciones
Una publicacin puede contener uno o varios artculos. Slo puede tener artculos de
la misma base de datos, aunque puede haber muchas publicaciones en una base de
datos. Es tanto la unidad de suscripcin como la unidad de rplica.

Suscripciones
Una suscripcin se crea en relacin con una publicacin; no se puede crear
directamente en relacin con un artculo. Puede crear suscripciones de insercin o de
extraccin. Las suscripciones de insercin se crean en el publicador y se pueden crear
al mismo tiempo que la publicacin en muchos suscriptores. Dado que las
suscripciones se crean de manera centralizada, este mtodo es ms seguro pero es
necesario que los suscriptores se conecten cuando la rplica tiene lugar.

Las suscripciones de extraccin 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 annimas. Por lo general, este
sistema es menos seguro, pero permite al suscriptor controlar cundo se reciben las
actualizaciones, hacindolo ms adecuado para aquellos sitios que se conectan con
poca frecuencia. Puede tener una suscripcin de extraccin en una publicacin y una
de insercin en otra.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 153


Universidad Nacional de Ingeniera

Agentes de rplica
Los agentes de rplica controlan todo el proceso de rplica. Estos agentes se
configuran cuando se define la solucin de rplica. Al implementar la rplica, debe
especificar en qu instancias de SQL Server se ejecutarn los agentes de rplica.
SQL Server 2014 proporciona los siguientes agentes de rplica:

Agente SQL Server


Agente de instantneas
Agente de registro del LOG
Agente de lectura de cola
Agente de distribucin
Agente de mezcla

Escenarios de rplica

Escenarios de rplica de servidor a servidor

Hay muchas situaciones en las que la rplica de servidor a servidor ser beneficiosa
para una organizacin. En este tema se describen algunas de las ms comunes.

Integrar datos de varios sitios


Con frecuencia, las oficinas regionales realizan modificaciones de datos que es
necesario replicar en la oficina central. Un ejemplo sera una empresa de venta al por
menor donde las tiendas puedan replicar los datos de ventas y enviarlos a un servidor
de la oficina central. En este escenario, es bastante probable que la oficina central
tambin acte como publicador ya que enviar informacin sobre los productos a las
tiendas.

Pg. 154 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Integrar datos heterogneos


La mayora de las organizaciones tienen distintos tipos de bases de datos. Podra
necesitar consolidar esos datos o replicar las modificaciones de un sistema en otro.
La rplica le permite integrar los datos heterogneos de dos formas:
Mediante el uso de Oracle (versin 8 y posterior) como origen para los datos
que pueden replicarse a SQL Server.
Mediante el uso de SQL Server como origen para los datos que pueden
replicarse a bases de datos de IBM y Oracle. Incluso es posible que estos
datos procedieran en un principio de Oracle y se replicaran a SQL Server antes
de pasar a IBM DB2.

Descargar el procesamiento por lotes


Si se programa con regularidad la actividad intensa del procesador en el servidor de
produccin, es posible que las operaciones normales puedan verse afectadas de
forma negativa. Se puede usar la rplica para descargar este trabajo en un servidor
independiente y, si es necesario, replicar de nuevo en el servidor de produccin
despus de que se haya completado el procesamiento por lotes.

Almacenar datos e informes


Los almacenes de datos tendrn normalmente un esquema distinto al de las bases de
datos del procesamiento analtico en lnea (OLAP), aunque los datos se consolidan a
menudo en un rea de ensayo antes de transformarse y cargarse en el almacn de
datos.
La rplica es un mecanismo ideal para este tipo de carga peridica.
Por lo general, los sistemas de informes tienen copias de slo lectura de datos para
aplicaciones que usan muchos recursos de lectura. Si el sistema OLAP se usara para
estos informes, habra un conflicto entre las operaciones de lectura y escritura de
OLAP y las operaciones que slo son de lectura aunque muy extendidas. Este
conflicto puede resolverse con la rplica de los datos en el sistema OLAP a una
instancia de informes.

Mejorar la escalabilidad y disponibilidad


Si tiene una gran cantidad de actividades de lectura y datos relativamente estticos, la
rplica puede usarse para mejorar la escalabilidad. Por ejemplo, un grupo de
servidores web que utilice el equilibrio de carga de red podra tener una instancia de
SQL Server detrs de cada servidor web individual. Los cambios en cualquier servidor
de base de datos se replicaran en los dems servidores.
Puede mejorar la disponibilidad con una rplica de una base de datos. Si se produce
una interrupcin planeada o no en el servidor principal, se puede usar la rplica.

ESCENARIOS DE RPLICA DE SERVIDOR A CLIENTE


La rplica se realiza entre servidores y clientes adems de entre servidores y otros
servidores. Muchas empresas confan en sus vendedores comerciales a la hora de
realizar pedidos o tener terminales de cajeros, ATM o equipos de las sucursales que
no necesitan sistemas operativos de servidor.

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 155


Universidad Nacional de Ingeniera

Intercambiar datos con usuarios mviles


Los usuarios mviles requieren a menudo copias de informacin de la empresa
cuando trabajan fuera de ella. Muchos de ellos incluso realizan pedidos o actualizan
registros mientras estn fuera de la oficina. Los dispositivos que usan abarcan desde
dispositivos de mano a equipos porttiles de gran capacidad. Es posible realizar
rplicas desde y hacia estos dispositivos mviles de Windows y, en funcin del
hardware, sincronizar de forma inalmbrica con los usuarios mviles.

Aplicaciones de punto de venta (POS) del consumidor


Hay muchas aplicaciones que los consumidores usan directamente, como las ATM, o
indirectamente, como los terminales de cajeros. Todas estas aplicaciones necesitan
datos de un origen central y realizan actualizaciones que se vuelven a replicar en los
servidores centrales. Al usar la rplica, puede mejorar la autonoma y la escalabilidad.

Integrar datos de varios sitios


Muchas empresas tienen oficinas regionales que no necesitan que se estn
ejecutando los servidores, pero s que necesitan los datos de la oficina central y
realizar modificaciones que se repliquen de nuevo posteriormente. SQL Server puede
instalarse en Windows XP y la rplica puede realizarse entre esas estaciones de
trabajo y los servidores de la oficina central.

Pg. 156 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera 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
Migracin entre clsteres de grupos de disponibilidad AlwaysOn para la
actualizacin del sistema operativo ................................................................ 3
ndice XML selectivo ...................................................................................... 3
DBCC SHOW_STATISTICS funciona con el permiso SELECT ..................... 4
Una nueva funcin devuelve propiedades de estadsticas ............................. 4
SSMS completo en la edicin Express ........................................................... 4
Instalacin integrada completa ....................................................................... 4
Aspectos destacados de Business Intelligence (con SQL Server 2014 SP1,
Office y SharePoint Server 2013) ................................................................... 5
Mayor compatibilidad con objetos de administracin para el DDL del
Regulador de recursos ................................................................................... 6
Nmero mximo de procesadores compatibles con las ediciones de SQL Server
.......................................................................................................................... 6
Consideraciones sobre la Seguridad ..................................................................... 7
Instalando el SQL Server 2014 ............................................................................. 9
Capitulo 2 ...................................................................................................................19
Creacin de la BD ..................................................................................................20
Registro de Transacciones ...................................................................................24
Administracin de la BD. ......................................................................................25
Recuperacin de informacin de la base de datos............................................25
Componentes fsicos: archivos y grupos de archivos de bases de datos
(FileGroup). ......................................................................................................26
Tipos de grupos de archivos .............................................................................27
Situacin de ejemplo para varios grupos de archivos ....................................27
Cundo crear grupos de archivos .................................................................27
Uso de varios grupos de archivos para controlar la colocacin fsica de los
datos .............................................................................................................28
Creacin de esquemas ........................................................................................29
Esquemas como espacios de nombres .........................................................30
Esquemas de ejemplo ...................................................................................31
Cmo funciona la resolucin de nombres de objetos ........................................31
Cmo funciona la resolucin de nombres .....................................................32
Capitulo 3 ...................................................................................................................34
Planificacin de una Estrategia de Backups .......................................................35
Realizando el Backup de la BD ............................................................................37
Uso de la Instruccin BACKUP DATABASE ....................................................37
Argumentos ......................................................................................................37
Utilizando el Management del SQL Server ...........................................................41
Restaurando una BD ............................................................................................44
Permisos ..........................................................................................................45
Recuperando la BD desde el management.......................................................48

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 157


Universidad Nacional de Ingeniera

Capitulo 4 .................................................................................................................. 52
Administracin de la Seguridad .......................................................................... 53
Qu son las entidades de seguridad? ............................................................... 53
Qu son los protegibles? ............................................................................... 54
Permisos de SQL Server 2014 ........................................................................ 55
Qu son los modos de autenticacin de SQL Server? ................................... 57
Cuando usar el Modo de Autenticacin Windows ......................................... 58
Cuando usar el Modo de Autenticacin SQL ................................................ 59
Cmo administrar inicios de sesin de SQL Server ......................................... 60
Creando inicios de sesin ............................................................................ 61
Modificando inicios de sesin ....................................................................... 62
Eliminando inicios de sesin ........................................................................ 63
Qu son las funciones fijas de servidor?........................................................ 63
Asignar una cuenta de inicio de sesin a una funcin fija de servidor .......... 64
Qu son las credenciales? ............................................................................ 64
Creando credenciales .................................................................................. 65
Permisos de mbito de servidor .......................................................................... 65
Conceder los permisos a protegibles de mbito de servidor ............................ 66
Usuarios especiales ......................................................................................... 67
Qu son las funciones de base de datos? ..................................................... 68
Funciones de base de datos definidas por el usuario ................................... 69
Qu son las funciones de aplicacin? ............................................................ 70
Funciones de aplicacin frente a otras funciones de base de datos ............. 70
Crear una funcin de aplicacin ................................................................... 71
Activar una funcin de aplicacin ................................................................. 71
Permisos de mbito de base de datos ............................................................. 71
Permisos de mbito de esquema ..................................................................... 72
Qu son las claves? ...................................................................................... 73
Claves simtricas ......................................................................................... 73
Claves asimtricas ....................................................................................... 74
Qu son los certificados? .............................................................................. 74
Contenido de un certificado .......................................................................... 75
Certificados en SQL Server .......................................................................... 75
Arquitectura de criptografa de SQL Server ..................................................... 76
Clave principal de servicio ............................................................................ 76
Clave principal de base de datos.................................................................. 76
Claves y certificados en una base de datos ................................................. 77
Cundo usar claves y certificados ................................................................... 77
Cifrado de datos ........................................................................................... 77
Firma de mdulos de cdigo ........................................................................ 77
Capitulo 5 .................................................................................................................. 80
Qu es la transferencia de datos? ..................................................................... 81
Qu es la transformacin de datos? .................................................................. 81
Herramientas para la transferencia de datos ................................................... 83
Introduccin a SQL Server Integration Services............................................... 84
Qu es SSIS? ............................................................................................ 84
Herramientas y asistentes de SSIS .............................................................. 84
Terminologa SSIS ....................................................................................... 85
Cmo procesa SSIS las tareas .................................................................... 85
Flujo de control ......................................................................................... 86
Flujo de datos ........................................................................................... 86

Pg. 158 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Herramientas SSIS .......................................................................................86


Asistentes ..................................................................................................86
Diseador SSIS .........................................................................................87
Utilidades del smbolo de sistema..............................................................87
Usar SQL Server Integration Services ..............................................................87
Qu son los orgenes de datos y las vistas de origen de datos? .................87
Orgenes de datos.........................................................................................88
Vistas de origen de datos ..............................................................................88
Qu es un administrador de conexin? ..........................................................89
Tipos de administradores de conexin ..........................................................89
Qu es el flujo de control de paquetes? ......................................................90
Tareas .......................................................................................................91
Restricciones de precedencia ....................................................................91
Contenedores ............................................................................................91
Qu es una tarea de flujo de datos? ...............................................................92
Origen........................................................................................................92
Transformacin..........................................................................................93
Destinos ....................................................................................................93
Cmo implementar paquetes ............................................................................93
Configuraciones de paquetes ....................................................................94
Capitulo 6 ...................................................................................................................96
Monitoreando al SQL Server 2014 ........................................................................97
Qu es el Monitor de actividad? .........................................................................97
Qu son los objetos de administracin dinmica? ..........................................98
Vistas de administracin dinmica ................................................................98
Consultar vistas de administracin dinmica .................................................99
Usando el Monitor del sistema ...........................................................................100
Objetos, instancias y contadores del Monitor de sistema ................................101
Registros y alertas de rendimiento ..............................................................102
Objetos de rendimiento de SQL Server .......................................................103
Consideraciones para supervisar SQL Server ................................................103
Supervisar la actividad de disco ..................................................................104
Supervisar el uso de memoria .....................................................................105
Supervisar el uso de CPU ...........................................................................106
Qu es el SQL Server Profiler? ........................................................................107
Funciones del SQL Server Profiler ..............................................................107
Obtener la traza de actividad de SQL Server mediante el SQL Server
Profiler .....................................................................................................108
Opciones de traza del SQL Server Profiler .....................................................108
Especificar una plantilla de traza .................................................................108
Guardar datos de traza ...............................................................................109
Especificar una hora de detencin de traza.................................................109
Columnas, eventos y categoras de traza....................................................110
Categoras de traza .....................................................................................110
Eventos ...................................................................................................110
Columnas ................................................................................................111
Usar los desencadenadores DDL .......................................................................111
Cundo usar desencadenadores DDL ............................................................112
mbito de desencadenador DDL ................................................................112
Proceso desencadenador DDL ...................................................................112
Cmo crear desencadenadores DDL ..............................................................112
La instruccin CREATE TRIGGER..............................................................113

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 159


Universidad Nacional de Ingeniera

La funcin eventdata .................................................................................. 113


Extraer informacin de evento .................................................................... 114
Cmo administrar desencadenadores DDL ................................................... 115
Ver los desencadenadores ..................................................................... 115
Modificar un desencadenador ................................................................. 115
Eliminar un desencadenador .................................................................. 116
Usar las notificaciones de eventos ................................................................. 116
Qu son las notificaciones de eventos? ................................................... 116
Notificaciones de eventos ....................................................................... 116
Capturar eventos .................................................................................... 116
Cmo crear notificaciones de eventos ........................................................ 117
Usar la instruccin CREATE EVENT NOTIFICATION ............................ 117
Cmo procesar notificaciones de eventos .................................................. 118
Recibir mensajes .................................................................................... 119
Procesar mensajes ................................................................................. 119
Cmo administrar notificaciones de eventos .............................................. 120
Ver las notificaciones de eventos y colas ................................................ 120
Eliminar una notificacin de eventos ....................................................... 120
Capitulo 7 ................................................................................................................ 122
Automatizacin de tareas administrativas ........................................................ 123
Ventajas de la automatizacin ........................................................................... 123
Qu es el Asistente para planes de mantenimiento? ................................... 124
Inicio del Asistente para planes de mantenimiento ..................................... 125
Qu es el Agente SQL Server? ....................................................................... 125
Servicio Agente SQL Server .......................................................................... 126
Configurar el Agente SQL Server .................................................................. 126
Configuracin de inicio del servicio Agente SQL Server ................................ 126
Especificar una cuenta de servicio Agente SQL Server .............................. 127
Dependencias del servicio Agente SQL Server .......................................... 128
Crear trabajos y operadores .......................................................................... 128
Crear trabajos ............................................................................................ 128
Qu es un operador? ................................................................................... 129
Directrices para la creacin de operadores ................................................ 129
Definir un operador a prueba de errores..................................................... 130
Cmo crear pasos de trabajo ......................................................................... 130
Definir los pasos de trabajo de Transact-SQL ............................................ 131
Definir los pasos de trabajo de comandos del sistema operativo ............... 131
Definir los pasos de trabajo de secuencias de comandos de ActiveX ........ 132
Lgica de flujo de los pasos de trabajo ................................................... 132
Qu es el Monitor de actividad de trabajo? .................................................. 132
Cundo usar el Monitor de actividad de trabajo.......................................... 133
Crear alertas .................................................................................................. 133
Definir alertas para errores de SQL Server ................................................ 134
Definir alertas para condiciones de rendimiento ......................................... 134
Cmo se crea una alerta ............................................................................ 135
Especificar un operador .......................................................................... 135
Ejecutar un trabajo.................................................................................. 135

Pg. 160 danielramos@dba.pe SQL Server 2014 Administracin


Facultad de Ingeniera Industrial y de Sistemas

Capitulo 8 .................................................................................................................136
Implementar la creacin de reflejo de base de datos........................................137
Qu son los reflejos de base de datos? ...........................................................137
Funciones de servidor en la creacin de reflejo de la base de datos ..............138
Redireccionamiento de clientes en una solucin de creacin de reflejo de la
base de datos .................................................................................................138
Cundo usar la creacin de reflejo de la base de datos ..............................139
Opciones para la configuracin de la creacin de reflejos de la base de datos
....................................................................................................................139
Modo de alta disponibilidad .........................................................................140
Modo de alta proteccin ..............................................................................140
Modo de alto rendimiento ............................................................................140
Qu son los extremos en la creacin de reflejos de base de datos?.............140
Crear extremos de reflejo ............................................................................141
Parmetros ..............................................................................................141
Cmo preparar los servidores para la creacin de reflejos de la base de datos
....................................................................................................................142
Tareas de preparacin de creacin de reflejo de la base de datos ..........142
Cmo establecer una sesin de reflejo ....................................................143
Establecer una sesin de reflejo ..............................................................143
Cmo tratar la conmutacin por error .............................................................144
Qu es el trasvase de registros? ..................................................................145
Cmo implementar el trasvase de registros ................................................146
Cmo cambiar funciones de servidor ..........................................................147
Introduccin a la rplica .....................................................................................148
Qu es la rplica?.........................................................................................148
Ventajas de la rplica ..................................................................................149
Funciones de servidor en la rplica .........................................................149
Funcin del publicador.............................................................................150
Funcin del distribuidor ............................................................................150
Funcin del suscriptor..............................................................................150
Tipos de rplica ...........................................................................................150
Rplica de instantneas ..........................................................................151
Rplica transaccional...............................................................................151
Rplica de mezcla ...................................................................................152
Rplica heterognea................................................................................152
Qu son artculos, publicaciones y suscripciones? .......................................152
Artculos ..................................................................................................153
Publicaciones ..........................................................................................153
Suscripciones ..........................................................................................153
Agentes de rplica ...................................................................................154
Escenarios de rplica .....................................................................................154
Integrar datos de varios sitios ..................................................................154
Integrar datos heterogneos ....................................................................155
Descargar el procesamiento por lotes .....................................................155
Almacenar datos e informes ....................................................................155
Mejorar la escalabilidad y disponibilidad ..................................................155
Escenarios de rplica de servidor a cliente .................................................155
Intercambiar datos con usuarios mviles .................................................156
Aplicaciones de punto de venta (POS) del consumidor ...........................156
Integrar datos de varios sitios ..................................................................156

SQL Server 2014 Administracin danielramos@sistemasuni.edu.pe Pg. 161


Universidad Nacional de Ingeniera

Pg. 162 danielramos@dba.pe SQL Server 2014 Administracin

Anda mungkin juga menyukai