72
Curso: Administración Básica y Mantenimiento de Base de Datos en MS-SQL Por: Rafael Plácido Meneses

Administración básica y mantenimiento de base de datos SQL Server

Embed Size (px)

DESCRIPTION

SQL Server adminstración de base de datos, vistas y demás contenido.

Citation preview

Page 1: Administración básica y mantenimiento de base de datos SQL Server

Curso: Administración Básica y Mantenimiento de Base de Datos en MS-SQL

Por: Rafael Plácido Meneses

Page 2: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Por: Rafael Plácido Meneses

Uso de Managament Studio, Intellisense y Object explorer.

Statment Select, tablas, vistas dinámicas y stores procedures del sistema.

Profiler y uso de Traces.

Page 3: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Uso de Managament Studio, Intellisense y Object explorer:

Que es el Management Studio: es el software que se usa para configurar, administrar y accesar a las diferentes tipos de instancias de motor de base de datos, integration services, analysis services y reporting services. Y en algunas versiones se incluye el tipo para Azure storage.

Dependiendo a qué tipo de instancia se quiere accesar hay diferentes tipos de autenticación en integration y analysis services solo hay un tipo de autenticación con el engine hay 2 windows y sql autenticaciones y en reporting services son 3 simple: Windows, basic y forms.

Page 4: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Page 5: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Intellisence: Es el autocompletador inteligente de código integrado por

Microsoft adaptado de Visual Studio.

Es una gran ayuda para recordar bases de datos, tablas, triggers, funciones y todo lo relacionado con la instancia de SQL Server.

Puedes obtener ayuda del Intelisence de todos los objetos que se encuentran en las bases de datos que tienes acceso.

En caso de que no sepas usar alguna función o sentencia de SQL también te da una pequeña ayuda de los elementos necesarios, si necesitas más información debes utilizar el MSDN Forum o el Resource Center.

Page 6: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Page 7: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

El Object Explorer es el que te permite accesar, configurar y administrar las base de datos, la seguridad los objetos de la instancia.

Instancia: El nombre de la instancia, la versión que es y la cuenta con la que se esta conectado.

Base de datos aquí están las diferentes bases de datos, las bases snapshots y las de sistema master, msdb, tempdb y model.

Security: esta los logins, los roles de servidor, credenciales y las auditorias del servidor.

Server Objects: Backup Devices, Endpoints, Linked Server y Triggers de Sistema.

Replication: Publicaciones y Suscriptores.

Management: Policy Management, Data Collection, Resource Governor, Extended Events, Maintenance Plans, Sql Server Logs, Database Mail, Distributed Transaction Cordinator y Legacy

SQL Server Agent: Jobs, Jobs Activity Monitor, Alerts, Operators, Proxies y Error Logs

Page 8: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Page 9: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Page 10: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Statment Select, tablas, vistas dinámicas y stores procedures del sistema:

¿Que es el SELECT?

Es un estado en SQL el cual nos permite extraer información de 1 o más tablas a través de un conjunto de resultados.

El SELECT nos especifica exactamente que vamos a obtener y de donde.

SELECT y FROM trabajan juntos.

FROM es el estado de donde vamos a obtener los resultados pueden ser tablas o vistas.

Page 11: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Tablas, Vistas y Stores Procedures del Sistema. Tablas del sistema:

Las tablas de sistema guardan información sensible del sistema y por lo consiguiente no se deben alterar por que puede llegar a corromper la base de datos o que esta deje de funcionar.

Hay algunas que están documentadas y otras que no por lo que no se debe generar código para seleccionar estas o se pondría en riesgo la instancia de SQL para esto existen funciones, vistas o stores procedures.

Page 12: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Los diferentes tipos de tablas de sistema son los siguientes.

Tablas de copias de seguridad y restauración (Transact-SQL)

Tablas de logshipping(Transact-SQL)

Tablas de captura de datos de cambio (Transact-SQL)

Tablas de replicación (Transact-SQL)

Tablas de planes de mantenimiento de bases de datos (Transact-SQL)

Tablas de Agente SQL Server (Transact-SQL)

Tablas de eventos extendidos de SQL Server (Transact-SQL)

sys.sysoledbusers (Transact-SQL)

Tablas de Integration Services (Transact-SQL)

systranschemas (Transact-SQL)

