Sie sind auf Seite 1von 24

Gua No.

8 Gestin de Bases de Datos


1. SQL SERVER PROFILER
El ncleo de la mayora de las aplicaciones empresariales es una base de
datos relacional. Por desgracia, cuando la base de datos est
experimentando problemas de rendimiento, tambin lo har cualquier
sistema que depende de ella. La identificacin de la causa de una
ralentizacin y corregir los problemas asociados puede ser problemtico.
Cuando se trata de bases de datos relacionales, puede haber cualquier
nmero de problemas, como alto uso de la CPU, las limitaciones de memoria,
actividad alta de disco, o consultas lentas.

Para un administrador nuevo de base de datos (DBA), la identificacin de


estos problemas puede ser como buscar una aguja en un pajar. Para hacer
las cosas un poco ms sencilla, Microsoft SQL Server incluye una
herramienta, SQL Server Profiler, que tiene la capacidad de capturar casi
cualquier tipo de actividad que se puede ejecutar en una instancia del motor
de base de datos SQL Server.

En este apartado, aprenderemos lo que es SQL Server Profiler, cmo y


cundo usarlo. Iremos a travs de los pasos para crear, ejecutar, pausar y
detener una traza. Adems, aprenderemos cmo crear una plantilla de traza
que se puede reutilizar. Por ltimo, se aprender a crear una traza de
servidor que capture informacin de una manera menos intrusa y de forma
interactiva ejecuta la GUI SQL Server Profiler.

1.1. Entendiendo SQL Server Profiler.


SQL Server puede capturar cualquier caso, desde el bloqueo a las consultas
de larga ejecucin. Con el tiempo, puede convertirse en una de las
herramientas ms utilizadas de su caja de herramienta de DBA. SQL Server
Profiler se puede ejecutar de forma interactiva o como una operacin en el
servidor. Si piensa ejecutar SQL Server Profiler slo por un corto perodo de
tiempo, el uso de la interfaz grfica de usuario es una buena opcin. Sin
embargo, si va a funcionar durante un perodo prolongado de tiempo, usted
debe evitar el uso de la interfaz grfica de usuario, ya que puede degradar el
rendimiento de la instancia de SQL Server. En su lugar, crear un servicio de
rastreo T-SQL mediante un script T-SQL en el servidor.

Uso tpicos de SQL Server Profiler.


Gua No.8 Gestin de Bases de Datos
SQL Server Profiler se ha convertido en una herramienta popular. Sin
embargo, con el lanzamiento de SQL Server 2012, se ha colocado en la lista
en desuso y finalmente ser eliminado del producto completo.

Nota: SQL Server Profiler est siendo reemplazado por la herramienta de


SSMS llamado Embebido de Eventos Extendidos (XEvents).
A pesar de que SQL Server Profiler va a ser eliminado, para comenzar debe
considerar el uso como un precursor de Eventos Extendidos. La mayor parte
de la informacin que se puede recoger en SQL Server Profiler estar
disponible con eventos extendidos, y ser capaz de duplicar los usos tpicos
de SQL Server Profiler con eventos extendidos. Algunos de estos usos son:

o El ajuste del rendimiento (Performance Tuning)


o La deteccin de los puntos muertos (Detecting deadLocks)
o Auditora (Auditing)
o La deteccin de bloqueo (Detecting blocking)

Estos son slo algunos de las tareas que se pueden realizar con cualquiera
de las dos herramientas, y conforme pasa el tiempo puede mejorar sus
habilidades, se encontrar otros usos para SQL Server Profiler.

1.2. La creacin de Rastros

Antes de empezar a utilizar SQL Server Profiler, tendr que entender algunos
trminos. El primer trmino para familiarizarse es rastro (trace). la GUI de
SQL Profiler crea un rastro de servidor de captura y de la actividad de base
de datos. La actividad que se captura se almacena en un archivo de rastreo,
que se puede utilizar para diagnosticar problemas que puedan existir. No
importa si est utilizando la interfaz grfica de usuario o ejecutando la
traza en el servidor, todos los eventos se escriben en un archivo de rastreo.

Los archivos de rastreo se componen de los eventos, que podran ser la


ejecucin de una consulta o un procedimiento almacenado, un inicio de
sesin exitoso o fallido, una base de datos o registro de eventos de
crecimiento de archivo, o la generacin de bloqueos, para mencionar
algunos. El archivo de rastreo contiene filas y cada fila equivale a un evento
de seguimiento, con informacin completa sobre la conexin, el inicio y final
del evento, la aplicacin y el host origen y en muchos casos, el texto real T-
SQL que se ejecuta en el servidor. Los eventos se agrupan en categoras de
eventos tales como los siguientes:
Gua No.8 Gestin de Bases de Datos
o Bloqueos
o Auditora de seguridad
o Los procedimientos almacenados
o T-SQL

Esta es una lista muy corta de las clases de eventos disponibles a travs de
SQL Server Profiler. Es poco probable que se pueda utilizar todos los eventos
que se incluyen, pero conforme pasa el tiempo, aprender a identificar
aquellos que pueden ser tiles a medida que surjan las situaciones

Laboratorio No.1.1. Crear, Filtrar y ejecutar y una traza utilizando


SQL Server Profiler.

Filtrar una traza.

Puede hacer un par de cosas para reducir al mnimo la cantidad de


informacin capturada por un rastro. El primero es limitar el nmero de
columnas de datos incluidos en un evento de seguimiento. Una columna de
datos es un atributo de una clase de evento que se puede almacenar en un
archivo de rastreo. La disponibilidad de una columna de datos depende de si
es o no es aplicable al evento seleccionado.

La segunda es incluir filtros de rastreo. Puede especificar filtros que limitan la


traza para especificar la base de datos, para una conexin especfica, por la
duracin de una consulta, o por nombre de aplicacin. Los filtros de
seguimiento pueden basarse en otros criterios.

