CAPITULO 1
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.
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.
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
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.
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.
El instalador del SQL Server cargar los archivos necesarios para verificar si se
cumplen con los requisitos exigidos por el fabricante.
Se valida que se hayan cumplido con todas la reglas generales para la instalacin.
A medida que se van instalando cada una de estas reglas, se mostrar un estado del
mismo.
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.
CAPITULO 2
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.
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.
Desde aqu podremos crear los nuevos grupos de archivo, con los cuales trabajar
nuestra base de datos.
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
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,
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
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
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
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.
Tener en cuenta que, esta funcin slo devuelve el valor de una propiedad a la vez.
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.
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.
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.
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
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
ALTER USER. Por ejemplo, el siguiente cdigo Transact-SQL asigna Sales como el
esquema predeterminado para el usuario Angello:
CAPITULO 3
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.
Realizando el Backup de la BD
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 ] } ]
[;]
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.
{ 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.
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
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.
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).
<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.
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.
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
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.
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).
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.
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:
--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 ]
]
[;]
[ , <general_WITH_options> [ ,...n ] ]
} [ ,...n ]
[;]
Permisos
RESTORE FILELISTONLY
FROM AdventureWorksBackups ;
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.
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
CAPITULO 4
Administracin de la Seguridad
Modos de autenticidad
Creacin de Usuarios
Uso de Credenciales y Permisos
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
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.
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.
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.
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.
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:
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:
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.
SQL Server 2014 puede configurarse para usar uno de los dos modos de
autenticacin siguientes:
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.
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.
El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de Windows para un grupo de Windows local denominado SalesDBUsers:
El ejemplo siguiente muestra una instruccin CREATE LOGIN que crea un inicio de
sesin de SQL:
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:
Las funciones proporcionan un medio de agrupar usuarios en una sola unidad a la que
se pueden aplicar permisos.
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:
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.
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.
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
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.
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.
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.
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
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.
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.
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.
Los permisos de base de datos son permisos para que una entidad de seguridad
pueda ejecutar ciertas tareas dentro de la base de datos. Por ejemplo, el permiso
ALTER ANY USER permite que una entidad de seguridad cree, modifique y quite
usuarios de una base de datos.
Los permisos del mbito de base de datos son permisos que pueden aplicarse a
protegibles en el mbito de base de datos, como usuarios, esquemas, funciones,
ensamblados y objetos de service broker. La tabla siguiente muestra algunos de los
permisos del mbito de base de datos.
Los protegibles del mbito de esquema incluyen objetos como tablas, vistas,
procedimientos almacenados y tipos.
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
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:
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.
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.
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.
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.
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'
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.
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:
CAPITULO 5
Transferencia de Datos
Modos de Transferencia de Datos
Introduccin al SQL Server Integration Services
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 ?
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.
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.
SQL Server 2014 tiene varias herramientas para transferir datos. Cada una de ellas es
adecuada para escenarios concretos.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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
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.
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.
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.
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
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.
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.
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
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.
Para observar las actividades, desplegar el administrador, y luego hacer doble clic
sobre el Monitor de Actividades.
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).
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:
Para supervisar en busca de una condicin de memoria baja, use los contadores de
objeto descritos en la tabla siguiente.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
<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
</CommandText>
</TSQLCommand>
</EVENT_INSTANCE>
SQL Server 2014 ha ampliado la sintaxis de los comandos usados para administrar
desencadenadores con extensiones especficas para desencadenadores DDL.
SELECT name
FROM sys.triggers
SELECT definition
FROM sys.sql_modules
WHERE [object_id] =
(SELECT [object_id]
FROM sys.triggers
WHERE name='trigger_name')
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:
Eliminar un desencadenador
Use el comando DROP TRIGGER para quitar un desencadenador. Por ejemplo:
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.
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.
eventos. Los nicos objetos de Service Broker que necesita crear son una cola, un
servicio y una ruta.
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'
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).
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.
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:
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
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.
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
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
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.
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.
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.
En todos los sistemas operativos Microsoft Windows Server 2003 y 2014, el Agente
SQL Server se ejecuta como servicio de Windows.
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.
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.
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.
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.
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.
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.
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
trabajo para realizar una copia de seguridad del registro de transacciones y notificar al
administrador de la base de datos.
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.
CAPITULO 8
Implementando un DataBase Mirroring
Replicacin de una BD.
Examen Final.
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
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
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.
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.
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.
Hay varios pasos que realizar antes de activar la creacin de reflejo de la base de
datos.
1. Establezca el servidor principal a partir del servidor reflejado, tal y como se muestra
en la siguiente muestra de cdigo:
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:
Qu es el trasvase de registros?
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
Cambiar funciones
Realice los pasos siguientes para cambiar las funciones o para que el servidor de
reserva pase a ser el servidor primario:
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.
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).
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.
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
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.
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.
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.
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.
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:
Escenarios de rplica
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.
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
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
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