Page 13: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Tablas de copias de seguridad y restauración (Transact-SQL): son las tablas del sistema que almacenan la información que utilizan las operaciones de copias de seguridad y restauración de bases de datos.

Backupfile: Contiene una fila por cada archivo de datos o de registro de una base de datos.

Backupfilegroup: Contiene una fila por cada grupo de archivos de una base de datos en el momento de crear la copia de seguridad.

Backupmediafamily: Contiene una fila por cada familia de medios.

Backupmediaset: Contiene una fila por cada conjunto de medios de copia de seguridad.

Backupset: Contiene una fila por cada conjunto de copia de seguridad.

Restorefile: Contiene una fila por cada archivo restaurado. Se incluyen los archivos restaurados indirectamente por nombre de grupo de archivos.

Restorefilegroup: Contiene una fila por cada grupo de archivos restaurado.

Restorehistory: Contiene una fila por cada operación de restauración.

suspect_pages: Contiene una fila por cada página que dio el error 824 (con un límite de 1.000 filas).

sysopentapes : Contiene una fila por cada dispositivo de cinta abierto.

Page 14: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Microsoft SQL Server proporciona las siguientes vistas del sistema que exponen los metadatos.

Vistas de catálogo

Vistas de esquema de información

Vistas de compatibilidad

Vistas de replicación

Funciones y vistas de administración dinámica

Vistas de aplicación de capa de datos (Transact-SQL)

Page 15: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Vistas de catálogo Las vistas de catálogo devuelven información utilizada por el Motor de base de datos de SQL

Server. Microsoft recomienda utilizar las vistas de catálogo porque son la interfaz más general para los metadatos del catálogo y proporcionan el método más eficaz para obtener, transformar y presentar formas personalizadas de esta información.

Vistas de catálogo del seguimiento de cambios: tablas de change data capture

Vistas de catálogo de mensajes de error: mensajes internos de error

Vistas de catálogo del ensamblado CLR: emsables de .net

Vistas de catálogo de objetos: obejtos en la instancia

Vistas de catálogo de archivos y bases de datos: archivos file de la base de datos

Vistas de catálogo de la función de partición: partición de tablas o de archivos de la base de datos

Vistas del correo electrónico de base de datos: vistas de los datos database mail

Vistas de la administración basada en directivas: tablas con respectos a las políticas en la instancia.

Page 16: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Vistas de catálogo de creación de reflejo de la base de datos (Transact-SQL): alta disponibilidad mirror.

Vistas de catálogo del regulador de recursos: tablas del gobernador de recursos

Vistas de catálogo del recopilador de datos: tablas de data collector

Espacios de datos: tablas de espacio ocupados en disco.

Vistas de catálogo de esquema: tablas sobre los esquemas y sus cambios

Vistas de catálogo de seguridad: las tablas con roles de seguridad de servidor y de base de datos

Vistas de catálogo de eventos extendidos: las tablas los eventos extendidos.

Vistas de catálogo de propiedades extendidas: las tablas con respecto a propiedas extra en la base de datos.

Vistas de catálogo de la configuración del servidor: tablas de la configuración de la instancia

Vistas de catálogo de FileTable: tablas respecto a filestream

Vistas de catálogo de esquemas XML: tablas respecto sistema de tipo XML

Vistas de catálogo relacionadas con la búsqueda de texto completo y la búsqueda semántica: tablas respecto a diccionario de datos y índices de busqueda completa.

Page 17: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Vistas de esquema de información Estas vistas nos dan información de los metadatos dentro del motor de SQL ,

esto permite que las aplicaciones funcionen correctamente aunque se hayan hecho cambios importantes dentro de las aplicaciones.

Los siguientes son los tipos de vista que hay:

CHECK_CONSTRAINTS, REFERENTIAL_CONSTRAINTS y CONSTRAINT_COLUMN_USAGE: nos sirve para ver los diferentes constraints sus tabalas a las que hacen referencias el uso de sus columnas.

COLUMN_DOMAIN_USAGE y COLUMN_PRIVILEGES: nos rive para ver que tablas están las columnas, el uso de estas columnas y quien tiene privielgios para verlas y usarlas.

ROUTINES y ROUTINE_COLUMNS: funciona para obtener información de las funciones con valores de tabla.

COLUMNS nos da información de las columnas en las tablas.

Page 18: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

SCHEMATA: nos da información de los schemas contenidos en la base de datos.