Laboratorio No.1.2. Especificar Criterios de Rastreo.

Creacin de plantillas de traza


De forma predeterminada, SQL Server Profiler incluye varias plantillas de
traza. Algunos pueden ser tiles a veces; Sin embargo, usted puede
necesitar ejecutar rastros personalizados configurados en varias ocasiones.
En lugar de configurar la traza cada vez que se ejecuta, SQL Server Profiler le
permite guardar la traza como una plantilla.

Laboratorio No.1.3. Crear y Ejecutar una Plantilla de Rastreo.

1.3. Ejecucin de Rastreos del lado del Servidor.


La GUI ofrece un mtodo rpido para la recopilacin de eventos y
visualizacin de la informacin. Sin embargo, si captura un nmero excesivo
Gua No.8 Gestin de Bases de Datos
de eventos, podra afectar negativamente al rendimiento del servidor. Como
opcin, se puede ejecutar la traza en el lado del servidor, que es menos
intrusa y tiene menos efecto en el servidor.
Laboratorio No.1.4. Crear y Correr una Traza del lado del Servidor.

1.4. Resumen
En este apartado, se aprendi algunos de los muchos usos de SQL Server
Profiler. A pesar de que SQL Server Profiler no se incluir en futuras versiones
de Microsoft SQL Server, sigue siendo una opcin viable para la optimizacin
del rendimiento. Dado que esta herramienta tiene una interfaz grfica de
usuario muy intuitiva, es un buen punto de partida para cualquier DBA, y que
an debe ser considerado para su uso en la solucin de problemas
modernos.

2. EVENTOS EXTENDIDOS
Los eventos extendidos (o XEvents) es la prxima generacin para localizar y
solucionar problemas de arquitectura de SQL Server. El xEvent es una
herramienta de monitorizacin configurable por el usuario.

SQL Server Profiler est en desuso para SQL Server 2012 y las trazas de SQL
ser reemplazado por el sistema de eventos extendidos en una versin
futura de SQL Server. Eventos extendidos ofrece muchas ms ventajas que
las herramientas viejas entre ellos mucho menos sobrecargas, mejor
rendimiento a escala, y la capacidad de capturar detalles que anteriormente
no eran observables.
La ventaja ms inmediata es posible disfrutar de la sesin de eventos
extendidos del sistema por defecto que estn pasivamente ejecutando en
SQL Server 2012 capturando los puntos muertos. Esto significa que, por
primera vez, se puede diagnosticar un callejn sin salida que sucedi en el
pasado sin la creacin y captura de una traza de SQL. Esta es una ventaja
crucial para los administradores de bases de datos.!

Este clase le dar a conocer eventos extendidos a un nivel alto y correr a


travs de un par de escenarios de ejemplo que utilizan las capacidades de
monitoreo de gran alcance de la herramienta.

2.1. Entendiendo la Arquitectura de Eventos Extendido.

Eventos extendida es la herramienta de monitoreo de uso mltiple para SQL


Server, desde la captura de error bsico para la solucin de problemas
Gua No.8 Gestin de Bases de Datos
avanzado. Terminologa bsica para la arquitectura de algunos eventos
extendidos:

Eventos extendidos se organizan en torno a las sesiones, que capturan un


conjunto configurable de eventos, que se organizan en categoras. Los
Eventos que ocurren en SQL Server se envan a los destinos para
recolectar los datos. El destino ms bsico y ms rpido de
almacenamiento de datos es un archivo event_file o .xel.

Acciones o campos globales describen la informacin bsica que se


familiarizaran con los campos de traza de SQL: Identificacin de base de
datos, nombre de host, ID de sesin, el nombre del objeto, y la
sentencia .Filtros de eventos o predicados le permiten refinar el alcance
por ejemplo, para filtrar solicitudes nicamente en la base de datos
AdventureWorks2012.

Un paquete es un contenedor de los objetos descritos anteriormente que


son coleccionable de un mdulo, que es proporcionada por un proceso de
Windows (como el ejecutable principal de SQL Server, sqlservr.exe).

2.2. Creacin y configuracin de una Sesin de Eventos


Extendidos.
Vas a comenzar utilizando eventos extendidos para supervisar la actividad
de consulta en la base de datos, tanto en la misma forma que lo hara
utilizando SQL Server Profiler para supervisar la actividad de la base de
datos.

Laboratorio No.2.1. Crear y configurar una sesin de eventos


extendidos.

2.3. Uso de una Sesin de Eventos Extendidos para


Supervisar el Rendimiento del Sistema.
Ahora que tiene una sesin de eventos extendidos ejecutandose en el
servidor, podrs darle un poco de actividad a la captura. Si est familiarizado
con el rastreo de actividad del servidor utilizando la herramienta de SQL
Server Profiler para cualquier versin anterior de SQL Server, se dar cuenta
de comportamientos similares en esta interfaz moderna.

Se sorprender gratamente de ver mejoras en la capacidad de ver los datos


capturados, todo se hace con menos sobrecarga en el servidor de base de
Gua No.8 Gestin de Bases de Datos
datos. Menos uso de I/O de la ventana de eventos extendidos Live Data y
eventos de visualizacin de la CPU de la herramienta SQL Server Profiler.

Laboratorio No.2.2. Uso de una Sesin de Eventos Extendidos para


supervisar el rendimiento del sistema.

2.4. Resumen.
Este unidad revisa los conceptos bsicos del estado del arte de la
monitorizacin y de solucin de problemas con la caracterstica de Eventos
Extendidos de Microsoft SQL Server 2012. Mientras eventos extendidos ha
sido parte de SQL Server desde la versin 2008, ahora incluye una interfaz
grfica de usuario para manipular y ver las sesiones. Se aprendi acerca de
la arquitectura de eventos extendidos y cmo configurar, ajustar, detener y
analizar una sesin bsica de eventos extendidos.