TABLE_CONSTRAINTS, TABLE_PRIVILEGES y CONSTRAINT_TABLE_USAGE: nos da información de los constraints de tablas, los priveligios que tienen y los porcentajes de uso de las tablas.

TABLES: nos da información de las tablas y su uso.

VIEW_COLUMN_USAGE, KEY_COLUMN_USAGE y VIEW_TABLE_USAGE: nos comenta el uso de los diferentes objetos como las tablas, las vistar y las llaves.

VIEWS estas vistas de sistemas nos dan información acerca de las diferentes vistas que existen en la base de datos.

PARAMETERS estas vistas devuelven información de las funciones o stores procedures definidos por el usuario a los cuales se puede tener acceso.

Page 19: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Funciones y vistas de administración dinámica Las funciones y vistas de administración dinámica devuelven

información sobre el estado del servidor que se puede utilizar para controlar el estado de una instancia del servidor, para diagnosticar problemas y para optimizar el rendimiento.

Hay dos tipos de funciones y vistas de administración dinámica: Funciones y vistas de administración dinámica con ámbito en el

servidor. Se requiere el permiso VIEW SERVER STATE en el servidor.

Funciones y vistas de administración dinámica con ámbito en la base de datos. Se requiere el permiso VIEW DATABASE STATE en la base de datos.

Page 20: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Las funciones y vistas de administración dinámica están organizadas en las categorías siguientes.

Funciones y vistas de administración dinámica relacionadas con E/S

Vistas de administración dinámica relacionadas con la captura de datos modificados

Vistas de administración dinámica de tablas optimizadas en memoria

Vistas de administración dinámica relacionadas con el seguimiento de cambios

Funciones y vistas de administración dinámica relacionadas con objetos

Vistas de administración dinámica relacionadas con Common Language Runtime

Vistas de administración dinámica relacionadas con notificaciones de consulta

Vistas de administración dinámica relacionadas con la creación de reflejo de la base de datos

Vistas de administración dinámica relacionadas con la replicación

Vistas de administración dinámica relacionadas con la base de datos

Vistas de administración dinámica del regulador de recursos

Page 21: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Funciones y vistas de administración dinámica relacionadas con ejecuciones

Vistas de administración dinámica relacionadas con la seguridad

Vistas de administración dinámica de eventos extendidos

Vistas de administración dinámica relacionadas con Service Broker

Vistas de administración dinámica de secuencia de archivo y FileTable (Transact-SQL)

Vistas de administración dinámica relacionadas con el sistema operativo SQL Server

Vistas de administración dinámica relacionadas con la búsqueda semántica y búsqueda de texto completo

Funciones y vistas de administración dinámica relacionadas con transacciones

Funciones y vistas de administración dinámica relacionadas con índices

Page 22: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Profiler y uso de Traces. El SQL Profiler es una interfaz de SQL para campturar eventos para crear

y administrar traces y para analizar y volver a ejecutar los resultados del trace.

Los eventos son salvados en un archivo trace que después puede ser analizado o volverlo a repetir una serie de pasos para intentar diagnosticar problemas de lógica o de performance.

Se puede utilizar para monitorear varias áreas de mucha actividad como: Analizar y Debuggear estados de SQL y Store Procedures.

Monitorear Performance Lento

Análisis de Stress

Tunning de Indices

Auditoria y Revisiones de Seguridad.

Page 23: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

En la siguiente imagen se ve la configuración de la instancia, la versión, el nombre del trace, el template que se usa para saber que se va buscar, el archivo donde se va a guardar o la tabla donde se va a guardar el trace y el tiempo que se va a ejecutar el trace.

Page 24: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Se pueden escoger varios eventos a monitorear en el trace como los siguientes: Conexiones logins, fallos de conexión y desconexiones.

Estados de T-SQL SELECT, INSERT, UPDATE y DELETE.

Status de conexiones Batch de Remote Procedure Call (RCP).

El inicio o el fin de un store procedure.

El inicio o el fin de un batch de SQL

Un error escrito en el SQL Server Error Log.

El inicio o fin de un Lock en un objeto de base de datos.

Cuando se abre un cursor.

Checks de permisos de seguridad.

Page 25: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Event Class Un Event Class es un tipo de evento que puede ser trazado, este evento

contiene todos los datos que pueden ser reportado por dicho evento.

Estos son ejemplo de estos eventos: SQL Batch Completed

Audit Login

Audit Logon

Lock: Acquired

Lock: Relesased

También existen sobre las columnas filtros para solo obtener la información que necesitamos como el id de la base de datos, cierto nombre de procedimiento o función, una conexión especifica o algún objeto de la base de datos que estemos utilizando.

Page 26: Administración básica y mantenimiento de base de datos SQL Server

1. Introducción a queries y vistas de sistema:

Page 27: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos

Configuraciones de memoria, procesador configuración del servidor, seguridad y opciones avanzadas y mejores prácticas.

Configuration manager: configuración de cuentas de arranque, banderas de arranque, modo de un solo usuario y opciones.

Page 28: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Configuraciones de memoria, procesador configuración del servidor, seguridad y opciones avanzadas y mejores práctica.

Configuración del Servidor. Hay muchas formas de configurar el servidor pero siempre se recomienda seguir las

mejores practicas de Microsoft y después las mejores practicas de las aplicaciones dependiendo de su uso.

La configuración Básica comienza primero por desfragmentar el Disco duro antes de hacer una instalación de SQL Server pero si no se hizo esto antes se debe tener mucho cuidado al hacerla después por que puede afectar el motor de la base de datos.

Hay muchas formas de accesar a la información de la instancia pero es necesario para saber cual es el estado actual y poderla configurar correctamente.

Hay 5 Aspectos primordiales en la configuración inicial: Memoria, Procesadores, Seguridad & Conexiones, Tempdb y espacio a disponer de las

diferentes Base de Datos con respecto al disco duro.

Page 29: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 30: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Memoria La memoria es parte fundamental en una Instancia de base de datos y

debe estar correctamente balanceada entre la instancia de base de datos y el servidor dependiendo de cuanta capacidad tenga el servidor y para que sea usado.

Se recomienda como minimo 2 GB para el Sistema Operativo del Servidor y se agrega aproximadamente 1 GB por cada aplación extra que este usando el servidor excepto si es Directorio Activo que no se recomienda que este junto Instancia de SQL Server ya que son aplicaciones demandantes y puede colapsar el Servidor.

Si se tiene 2 instancias o mas se balancea dependiendo la carga de cada instancia. Por ejemplo si tienes 10 GB se recomienda 2 para el servidor y podría ser 4 GB para la primera y 4GB para la otra o si una transaccional y la otra de lectura podrían ser 6 GB y 2 GB como máximos respectivamente.

Page 31: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 32: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

También se debe cambiar la configuración de la Memoria Virtual en el Servidor se debe cambiar entre 2 GB y 4 Gb ya que mas grande afectaría el tamaño del archivo de Lectura dentro del disco duro y seria más lento de lo habitual.

Page 33: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Procesadores La configuración de los procesadores es un proceso muy delicado y se recomienda no

cambiar la configuración predeterminada, ya que algunos valores podrían desestabilizar el servidor o podrían hacer que el Servidor de SQL se comporte de forma errática.

La configuración de máscara de afinidad hace referencia a cómo firmemente un subproceso está enlazado a ninguna CPU en concreto.

En la práctica, si cambia la configuración de máscara de afinidad de la predeterminada sólo en raras ocasiones ayuda a rendimiento y con frecuencia se degradará el rendimiento.

De manera predeterminada, la configuración de subprocesos de trabajo máximo es de 255 en SQL Server Por lo tanto, hasta 255 trabajo se pueden crear subprocesos. De forma predeterminada, la configuración de subprocesos de trabajo máximo es 0 en SQL Server 2005 y SQL Server 2008.

Las afinidades de Procesador y de I/O es para definir la multitareas con los diferentes procesadores que se tienen ya que puede administrar cargas complejas para poder hacer cargas complejas, esta parte de pende mucho de cuantos procesadores se tenga.

Se podría mejorar configuraciones con Gobernador de Recursos y/o configuraciones de paralelismo para configurar la carga de queries por procesador.

Page 34: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 35: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Seguridad & Conexiones La seguridad es una parte muy amplia en una la instancia de SQL

Server. Pero se debe de tener muy en cuenta muchos aspectos como la encriptación de datos importantes con transparent data encryption o revisar la parte con políticas de seguridad (Policies) y tener en cuenta auditorias para ver quienes cambian datos o conexiones que no sean en horas fuera de operación.

En esta parte hablaremos de la seguridad básica sobre la instancia a través de que tipo de autenticación se tiene para poder accesar a este servidor.