3. SEGURIDAD DE SQL SERVER.


Despus de completar esta unidad, estaremos en capacidad de:
Comprender el modelo de seguridad de SQL Server.
Comprender los directores.
Crear inicios de sesin y usuarios de SQL Server.
Crear roles de servidor definidos por el usuario.
Crear usuarios de bases de datos.
Crear funciones de bases de datos integradas.
Configurar una base de datos contenida

No importa si trabaja para una universidad, un banco o una tienda al por


menor, la seguridad de los datos es siempre mxima prioridad (DBA) de un
administrador de base de datos. Quin puede acceder a los datos, a qu
Gua No.8 Gestin de Bases de Datos
datos pueden tener acceso, y cmo acceder a los datos?, a menudo son los
principales temas de conversacin dentro y fuera del departamento de
tecnologa de la informacin (IT). Las necesidades de acceso a los datos
variarn en todas las aplicaciones, departamentos y personas, pero el
requisito subyacente de gobernar permisos persiste por todos los aspectos
de los datos.

Microsoft SQL Server 2012 ofrece una estructura de seguridad muy robusta
que permite a los administradores de bases controlar el acceso desde el
servidor a un objeto especfico dentro de la base de datos. Por ejemplo, un
DBA podra dar permiso de nivel de servidor sin no se concedido ningn
acceso a nivel de datos. O una aplicacin o un individuo podran tener
acceso a una base de datos o a objetos de base de datos sin haberles
concedido los permisos de nivel de servidor.

El tema de la seguridad de SQL Server es muy extenso, porque hay muchos


elementos a tener en cuenta. Los siguientes son slo algunas de las
preguntas que deben plantearse y abordarse en materia de seguridad de
SQL Server:

o Puede SQL Server ser accesible desde la red?


o Qu puerto debe utilizar SQL Server?
o Quin tiene acceso a los archivos de copia de seguridad?
o Quin puede iniciar sesin de forma interactiva en SQL Server?
o Cmo se deben asegurar los archivos de SQL Server?
o Cmo deben ser configurados y mantenidos la encriptacin de claves
de SQL Server y las copias de seguridad?

3.1. Comprensin de los Directores.

Un director es una entidad que tiene acceso a los recursos de SQL Server. En
general, existen tres niveles de directores:

o Windows
o SQL Server
o Base de datos

Una cuenta o grupos de cuentas de Windows, ya sea local para el servidor o


desde el directorio Activo, puede ser un director. Un director de Windows
puede conceder el acceso a una instancia de SQL Server como una
autenticacin de ingreso de Windows. Active Directory puede entonces
Gua No.8 Gestin de Bases de Datos
manejar la activacin o desactivacin, poltica de contraseas, y los flujos de
trabajo de seguridad. Como alternativa a Active Directory, SQL Server puede
manejarse los inicios de sesin de autenticacin de SQL Server, donde la
activacin, desactivacin, y los flujos de trabajo de seguridad deben ser
manejadas por un DBA dentro de SQL Server. Puede, sin embargo, hacer
cumplir la poltica de Active Directory sobre el inicio de sesin en un
servidor de SQL por una opcin especificada. Usted debe haber habilitado la
autenticacin de modo mixto en el servidor para la autenticacin de SQL
Server. En versiones anteriores de SQL Server, los inicios de sesin del
servidor asignan a los usuarios de bases de datos. Inicios de sesin manejan
permisos de autenticacin y de nivel de servidor. Sin embargo, con el
lanzamiento de SQL Server 2012, un mtodo de conexin alternativo est
disponible con el concepto de contenidos de bases de datos. Dependiendo
del modo de autenticacin seleccionado puede o no ser capaz de crear
entidades de SQL Server. Usted debe haber configurado la autenticacin de
modo mixto al hacer esto. Por ltimo, para bases de datos, usted tendr un
usuario o rol.

Nota: En versiones anteriores de SQL Server, se debe haber creado un


inicio de sesin de SQL Server antes de crear un usuario de base de datos.
Con el lanzamiento de SQL Server 2012, el procedimiento ha cambiado
con el concepto de contenido en bases de datos.

3.2. La Creacin de Logins de Sesin al Servidor.

Un inicio de sesin es una entidad de seguridad que se basa en una cuenta o


grupo de cuentas de Windows. Adems, un inicio de sesin puede ser una
cuenta que se crea en SQL Server. Permisos a nivel de servidor, como por
ejemplo CREATE DATABASE o BACKUP DATABASE, se pueden conceder a los
inicios de sesin. Si un nombre de usuario necesita acceder a una base de
datos, debe ser asignada a un usuario de base de datos.

De forma predeterminada, se crea el inicio de sesin director "sa" cuando se


instala SQL Server. Si no ha configurado la autenticacin de modo mixto, se
desactivar la cuenta. La cuenta "sa" es una cuenta de administrador que tiene
acceso a todos los recursos de SQL Server. Como prctica recomendada,
evitar compartir la contrasea de esta cuenta, y asegrese de que la
contrasea se cambiada de forma regular.

Laboratorio No.3.1. Crear un inicio de sesin basado en Windows


utilizando SSMS.
Gua No.8 Gestin de Bases de Datos
Tambin puede utilizar T-SQL para realizar estos pasos. En los siguientes
procedimientos, el primer ejercicio se repite los pasos descritos
anteriormente; el segundo ejercicio crea un inicio de sesin de SQL Server.
Las principales diferencias entre los dos son que en la segunda consulta
debe proporcionar una contrasea y puede imitar Active Directory mediante
la inclusin de forma explcita la opcin MUST_CHANGE y que permite las
opciones tanto de CHECK_EXPIRATION y CHECK_POLICY.

Laboratorio No.3.2. Crear un inicio de sesin basado en Windows


utilizando T-SQL.