Las 2 autenticaciones posibles son: Windows Authetication Mode

SQL Server and Windows Authentication Mode

Page 36: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Se recomienda usar solo la autenticación de Windows que depende del DA(Directorio Activo), pero la mayoría de las aplicaciones utilizan la configuración mixta y aquí se debe tener cuidado con los logins encriptarlo y manejar buenas cuentas de logins de seguridad, mas una buena encriptación y un correcto monitoreo y cuidado del puerto 1433 que es el default de la instancia de SQL Server.

El login audit es si se quiere saber en log de errores que cuentas se están logeando al servidor y en que momento y puede a ver diferentes circunstancias pero esto en caso de que se quiera hacer auditorias y se están generando conexiones no autorizadas. Para esto también existe c2 audit que es muy pesado para el servidor o triggers de auditoria.

Page 37: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 38: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Las conexiones a la Instancia de SQL Server son por el puerto 1433 y 1434 las de servicios de Integración.

En esta parte se debe tener priviliegios abiertos para estos puertos en el firewall o no se podría accesar a la Instancia de SQL.

Este puerto se puede configurar en la parte de Configuration Manager.

También se puede configurar el numero máximo de concurrencias en el servidor por default es 0.

También hay diferentes opciones por default para conexiones para stores procedures, funciones vistas y tablas. Tanto ansi como especiales dentro del motor de SQL.

Tambien se permite mantener por default la conexión durante 600s (10 min.) esto puede ser configurable pero estas opciones se recomiendan que no se modifiquen.

Page 39: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 40: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Tempdb La Base de datos Tempdb es la base de datos del sistema a la cual todos los

usuarios tienen acceso y realiza las siguientes funciones:

Almacena Objetos que se crearon explícitamente: tablas temporales locales o globales, store procedures temporales, variables tablas or cursores.

Objetos Internos que fueron creados por el motor de SQL como: tablas de trabajo para almecenar instantáneamente la información por forma como se acomodan.

Versiones de filas que son modificadas en las transacciones UDI.

Versiones de filas modificadas por transacciones generadas por operaciones de índices en línea y son afectadas después por un trigger after.

Esta base depende de dos archivos físicos que se crean en las bases de datos de sistema un archivo .mdf y un archivo . Ldf y estos se generan y configuran automáticamente cuando se hace la instalación de SQL Server.

Page 41: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

La mejor practica es generar mas archivos para la tempdb si se tienen el espacio en disco duro, se generan tantos archivos como se tenga de procedador con un máximo de 8 archivos y el tamaño inicial es de 2 GB se cambia el autogrow por 100mb y se deja hasta un máximo de 4 GB.

Page 42: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Las diferentes base de datos también se deben configurar dependiendo del espacio disponible cuando son bases pequeñas se genera Autogrow de 10% cuando ya son base de datos muy grandes se deben generar del 30% pero con relación a megas o gigas y se deben segmentar en MDF y NDF para poder ser movidas a otros discos duros y mejorar su performance, a esto también los modelos de base de datos si son simples, completas o bulk logged.

Page 43: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Configuration manager: configuración de cuentas de arranque, banderas de arranque, modo de un solo usuario y opciones.

El Configuration manager es la herramienta que administra los servicios Asociados con el SQL Server, configura los protocoles de conexión de red usados por el SQL Server y maneja la configuración la conectividad de red de los clientes de SQL Server atra ves de un servicio de WMI de Windows es capaz de hacer estas funciones a través de un API que es capaz de darnos el poder manipular estos servicios que son modificados a nivel registro del servidor de Windows.

Page 44: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Se manejan diferentes servicios los principales son: SQL Server Engine – Motor de SQL Server

SQL Server Agent - El servicio que controla las automatizaciones.

SQL Browser – El Servicio encargado de escuchar peticiones de entrantes de recursos SQL y provee información de la instancias instaladas en el servidor.

Los servicios adicionales son:

El motor de Indices de Busqueda Completa – El encargado de hacer búsquedas con índices de varias palabras y diferentes complejidades.

SQL Analysis Services – El servicio encargado de generar motores de Base de Datos OLAP y hacer los procesamientos necesarios.

SQL Integration Services – El servicio encargado de generar y procesar Peticiones ETL entre diferentes fuerntes de información o servidores.