Laboratorio No.3.3. Crear un inicio de sesin basado en SQL


utilizando T-SQL.

3.3. Creacin de Roles en el Servidor Definidos por el


Usuario.
Adems de los roles integrados en el servidor, SQL Server 2012 tiene la
capacidad de crear roles de servidor definidos por el usuario. Ahora que
puede crear roles en el servidor que combinan las capacidades de los roles
existentes en el servidor o puede conceder permisos explcito de elementos
especficamente protegibles y crear ms roles de servidor.

Laboratorio No.3.4. Crear un rol de servidor definido por el usuario


mediante SSMS .

Laboratorio No.3.5. Crear un rol de servidor definido por el usuario


utilizando T-SQL.

3.4. Creacin de Usuarios de Bases de Datos.

Previo a SQL Server 2012, se creaba un inicio de sesin de SQL Server antes de
crear un usuario de base de datos. Sin embargo, con la ltima versin y la
inclusin de contenido en la bases de datos de SQL Server, las buenas
prcticas se ha modificado. Con la nueva caracterstica, puede crear un
usuario sin un inicio de sesin y tienen conexiones de usuario autenticado
directamente a la base de datos.

La creacin de un usuario sobre la base de un inicio de sesin existente. Un


usuario puede estar basada en un servidor SQL Server o inicio de sesin de
Windows. Durante o despus de la creacin de un usuario, puede conceder
acceso a objetos especficos, tales como tablas, vistas y procedimientos
Gua No.8 Gestin de Bases de Datos
almacenados; el acceso a todos los objetos de un tipo especfico; o el acceso
a todos los objetos dentro de un esquema.

Dos directores de nivel de base de datos aparecern en cada base de datos:

o De forma predeterminada, cada usuario pertenece al rol de base de datos


pblica. El usuario heredar todos los permisos de este rol si los permisos
explcitos no han sido concedido a los objetos dentro de la base de datos.

o Un usuario invitado est desactivada por defecto. El usuario invitado esta


heredado por cualquier inicio de sesin que tenga acceso a la base de
datos. Como resultado, los permisos otorgados a esta cuenta tambin se
heredan por los usuarios. Dado que el acceso de datos variar por el
usuario, se debe evitar la concesin de permisos para la cuenta de
invitado.

Adems, habr dos esquemas, que no son los directores y no se pueden


modificar o eliminar.

o sys que contiene todos los objetos relacionados del sistema. Se refiere a
menudo como el catlogo del sistema.
o INFORMATION_SCHEMA contiene vistas, que muestran los metadatos de
elementos internos de SQL Server.

Laboratorio No.3.6. Crear un usuario mediante SSMS.

Laboratorio No.3.7. Crear un usuario de base de datos utilizando T-


SQL

3.5. Creacin de Roles de Base de Datos Integradas.


Adems de los cuatro principios mencionados anteriormente, cada base de
datos incluye roles de base de datos integrados. La Tabla siguiente enumera
y describe cada rol.

Papel Descripcin
db_accessadmi Estos usuarios controlar el acceso a la base de datos.
n
db_backupoper Estos usuarios pueden realizar copias de seguridad de la
ator base de datos.
db_datareader Estos usuarios tienen permisos para leer todos los datos
dentro de la base de datos.
db_datawriter Estos usuarios tienen permisos para insertar, actualizar o
eliminar desde la base de datos.
Gua No.8 Gestin de Bases de Datos
db_ddladmin Estos usuarios tienen la capacidad de crear, modificar y
eliminar objetos de la base de datos.
db_denydatawri Estos usuarios no pueden leer los datos dentro de la base
ter de datos.
db_denydatarea Estos usuarios no pueden modificar los datos dentro de la
der base de datos.
db_owner Adems de tener acceso sin restricciones a todos los
objetos en la base de datos, estos usuarios pueden
ejecutar actividades de mantenimiento y configuraciones
en la base de datos. Lo ms importante es que tambin
pueden bajar la base de datos. Por lo tanto, considere
cuidadosamente los usuarios a los que deben asignar este
rol.
db_securityadm Estos usuarios controlar la pertenencia a funciones
in

Laboratorio No.3.8. Crear una rol integrada en la base de datos


utilizando SSMS

Laboratorio No. 3.9. Crear un rol integrado en la base de datos


utilizando T-SQL.

3.6. Configuracin de Bases de Datos Contenidas.


Como se mencion anteriormente, las bases de datos contenidas es una
nueva caracterstica introducida en SQL Server 2012. El concepto de
contencin significa que la base de datos est aislada de la instancia de SQL
Server en el que se encuentra alojada. Cierta informacin dentro de la base
de datos es especfico de la base de datos y no depende de ninguna
caracterstica fuera de la base de datos. En SQL Server 2012, las bases de
datos se pueden contener slo parcialmente. En otras palabras, una base de
datos puede utilizar las caractersticas que estn disponibles fuera de la base
de datos.

Hay varios niveles de contencin, pero se centran slo en la autenticacin de


usuarios en esta seccin. Un usuario contenido puede ser creado a partir de
un inicio de sesin de Windows o un usuario de base de datos con una
contrasea. Si basa un usuario de base de datos en un inicio de sesin
existente, no va a ser contenida. Antes de crear cualquier usuario
contenidos, debe habilitar la autenticacin de base de datos contena a nivel
de servidor y base de datos.
Gua No.8 Gestin de Bases de Datos
Laboratorio No.3.10. Configurar la autenticacin de una base de
datos contena utilizando SSMS.

Laboratorio No.3.11. Configurar la autenticacin de base de datos


contena utilizando T-SQL.

3.7. Creacin de un Usuario Contenido.


Los pasos para crear un usuario contenido son similares a aquellos para la
creacin de una base de datos de usuario no contenido. La principal
diferencia est en la pgina General al crear un nuevo usuario de base de
datos.

Laboratorio No.3.12. Crear un usuario contenido utilizando SSMS

3.8. Ventajas y Limitaciones de las Bases de Datos


Contenidas.

Al igual que con la mayora de caractersticas, hay beneficios y limitaciones a


la seguridad de base de datos contenidas. La mayor parte de las limitaciones
contencin son especficamente de operatividad con otras caractersticas de
SQL Server. Si la base de datos de contencin esta activada, no puede
utilizar change data capture, change tracking y la replicacin.

Los beneficios de la contencin resuelven un problema que ha sido una


espina en el lado de muchos administradores de bases para un largo tiempo.
Dado que la informacin del usuario se almacena en el nivel del servidor
antes de la contencin, mover una base de datos que plantea ciertos retos.
El reto principal fue que la informacin de inicio de sesin es de vital
importancia sobre el usuario, que se almacena en el nivel de servidor, no
estara disponible cuando la base de datos se mueve de una instancia de
SQL Server a otro. Como resultado, varios pasos tendran que ser
completado antes de que el usuario funciona correctamente.

Con el advenimiento de las bases de datos contenidas, este problema puede


mitigarse fcilmente. Dado que toda la informacin est contenida en la
base de datos, en movimiento no va a causar un problema. Por ejemplo, si
ha configurado AlwaysOn, en el caso de una conmutacin por error, un
usuario puede conectarse al servidor de nuevo sin ningn tipo de problemas
de seguridad.
Gua No.8 Gestin de Bases de Datos
3.9. Resumen
En esta unidad se proporciona una explicacin de varios conceptos de
seguridad, incluyendo la creacin de inicios de sesin a nivel de servidor y
base de datos. La seguridad es importante para la mayora de las
organizaciones, ya que tiene los mecanismos y la gobernanza adecuadas en
su lugar es vital para cualquier aplicacin y el despliegue de bases de datos.
Microsoft SQL Server 2012 proporciona mecanismos flexibles y eficaces de
seguridad que permiten un control detallado de los objetos de servidor y
bases de datos.

4. REGULADOR DE RECURSOS.
Despus de completar esta unidad de estudio, ser capaz de

Utilizar el regulador de recursos.


Activar y desactivar el regulador de recursos.
Crear grupos de recursos.
Configurar el regulador de recursos para manejar la carga de trabajo y el
consumo de recursos.
Crear, registrar, y probar las funciones clasificadoras.
Modificar configuraciones del regulador de recursos.

Al igual que en la mayora de los sistemas de gestin de bases de datos


relacionales (RDBMS), Microsoft SQL Server utiliza la memoria y la CPU para
manejar sus cargas de trabajo. En algunos casos, una carga de trabajo
particular puede o debera tener acceso a ms de estos recursos que otras
cargas de trabajo. Por ejemplo, el director ejecutivo de una organizacin
puede ejecutar un informe primero con mucha memoria en la maana. Al
mismo tiempo, otros usuarios pueden estar ejecutando otras cargas de
trabajo que no son tan importantes. Como resultado, las cargas de trabajo
ejecutados por el CEO requerirn ms memoria. Aqu es donde el regulador
de recursos entra en juego.
Gua No.8 Gestin de Bases de Datos
Al utilizar el regulador de recursos, puede crear un grupo de volumen de
trabajo asignado a un grupo de recursos que rige cmo se asignan los
recursos. Las agrupaciones de recursos y grupos de cargas de trabajo se
explican en detalle en las siguientes secciones. Por ahora, entienden que
estos dos conceptos estn en el centro de regulador de recursos y ayudar en
la asignacin de valores mnimos y mximos a la CPU y la memoria
disponible para una instancia de SQL Server.

Valores Mximos vs. Valores Mnimos

En algunos casos, la asignacin de valores mnimos puede ser


contraproducente. Por ejemplo, un grupo puede requerir recursos
adicionales, pero no puede acceder a ellos debido a que otro grupo ha
asignado los recursos, pero no es el uso de ellos. En este caso, el mnimo
est afectando perjudicialmente el grupo que necesita los recursos
mediante la celebracin de los recursos sin utilizarlos. Por lo tanto, piense
cuidadosamente antes de asignar los mnimos.
En esta unidad de estudio se ofrece una visin completa de cmo y cundo
utilizar el regulador de recursos. Usted aprender cmo habilitar, configurar
y desactivar el regulador de recursos, y podrs explorar cmo configurar
cada componente regulador de recursos. Por ltimo, usted aprender a cmo
probar y validar la configuracin del regulador de recursos.

4.1. Activando y Desactivando el Regulador de Recursos.


Antes de que pueda empezar a usar el regulador de recursos, debe
habilitarlo.. Tiene tres formas que le permitan, dos con SQL Server
Management Studio (SSMS) y uno con T-SQL. Los pasos siguientes muestran
un mtodo SSMS y un nico mtodo de T-SQL.

Laboratorio No.4.1. Habilitar el regulador de recursos utilizando


SSMS.

Laboratorio No.4.2. Habilitar regulador de recursos utilizando T-SQL.

Laboratorio No.4.3. Desactivar regulador de recursos utilizando


SSMS.

Laboratorio No.4.4. Desactivar regulador de recursos utilizando T-


SQL.

4.2. Creacin de Pool de Recursos.


Gua No.8 Gestin de Bases de Datos
Un pool de recursos representa la cantidad de recursos del sistema (memoria
o CPU) disponibles para el servidor. Existen dos pools predefinidos por
defecto:
El pool interno no se puede quitar ni alterar. Representa la pool crtico
para SQL Server con que funciona las cargas de trabajo que se colocan,
y tiene prioridad sobre todos los otros pools.
El pools default es un pool definido por el usuario que no puede ser
eliminado, pero puede ser alterado. Adicionalmente, los grupos de cargas
de trabajo definidos por el usuario se pueden asignar a la misma.