SQL Reporting Services – El servicio encargado de generar y administrar los reportes que son diseñados e implementados por Bids o Report Builder.

Page 45: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 46: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Los Servicios pueden ser iniciados de 2 formas principales dependiendo del servicio puede afectar sus limitaciones y su seguridad. Construidos por cuentas default.

Local System - NT AUTHORITY\System con muchos privilegios.

Local Service - servicio local no puede ser accionado por ningún otro Windows.

Network Service - servicio de red el cual puede ser accionando por otro Windows.

Especificados por cuentas

Local User - Usuario con Privilegios de Admin en este Servidor.

Cuenta de Dominio - Usuario que tiene privilegios por Directorio Activo como Admin.

Por seguridad se recomienda configurar estas cuentas con cuentas de dominio que no tengan acceso al servidor de SQL Server solo para iniciar los servicios, dependiendo de cada servicio para mejorar el control de la seguridad.

Page 47: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 48: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

La configuración de protocolos de red del servidor y para poder conectarse desde un cliente son los siguientes: Shared Memory – es un protocolo simple el cual no tiene

configuración y solo sirve para que los clientes locales del mismo servidor se puedan conectar.

Named Pipes – es un protocolo configurado por redes LAN para poder accesar con el nombre del Servidor mientras sea una instancia Default y no nombrada.

TCP/IP – es un protocolo que se configura a través de un ip y un puerto default que es 1433 para establecer la conexión el cual puede ser modificado en caso de que ya este siendo usado.

Tambien existen las alias los cuales pueden dar un fácil acceso al servidor a través de un nombre común.

Page 49: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 50: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Banderas de Arranque

Las banderas de Arranque o Trace Flags son usadas temporalmente para especificar ciertas características dentro del servidor o el servidor se comporte de cierta manera aproximadamente exiten mas de 500 banderas pero aquí hablaremos de las principales y de su uso.

260 – Nos da información acerca de store procedures extendidos y acerca de sus (DLL).

1204 – Regresa los recursos y los tipos de locks particionados y deadlocks y con los comandos actualmente utilizados.

1222 – Regresa los recursos y los tipos de locks particionados y deadlocks y con los comandos actualmente utilizados en formato xml que no es completado por ningún XDS schema.

2528 – Desahibilita el checking paralel para DBCC CHECKDB, DBCC CHECKFILEGROUP, and DBCC CHECKTABLE dejando al servidor como administrador por default el manejo del parelilismo y de los procesadores esto puede afectar en tiempos cuando se hace un Chencking de los diferentes objetos.

3205 – Se deshabilita una opción de Hardware Compression para las cintas magenitcas, esto nos sirve para cambiar cintas con otro sitio que no soporte compression o versiones anteriores.

Page 51: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

3226 – Después de cada Back up exitoso se agrega un evento en el SQL Server Error.

3605 – Mande la información recabada por el trace al Error Log.

3608 – Previene al motor de SQL Server de automáticamente iniciar y recuperar cualquier base de datos excepto la base de datos master. Las base de datos serán son iniciadas y recuperadas cuando son accesadas. Hay características que pueden no funcionar como nivelos de isolación.

3625 – Limita la información proporcionado a los usuarios que no se encuentran en el rol de servidor sysadmin.

4199 – Se generan marcas de seguimiento en el query optimizer para afectuar las correciones hechas previamente a una carga de trabajo.

4616 – Hace accesible los metadatos a nivel servidor al asociarlos con un principal a nivel servidor y poder accesar a estos datos.

6527 – Desahibilita la generación de dump memory en la primera concurrencia y hace excepciones en CLR integration.

8032 – Revierte los parámetros de limite de cache en el servidor de SQL Server para que sea mas amplio.

Page 52: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Configuración de Arranque. Las opciones de arranque designan ciertas direcciones de archivos para el arranque y

se seleccionan varias opciones, esto debe ser modificado a menos que se haga troubleshouting. Si el servidor no encuentra los archivos puede que no inicie el servicio.

Esta configuración puede ser usada tanto por sqlcmd o los parámetros de arranque dentro del SQL Server Configuration Manager.

Algunos de los comandos son: -d Master_file_path La ubicación de la base de datos master.

-e error_log_path La ubicación del log de errores

-l master_log_path La ubicación del log de base de datos master.

-f Inicia con la mínima configuración.

-m Inicia la instancia en modo single user y solo un usuario puede entrar.