La creacin de un pool de recursos es el primer paso en la configuracin del


regulador de recursos para controlar el uso de recursos de carga de trabajo.
Al configurar un pool de recursos, puede especificar la memoria mnima y
mxima del servidor y CPU. Cuando especifica un valor mnimo para
cualquiera de los dos, debe tener en cuenta que la suma de todos los
mnimos del pool no puede ser superior al 100 por ciento. Adems, si el valor
mnimo es mayor que cero para un pool dado, el valor mximo se ajusta.

Laboratorio No.4.5. Crear un Pool de recursos utilizando SSMS.

Laboratorio No.4.6. Crear un Pool de recursos utilizando T-SQL.

4.4. Creacin de un Grupo de Carga de Trabajo


Una vez creado el pool, el siguiente paso es crear una carga de trabajo que
se va a mapear al pool. Un grupo carga de trabajo atrapa una solicitud de
base de datos con elementos comunes definidos por un conjunto de filtros.
Los filtros se definen utilizando una funcin de clasificador. Un grupo de
trabajo aplica una poltica uniforme para todas las solicitudes en el grupo.
Cada conexin en un grupo de trabajo tiene un tope de forma individual, por
ejemplo. El pool de recursos divide los recursos entre las solicitudes y se
aplica a las solicitudes de las tapas de su conjunto.
Similar a los pools de recursos, hay dos grupos de cargas de trabajo por
defecto:
El grupo interno no puede ser modificado de ninguna manera, pero se
puede controlar.
Algunas modificaciones se pueden hacer al grupo predeterminado. De
forma predeterminada, las solicitudes se asignan a este grupo cuando
una sesin no se puede clasificar.
Gua No.8 Gestin de Bases de Datos
Al crear un grupo de trabajo, se puede establecer seis argumentos, y debe
mapear el grupo a un pool de recursos. La tabla siguiente describe los
argumentos.

Argumento Descripcin Valor


por
defect
o
Importancia Solicitar el nivel de importancia relativa a Medio
todas las solicitudes. El valor puede ser
Alta, Media o Baja.
request_max_memor Cantidad mxima de memoria De 25
y_grant_percent proporcionada a una solicitud dada en
relacin con el grupo. Debe ser mayor que
cero. La concesin de memoria no debe ser
cambiado, y tenga en cuenta que es para
una sola consulta en un grupo.
request_max_memor Cantidad de tiempo que una solicitud 0
y_grant_timeout_sec puede esperar a la memoria.
request_max_cpu_ti Cantidad mxima de tiempo de CPU Valor
me_sec proporcionada a una solicitud determinada Global
en relacin con un grupo. Un valor de cero
significa que por defecto el mximo grado
de paralelismo.
max_dop Grado mximo de paralelismo para cada 0
solicitud.
GROUP_MAX_REQUE El nmero mximo de solicitudes 0 (sin
STS simultneas que se permiten para ejecutar lmite)
dentro de un grupo de trabajo.

Grupos de carga de trabajo se pueden crear utilizando SSMS o T-SQL. Si se


aceptan todos los valores por defecto, la creacin de un grupo y la
asignacin a un pool es simple. La siguiente consulta T-SQL ilustra esto:
use master;
CREATE WORKLOAD GROUP sbsTSQLdefaults
USING sbsPool;
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Cuando se crea el grupo, todos los valores por defecto se asignan a los
argumentos.

Laboratorio No.4.7. Crear un grupo de trabajo utilizando SSMS.


Gua No.8 Gestin de Bases de Datos
Laboratorio No.4.8. Crear un grupo de trabajo utilizando T-SQL.

4.3. Usando de la Funcin Clasificador.


Como se mencion anteriormente, las solicitudes se agrupan o clasifican
basadas en caractersticas especficas. Estas caractersticas estn definidos
en una funcin definida por el usuario. Esta funcin se conoce como la
funcin de clasificador, y contiene la lgica que ayuda en la agrupacin de
las sesiones. Regulador de recursos utiliza la lgica para colocar pedidos en
grupos de cargas de trabajo existentes. Como se crean sesiones, se
clasifican en un grupo. Cuando su sistema est bajo de CPU pesada y/o
presin de memoria, regulador de recursos puede destapar las solicitudes
que han sido ordenados en un grupo de trabajo por la funcin de clasificador.
Esto ayuda a proteger a las dems solicitudes en el servidor puede estar
bloqueado para la CPU o la memoria.
La funcin de clasificador se debe crear en la base de datos principal, y slo
una funcin a la vez se puede especificar como la funcin de clasificador
regulador de recursos. Por lo general, las funciones del sistema predefinidos
se utilizan para ayudar a la funcin de clasificador con solicitudes de
identificacin. Por ejemplo, si desea identificar una solicitud sobre la base de
que est conectado, utilice la funcin SUSER_NAME(), que devuelve el inicio
de sesin del usuario. Por otro lado, si desea clasificar las solicitudes de
nombre de la aplicacin, utilice la funcin APP_NAME(). Adems de esas dos
funciones, puede utilizar la funcin HOST_NAME() para identificar el
ordenador o servidor de origen de la sesin.
Despus de crear la funcin, usted tendr que actualizar las configuraciones
del regulador de recursos. Los pasos detallados para este se proporcionan en
la siguiente seccin.

Laboratorio No.4.9. Crear y registrar una funcin clasificadora


utilizando T-SQL

4.4. Funcin Clasificadora de Pruebas.


Ahora que todas las piezas estn en su lugar, cmo se puede verificar que
las funciones se utilizan como se esperaba? Bueno, a menos que su sistema
este bajo presin, usted no ser capaz de observar los pools o grupos de
trabajo, estn restringidas. Sin embargo, usted puede verificar si la
clasificacin de las solicitudes de entrada est funcionando como usted
pretende.

Laboratorio No.4.10. Prueba a una funcin clasificadora usando T-


SQL
Gua No.8 Gestin de Bases de Datos
4.5. La Modificacin de las Configuraciones del Regulador
de Recursos
Si alguna vez se encuentra la necesidad de cambiar cualquiera de las
configuraciones del regulador de recursos, puede hacerlo fcilmente con
SSMS o de T-SQL. Adems, puede eliminar un pool, la carga de trabajo, o
clasificador. Antes de retirar un pool, primero debe eliminar el grupo de
cargas de trabajo que se asocian con l. Si desea quitar una funcin de
clasificador, primero debe desasociarla desde el regulador de recursos.

Laboratorio No.4.11. Alterar un grupo de carga de trabajo existente


con T-SQL

Laboratorio No.4.12. Eliminar grupos de cargas de trabajo


existentes y las agrupaciones de recursos utilizando SSMS.

Laboratorio No.4.13. Eliminar una funcin clasificadora utilizando T-


SQL.

4.6. Resumen
Este captulo proporciona una visin general de la funcin de regulador de
recursos de Microsoft SQL Server. Usted camin a travs de los pasos
necesarios para configurar correctamente el regulador de recursos, y que ha
aprendido acerca de ciertas situaciones en las que el control de los recursos
del sistema se pueden beneficiar de regulador de recursos. Cuando por la
formacin de las configuraciones, considerar cuidadosamente el impacto que
las restricciones del regulador de recursos tendrn en los usuarios y las
aplicaciones. Monitorear cuidadosamente el regulador de recursos despus
de la implementacin para asegurar el efecto deseado de limitar los
impactos de rendimiento pesados.

5. AGENTE SQL SERVER


Despus de completar esta unidad de estudia ser capaz de
Gua No.8 Gestin de Bases de Datos

Entender los componentes de SQL Server Agent.


Ver opciones del Administrador de configuracin del Agente SQL Server.
Configurar las propiedades del Agente SQL Server.
Crear operadores.
Configurar alertas y Jobs.
Crear proxies

Como se discuti en unidades anteriores, "Los planes de mantenimiento,"


tareas programadas regularmente deben realizarse para garantizar que la
recuperacin de desastres, las polticas de retencin, el rendimiento del
ndice, y los objetivos de monitoreo se mantienen. Para asegurarse de que
todas estas tareas se llevan a cabo a travs de una sola tecnologa, Microsoft
SQL Server incluye un servicio de Windows conocido como el Agente SQL
Server. Agente SQL Server puede ejecutar y programar tareas o jobs. Las
tareas programadas no deben confundirse con las tareas programadas de
Windows en el Programador de tareas. El Agente SQL Server puede ejecutar
lo siguiente:

Paquetes de SQL Server Integration Services (SSIS)


Secuencias de comandos T-SQL
Scripts de PowerShell
Secuencias de comandos ActiveX
Tareas de replicacin
Tareas de Analysis Services
Tareas del sistema operativo (CmdExec)

Dentro de un job, cada uno de los elementos antes mencionados se puede


ejecutar como un paso.

5.1. Componentes del Agente SQL Server .


Como se mencion anteriormente, el Agente SQL Server ejecuta jobs, y estos
jobs son uno de los componentes utilizados por el Agente SQL Server para
ejecutar las tareas definidas. Adems de los Jobs, el Agente SQL Server
incluye otros componentes. La Tabla sigiente enumera y describe cada
componente.

Componente Descripcin
Job Una lista secuencial de acciones.
Schedule Una descripcin de cuando un trabajo se ejecutar. Se
crea un calendario para cada Job, pero un nuevo Job
Gua No.8 Gestin de Bases de Datos
puede copiar la programacin de un Job existente.
Operator La persona va ser notificado cuando una determinada
accin o evento se produce en SQL Server o Agente
SQL Server.
Alert Una notificacin o respuesta a un determinado evento.
Las alertas se basan en eventos de SQL Server, SQL
Server por condiciones performance, o eventos de
WMI. Un operador puede ser notificado si se dispara
una alerta.
Proxy El contexto en el que se ejecuta el trabajo.

Como se habr dado cuenta de las descripciones de componentes, que


suelen trabajar en conjunto como una sola unidad de trabajo. Si bien esto no
es un requisito, es algo que se encontrar una y otra vez a medida que crea
cada componente. Por ejemplo, un Job puede utilizar una planificacin para
ejecutar de forma automtica, un operador puede ser notificado si un Job
tiene xito o fracasa, o un operador puede ser notificado si se dispara una
alerta. Usted aprender a crear y administrar cada componente ms
adelante en este captulo.

5.1. Visualizacin de las opciones de Administracin de


Configuracin del Agente SQL Server.
Ciertos aspectos del Agente SQL Server se pueden configurar. Por ejemplo,
con la cuenta de seguridad se debe comenzar, donde se debe almacenar el
registro de errores, y si debe iniciarse automticamente. Tambin puede
iniciar, detener o pausar el Agente SQL Server. Algunas tareas slo se
pueden configurar mediante el Administrador de configuracin de SQL
Server, mientras que otros pueden ser configurados mediante SQL Server
Management Studio (SSMS).

Laboratorio No.5.1. Vistas de las opciones de configuracin del


Agente SQL Server que utilizan SSMS.

5.2. Configuracin de las propiedades del Agente SQL


Server.
Mientras que el Administrador de configuracin de SQL Server proporciona
algunas opciones configurables muy importantes para un servicio de
Windows, SSMS expone otras opciones que definitivamente debe examinar.
Desde el Agente SQL Server es tpicamente un mecanismo que se utiliza
Gua No.8 Gestin de Bases de Datos
para ejecutar regularmente tareas crticas o tareas que podran ser recursos
dependientes o intensivo, utilizando SSMS que tienen la capacidad de
controlar las propiedades tales como las siguientes:

La ejecucin de los jobs en base a la disponibilidad de recursos


Al reiniciar el Agente SQL Server
Cunta informacin persiste en el registro de errores
Alertas y notificaciones

Estas propiedades estn disponibles a travs de SSMS y se configuran


fcilmente.

Laboratorio No.5.2. Ver y configurar las propiedades del Agente SQL


Server con SSMS

5.3. La creacin de los Operadores.


Ahora que ha configurado el Agente SQL Server, es el momento de empezar
a crear y configurar su entorno. El primer paso es crear operadores. Como se
mencion anteriormente, un operador contiene toda la informacin
pertinente requerida para notificar a una persona o grupo cuando un Job se
completa, tiene xito o fracasa. Adems, el operador tambin puede ser
notificado cuando se dispara una alerta. Jobs y las alertas se discuten ms
adelante en el captulo.
La notificacin de un operador se realiza mediante correo electrnico,
buscapersonas, o envi por red. Para utilizar la base de datos de correo
electrnico, el correo se debe configurar-usted aprender ms acerca de esto
en el captulo, "Correo de la base de datos." Si se utiliza la paginacin, algn
tipo de software de terceros debe estar en el lugar que se le enven las
notificaciones. Sin embargo, similar a la net send, paginacin es una
caracterstica obsoleta, y usted debe evitar el uso de estos dos.

Laboratorio No. 5.3. Crear un operador utilizando SSMS.

Laboratorio No. 5.4. Crear un operador utilizando T-SQL.

5.4. Configurar Alertas.


Como administrador de la base de datos de SQL Server (DBA), el
mantenimiento y el control de su entorno de SQL Server es una parte
integral del trabajo. Siendo un DBA reactivo en lugar de DBA proactivo podra
determinar si usted es un DBA empleado o desempleadas, dependiendo de
la situacin. Mediante el uso de las alertas del Agente SQL Server, puede
Gua No.8 Gestin de Bases de Datos
supervisar de forma proactiva los eventos de SQL Server y las condiciones de
ejecucin.
Las alertas de notificaciones se disparan cuando se activan determinados
eventos automatizados. Puede configurar alertas en caliente para los
siguientes tipos de eventos:
SQL Server
Rendimiento de SQL Server
Windows Management Instrumentation (WMI)

Con cada opcin, SQL Server proporciona opciones de configuracin muy


granulares. Por ejemplo, al configurar una condicin de rendimiento, puede
especificar un umbral que determina cundo la alerta debe ser despedido.
En el siguiente procedimiento, crear una alerta basada en contadores
incorporadas de SQL Server que se ven para el uso de caractersticas en
desuso, incluyendo cdigo obsoleto de T-SQL.

Laboratorio No.5.5. Crear una alerta de SQL Server utilizando SSMS

Laboratorio No.5.6. Crear una alerta de SQL Server mediante T-SQL

5.5. Configuracin de Jobs.


Los Jobs del Agente SQL Server se utilizan normalmente para automatizar las
tareas de mantenimiento, tales como copias de seguridad y la
reconstruccin de ndices. Si bien estos son los usos ms comunes, los Jobs
del Agente SQL Server se pueden utilizar para automatizar otras tareas como
la ejecucin de una extraccin, transformacin y carga (ETL) de un almacn
de datos. Los Jobs no solamente incluyen pasos o tareas que puede ejecutar,
tambin puede incluir un calendario, alerta y notificacin.
Un Job por lo general contiene una serie de pasos programados para
funcionar por el Agente SQL Server. Usted puede configurar el Job de enviar
una notificacin cuando se completa, tiene xito, o no. Por ltimo, puede
incluir alertas como parte de un trabajo.

Nota: Si un usuario no es parte de la funcin sysadmin, el usuario debe


ser aadido a la SQLAgentUserRole, SQLAgentReaderRole o
SQLAgentOperatorRole en la base de datos msdb con el fin de crear,
modificar o eliminar los Jobs.

Laboratorio No.5.7. Crear un Job mediante SSMS.

5.6. La Creacin de Proxies.


Gua No.8 Gestin de Bases de Datos
En algunos casos, puede que tenga que ejecutar un Job como una cuenta
que tenga acceso a los objetos externos a SQL Server. Para lograr esto, se
utiliza un proxy. Un proxy es el contexto de seguridad de que un Job puede
hacerse pasar en tiempo de ejecucin para un propsito especfico y
limitado. Por ejemplo, usted puede usar un proxy al ejecutar un paquete SSIS
o para ejecutar una secuencia de comandos de PowerShell. La
representacin dependen de credenciales. La credencial es lo que
proporciona el acceso al proxy a los objetos externos. Una credencial
tpicamente contiene la informacin de seguridad de una cuenta de
Windows: el nombre de usuario y contrasea. Esta cuenta puede ser un
administrador del sistema con privilegios de unidad de red. Antes de la
creacin de un proxy, debe crear una credencial.

Nota: El usuario de Windows que se utiliza al crear la credencial se debe


conceder el permiso de inicio de sesin como trabajo por lotes en el servidor
que aloja la instancia de SQL Server.

Laboratorio No.5.8 Crear una credencial utilizando SSMS

Laboratorio No.5.9. Creacin y uso de un proxy con SSMS

5.7. Resumen
En este captulo, usted aprendi sobre los distintos componentes del Agente
SQL Server, y usted explor cmo utilizar el Administrador de configuracin
de SQL Server para cambiar las propiedades del Agente SQL Server. Usted
aprendi cmo crear operadores y alertas que pueden ser utilizados como
medio de notificacin. Por ltimo, ha aprendido a crear puestos de trabajo
que pueden ayudar a racionalizar y automatizar las tareas diarias.

.
Gua No.8 Gestin de Bases de Datos

Das könnte Ihnen auch gefallen