-T Inicia un trace junto con la instancia de SQL Server.

-E Aumenta el numero de extensiones colocadas en cada file group.

Page 53: Administración básica y mantenimiento de base de datos SQL Server

2. Administración de bases de datos:

Page 54: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Configurar un plan de mantenimiento Planes de mantenimiento principales:

backup, integridad, índices y mejores practicas.

Schedules como sirven y como configurar diferentes y notificaciones al operador.

Ver Jobhistory y job actitivy monitor para ver su correcto funcionamiento.

Page 55: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Planes de mantenimiento Los planes de mantenimiento es la creación de un flujo de tareas

necesarias para asegurarse de que la base de datos esta optimizada.

Los planes de mantenimiento proporcionan las características siguientes: Creación de flujos de trabajo con diferentes tareas de mantenimiento típicas.

También puede crear sus propios scripts Transact-SQL personalizados.

Jerarquías conceptuales. Cada plan le permite crear o editar flujos de trabajo de tareas. Las tareas de cada plan se pueden agrupar en subplanes, que se pueden programar para ejecutarse a horas diferentes.

Compatibilidad con planes multiservidor que se pueden usar en entornos de servidor maestro o servidor de destino.

Compatibilidad con el historial de planes de registro en los servidores remotos.

Compatibilidad con la Autenticación de Windows y la Autenticación de SQL Server. Siempre que sea posible, utilice la autenticación de Windows.

Page 56: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Se puede configurar de varias formas y tiempos los Planes de mantenimiento pero el optimo es generar es revisar la integridad de la base de datos después generar el back up si es es entre semana reorganizar índices y actualizar estadísticas. si son fines de semana reconstruir índices y la limpieza de los historiales y mantenimientos una vez por mes.

Page 57: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Planes de mantenimiento principales: backup, integridad, índices y mejores practicas.

Hay varias tareas principales para generar un plan de mantenimiento entre ellas: La Tarea de Backup de Base de datos.

La Tarea de Check database Integrity

Reorganizar Indices

Reconstruir Indices

Actualización de Estadísticas

Notificar al Operador

Limpieza del Historial

Page 58: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

La tarea de Back Up de Base de Datos

Esta es la encarga de hacer automáticamente un back up ya se full, diferencia o transaccional de 1 o de multiples bases de datos. Esto puede ser en la instancia local o en otra instancia solo se selecciona la ubicación el archivo y si se quiere verificar la integridad del back up cuando finaliza.

Page 59: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

La Tarea de Check database Integrity

Esta tarea esta encargada de revisar que no tenga errores de integridad la base o bases de datos y esto puede incluir los índices. Esta función nos sirve para saber que la información no esta corrupta y sea verídica.

Page 60: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Reorganizar Índices

La reorganización de índices debe hacer cuando la fragmentación es menor al 15 % y se recomienda hacerlo diario puede ser de tablas o de vistas o de ambos.

Page 61: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento Reconstruir Índices

La reconstrucción de Índices se hace 1 vez por semana y se haces después de que la fragmentación rebasa el 15 % del Índice, se pueden hacer 1 o multiples base de datos también se puede hacer la reconstrucción en línea y se dejar un espacio para que las paginas dentro del índice no se llenen completamente o el default que esta configurado por la instancia.

Page 62: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Actualización de Estadísticas La Actualización de estadísticas es para genera nueva información acerca de que

columna es la mas ocupada o menos ocupada dentro de una tabla de SQL. Se pueden hacer actualizaciones de varias bases de datos o varias tablas o vistas o ambas, esto puede ser solo algunas columnas o todas y puede ser un scaneo completo o parcial.

Page 63: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Limpieza del Historial La limpieza del historial es limpiar el historial de back up, el historial del

agente y/o el historial de planes de mantenimiento esto puede ser con un tiempo de días o se manas se recomienda hacerlo cada 4 semanas para que no crezcan estas tablas de manera exponencial

Page 64: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Una buen practica es generar 2 planes de mantenimiento:

1. Con revisión de Integridad, reconstrucción de índices, back up full, limpieza de historiales. Este semanalmente.

2. Con revisión de Integridad, reorganización de índices, back up diferencial o transaccional y actualización de estadísticas. Este diariamente

Page 65: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Schedules como sirven y como configurar diferentes y notificaciones al operador.

El Schedule es una parte muy importante ya que este nos indica cuando, a que hora, cuantas y con que frecuencia se van a ejecutar esta secuencia de pasos.

Se pueden generar 1 o mas schedules para ejecutar los planes de mantenimiento.

Page 66: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento Notificar al Operador

La notificación al operador es cuando una tarea se ejecuto correctamente o no dependiendo del flujo de datos estos se deben configurar con anterioridad con el database mail y darlo de alta si no, no se pueden enviar correos. Tambien se puede configurar para que mande un mensaje sms al operador pero necesita un carrier de telefonia.

Page 67: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Las tablas que dan información acerca de los planes de mantenimiento son las siguientes: sysdbmaintplan_databases: Contiene una fila por cada base de datos que

tiene un plan de mantenimiento de bases de datos actualizado asociado.

sysdbmaintplan_history: Contiene una fila por cada acción del plan de mantenimiento de bases de datos actualizado que se ha realizado.

sysdbmaintplan_Jobs: Contiene una fila por cada trabajo del plan de mantenimiento de bases de datos actualizado.

Sysdbmaintplans: Contiene una fila por cada plan de mantenimiento de bases de datos actualizado.

Page 68: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento Ver Jobhistory y Job Activity monitor para ver su correcto

funcionamiento. El Job history es un visor dentro del agente el cual nos ayuda a ver el

historial de Job, el nombre del job, su ejecución, la fecha en que se ejecuto, el status de la ejecución y la cuenta con cual fue ejecutada.

Los errores del SQL Log y el Estatus de Database Mail.

Page 69: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

Job Activity monitor

El monitor de job activity es el encargado de ver el status actual de los Jobs y si el status de ejecución actual, el tiempo de ejecución, cuando fue la ultima fecha de ejecución y que tipo de Jobs son.

Page 70: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento Las tablas que dan información acerca de los Jobs son las siguientes:

dbo.sysalerts: Contiene una fila por cada alerta.

dbo.syscategories: Contiene las categorías que usa SQL Server Management Studio para organizar los trabajos, las alertas y los operadores.

dbo.sysdownloadlist: Contiene la cola de instrucciones de descarga para todos los servidores de destino.

dbo.sysjobactivity: Contiene información sobre la actividad y el estado de los trabajos actuales del Agente SQL Server.

dbo.sysjobhistory: Contiene información acerca de la ejecución de los trabajos programados por el Agente SQL Server.

dbo.sysjobs: Almacena la información de cada trabajo programado que debe ejecutar el Agente SQL Server.

dbo.sysjobschedules: Contiene información de programación de los trabajos que el Agente SQL Server debe ejecutar.

dbo.sysjobservers: Almacena la asociación o relación de un trabajo determinado con uno o más servidores de destino.

Page 71: Administración básica y mantenimiento de base de datos SQL Server

3. Jobs y Planes de Mantenimiento

dbo.sysjobsteps: Contiene la información de cada paso de un trabajo que debe ejecutar el Agente SQL Server.

dbo.sysjobstepslogs: Contiene información sobre los registros de pasos de trabajo.

dbo.sysnotifications: Contiene una fila por cada notificación.

dbo.sysoperators: Contiene una fila por cada operador del Agente SQL Server.

dbo.sysproxies: Contiene información sobre las cuentas de proxy del Agente SQL Server.

dbo.sysproxylogin: Registra qué inicios de sesión de SQL Server están asociados a cada cuenta de proxy del Agente SQL Server.

dbo.sysschedules: Contiene información sobre las programaciones de trabajo del Agente SQL Server.

dbo.syssessions: Contiene la fecha de inicio del Agente SQL Server para cada sesión del Agente SQL Server. Se crea una sesión cada vez que se inicia el servicio del Agente SQL Server.

dbo.systaskids: Contiene una asignación de las tareas creadas en versiones anteriores de SQL Server a trabajos de Management Studio de la versión actual.

Page 72: Administración básica y mantenimiento de base de datos SQL Server

4. Ejercicios y practicas de SQL y preguntas y respuestas.

Realizar 10 consultas a tablas del sistema y ver su funcionamiento.

Realizar un trace un servidor de SQL Server y ver su funcionamiento.

Realizar la configuración de memoria en un servidor, generar tempdb dependiendo de las mejores practicas.

Realizar un plan de mantenimiento semanal según las mejores practicas, ejecutarlo.

Revisar el Job History y el Job Activity Monitor.