0% encontró este documento útil (0 votos)
15 vistas

MS SQL Server Developer 2022. Manual(3) (1)

MS SQL Server Developer 2022. Manual(3) (1)
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas

MS SQL Server Developer 2022. Manual(3) (1)

MS SQL Server Developer 2022. Manual(3) (1)
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 115

MS SQL

Microsoft SQL Server 2022

GABRIEL GUZMAN
INDICE
Unidad 1 Instalación y configuración de SQL Server
Introducción a la instalación, configuración y
administración básica de SQL Server.

1. Instalación y configuración de SQL Server


2. Creación de un diccionario de datos
3. Configuración del acceso remoto a la base de datos
4. Parámetros y características del sistema operativo que afectan
al funcionamiento del SGBD
5. Herramientas de soporte para la administración de base de
datos
1. Instalación y configuración de SQL Server

1.1,1 - Introducción a SQL Server Express y Developer

SQL Server Express SQL Server Developer

es una edición gratuita, ideal es una edición gratuita, ofrece


para aplicaciones pequeñas, todas las funcionalidades de SQL
con un límite de 10 GB por Server, pero solo para desarrollo y
pruebas.
base de datos y restricciones
de recursos.
1.1,2 Diferencias entre SQL Server Express y Developer

SQL Server Express SQL Server Developer

Característica Descripción Característica Descripción

Gratuita para aplicaciones pequeñas y de Gratuita Pero solo para desarrollo y pruebas
desarrollo. (no en producción)

Limitación Máximo 10 GB por base de datos. Sin limitaciones de Sin restricciones en el uso de CPU,
hardware memoria o tamaño de base de datos.
Rendimiento limitado Utiliza solo un máximo de 1 CPU y 1410
MB de RAM por instancia. Acceso completo a Incluye todas las funcionalidades de
características SQL Server, como SQL Server Agent,
SSIS, SSRS, y SSAS.
Sin características No incluye funciones como SQL Server
avanzadas Agent, Replicación o Análisis de Datos
(SSAS, SSRS). Ideal para Desarrolladores que necesitan
acceso a todas las características de
SQL Server para crear, probar y
Ideal para Desarrollo de aplicaciones ligeras,
optimizar aplicaciones antes de su
bases de datos pequeñas o prototipos.
implementación en producción.
1.2 Requisitos del sistema
1.3,1 - Instalar SQL Server Developer 2022 en Windows (Imagen)
1 3

2
4 6

5
7
8 9

11
10
12 13

14
15 16 17

18
19
1.3,2 Videos de Instalacion sql
server developer 2022

Basica Personalizado Medios

https://youtu.be/cMEo3Q-Ba3M? https://youtu.be/lgh1wPM1D6Q? https://youtu.be/nm0aOlXq8gM?


si=GBw1svSPdQMysy2m si=Bn6j1tI4gjR-adyH si=J-_gL2N9UICqjaTp
Tipos de comandos SQL

https://youtu.be/YpTK1_hA43Q?
si=nhT0Kuz6B_RTu4w1
1.4 Configuración básica de SQL Server (puerto,
usuario, contraseña, etc.).

Formas de conexión y cómo


habilitar TCP/IP - SQL Server

https://youtu.be/iRYhO75DaiU?
si=hHwUevRlysdY_0Tm
1.5 Creación de un usuario y una base de datos en MySQL Server.

CREAR USUARIO CON CREAR BD, TABLAS Y COMO


PRIVILEGIOS EN SQL SERVER RELACIONARLAS (INTERFAZ
GRAFICA)

https://youtu.be/MpCv2oTPde4? https://youtu.be/Nqhmx-8edQ8?
si=W-PdgtItFM0CSHFp si=tIVC9sDwbra7QiAF
Rol fijo a nivel de servidor Descripción
sysadmin Los miembros de la función fija de
servidor sysadmin pueden realizar cualquier actividad
en el servidor.
serveradmin Los miembros del rol de servidor
fijo serveradmin pueden cambiar las opciones de
configuración de todo el servidor y apagar el servidor.
processadmin Los miembros del rol fijo de
servidor processadmin pueden finalizar procesos que
se están ejecutando en una instancia de SQL Server.
setupadmin Los miembros del rol de servidor
fijo setupadmin pueden agregar y quitar servidores
vinculados mediante instrucciones Transact-SQL. (Se
necesita ser miembro de administrador del
sistema cuando se usa Management Studio).
diskadmin El rol de servidor fijo diskadmin se utiliza para
administrar archivos de disco.
dbcreator Los miembros de la función fija de servidor
dbcreator pueden crear, modificar, quitar y restaurar
cualquier base de datos.
Rol fijo a nivel de servidor Descripción

securityadmin Los miembros de la función fija de


servidor securityadmin administran los inicios de
sesión y sus propiedades. Pueden , y permisos de nivel
de servidor. securityadmin también puede , y
permisos de nivel de base de datos si tiene acceso a
una base de datos. Además, securityadmin puede
restablecer las contraseñas de los inicios de sesión de
SQL Server.

IMPORTANTE: La capacidad de conceder acceso al


motor de base de datos y configurar los permisos de
usuario permite al administrador de seguridad asignar
la mayoría de los permisos del servidor. El
rol securityadmin debe tratarse como equivalente al
rol sysadmin. Como alternativa, a partir de SQL Server
2022 (16.x)SQL Server 2022 (16.x))SQL Server 2022
(16.x)SQL Server 2022 (16.x)SQL Server 2022
(16.x)SQL Server 2022 (16.x)MS_LoginManager SQL
Server 2022 (16.x)SQL Server 2022
(1GRANTDENYREVOKEGRANTDENYREVOKE

Server-Level Role
Rol fijo a nivel de servidor Descripción

bulkadmin Los miembros de la función fija de


servidor bulkadmin pueden ejecutar la instrucción.

Los permisos bulkadmin role o ADMINISTER


BULK OPERATIONS no son compatibles con SQL
Server en Linux. Solo el administrador del
sistema puede realizar inserciones masivas para
SQL Server en Linux.BULK INSERT
public Cada inicio de sesión de SQL Server pertenece al
rol de servidor público. Cuando no se han
concedido o denegado permisos específicos a una
entidad de seguridad de servidor en un objeto
protegible, el usuario hereda los permisos
concedidos al público en ese objeto. Asigne
permisos públicos solo a cualquier objeto cuando
desee que el objeto esté disponible para todos los
usuarios. No puedes cambiar la membresía en
público.

Nota: public se implementa de manera diferente a


otros roles, y los permisos se pueden otorgar,
2. Creación de un diccionario de datos

2.1 Introducción a los conceptos de un diccionario de datos (tablas,


campos, relaciones, etc.)

Base de datos - Diccionario de


datos Ejemplo explicado

https://youtu.be/V3lyKrwJiqE?
si=1HSWU7lRTh1tn_fD
2.2 Creación de tablas en MySQL Server (CREATE TABLE).
2.3 Definición de campos y tipos de datos en MySQL Server.

Lenguaje DDL Tablas,


campos, Tipos de Datos
(6-35) Bases de Datos en
Microsoft Sql Server 2012

https://youtu.be/9ZI8Bm5hYHg?
si=vzKcNOVrJYh3ZdGO
2.4 Creación de índices y relaciones entre tablas en SQL Server.

https://youtu.be/y1TxR53RlYU? https://youtu.be/8HLhKbWqCxo?
si=auLTobuow7Am84oa si=nLYjfCvR-5Tct-tM
2.5 Normalización de bases de
datos.

https://youtu.be/fxbC4cwnb1U?
si=MDl3QUhdzd-4ZlJf
3. Configuración del acceso remoto a la base de datos

3.1 Introducción a los conceptos de acceso remoto a la base de datos

• El acceso remoto a SQL Server es una funcionalidad poderosa


que te permite trabajar con tus datos de manera más flexible y
colaborativa. Sin embargo, es importante tener en cuenta las
consideraciones de seguridad para proteger tus datos.
3.2 Configuración del acceso remoto a la base de datos en MySQL
Server (GRANT, REVOKE, etc.).

Login, Grant,
Revoke

https://youtu.be/GyAoRR99Ah8?
si=4SogFuxb2QN5J_u3
3.3 Creación de usuarios y asignación de permisos para el
acceso remoto.

https://youtu.be/jvGlh1t1UMo?
si=4C7rXKT83-O6djHt
3.4 Configuración de la red para el acceso remoto a la
base de datos.

https://youtu.be/wVNPjDeZOhA?
si=DSt57XoB-2vuq9sc
4.1 Introducción a los parámetros del sistema
operativo que afectan al funcionamiento del SGBD
4.2 configuración de la memoria y el procesamiento
para optimizar el funcionamiento del SGBD
4.3 Configuración de la red y la seguridad del sistema operativo para el
funcionamiento del SGBD.

¿SEGMENTACIÓN de redes?
Firewalls, Routers, VLANs, NGFW,
ACL, IPS, IDS y más!

https://youtu.be/Z6j3ZsqJMKg?
si=5ddz2jEozSnLeMVq
4.4 Monitoreo del rendimiento del
SGBD y ajuste de parámetros

MONITOREO CON EL OPTIMIZAR


T-SQL CONSULTAS

https://youtu.be/SJT2Bly9sWo? https://youtu.be/HGhmtvfczhs?
si=tjUCyHf_1KUg7p7p si=3x6Z5WTG1NBYK98_
5. Herramientas de soporte para la administración de bases
de datos

5.1 Introducción a los lenguajes de consulta


de bases de datos

https://youtu.be/Atpj2UsF65M?
si=PMb0W-O_UR076GKQ
5.2 Estructura básica de una consulta SQL (SELECT, FROM, WHERE, etc.).
5.3 Operadores y funciones en SQL (AND, OR, NOT, SUM, AVG, etc.).

CONSULTAS BÁSICAS en SQL

(SELECT | FROM | WHERE | OPERADORES


RELACIONALES | OPERADORES LOGICOS |
OPERADORES MATEMATICOS Y FUNCIONES
AGREGADAS, ETC)

https://youtu.be/zYXejUC_uGg?
si=SRKYoyy_xNB4PU6A
5.4 Consultas avanzadas en SQL (JOIN, SUBQUERY,
etc.)
CONSULTAS AVANZADAS en SQL
(JOINS | SUBQUEY | ALL, ANY | EXISTS, ETC)

https://youtu.be/X4ffVGDI2Fo?
si=MjAls_guMYMTAtYy
Unidad 2 Administración y mantenimiento de bases de datos
Enseñar las tareas administrativas diarias y la
monitorización del rendimiento de la base de datos.

6. Ejecución de tareas administrativas en SQL Server


7. Monitorización del sistema de bases de datos
8. Documentación de las tareas administrativas
9. Plan de ejecución de las tareas administrativas:
10.Técnicas de resolución de problemas en la
administración de bases de datos
Se recomienda usar SQL Server Developer(Desarrollador) , ya que esta es una
version mas completa, por lo cual posee gran parte del contenido que veras a
continuacion
6. Ejecución de tareas administrativas en SQL Server
6.1 Introducción a la ejecución de tareas administrativas en SQL Server
Gestión de seguridad: Creación y gestión de usuarios,
SQL Server es un sistema de
roles y permisos para controlar el acceso a las bases
gestión de bases de datos
relacional (RDBMS) que permite de datos.
almacenar, organizar y acceder a Copia de seguridad y restauración: Ejecución de
datos. La administración de SQL copias de seguridad regulares y restauración de datos
Server implica diversas tareas para en caso de fallos.
mantener la base de datos Mantenimiento de bases de datos: Realización de
operativa, optimizada y segura. tareas como la reorganización de índices, la
Estas tareas incluyen la actualización de estadísticas y la eliminación de datos
configuración del servidor, la obsoletos.
gestión de la seguridad, la Optimización de rendimiento: Monitoreo y ajuste de
realización de copias de seguridad, las consultas, índices y configuraciones del servidor
la optimización de consultas, y la para asegurar un rendimiento eficiente.
monitorización del rendimiento, Monitoreo de eventos y alertas: Configuración de
entre otras.
alertas para detectar problemas y realizar auditorías de
eventos en el servidor.
Ejecución de tareas administrativas en SQL Server

6.2 Creación de backups en SQL Server

• La creación de copias de seguridad es esencial para proteger


tus datos ante posibles pérdidas o corrupción. SQL Server
ofrece diferentes tipos de backups:
• Backup completo: Copia todos los datos de una base de
datos en un único archivo.
• Backup diferencial: Copia solo los cambios realizados desde
el último backup completo.
• Backup transaccional: Copia las transacciones no
consolidadas desde el último backup completo o diferencial.
6.2,1 Video Backup (Interfaz Grafica)

https://youtu.be/svpQow0wOcI?
si=yUpZvngdFanyS1BN
6.2,2 Video Backup (CODIGO)

https://youtu.be/-95-8vujcQE?
si=ZPikn_1WhSvLdK1r
6.2,3 T-SQL:

COMPLETO:

DIFERENCIAL:

TRANSACCIONAL:
6.3,1 Realización de tareas de mantenimiento en SQL Server

Organizacion y
reconstruccion de
Indices

https://youtu.be/V3r_wIX8aMU?
si=XX_Fc3vBSOBRS8B5
6.3,2 Realización de tareas de mantenimiento en SQL Server

Optimizar
consultas SQL

https://youtu.be/h2aMBZbQYas?
si=aolL1tlxUp9JdxYv
6.3,3 Realización de tareas de mantenimiento en SQL Server

Automatización de
tareas(AGENTE SQL
SERVER)

https://youtu.be/rE3JHWUDoyg?
si=hbWjA8Go5BV2IIAv
6.4 Uso de comandos y herramientas de SQL Server para la ejecución de tareas
administrativas
•sqlcmd: Herramienta de línea de comandos para ejecutar
scripts T-SQL.
•PowerShell: Permite automatizar tareas administrativas de
SQL Server.
•Agent SQL Server: Permite programar tareas como
backups, mantenimiento, etc.

Ejemplo de script en sqlcmd para realizar un backup completo y enviar un


email:
7. Monitorización del sistema de bases de datos en SQL Server
7.1 Introducción a la monitorización del sistema de bases de datos

La monitorización constante de SQL Server es esencial para mantener un rendimiento


óptimo, identificar posibles problemas a tiempo y asegurar la salud de las bases de datos.
Utilizando las herramientas adecuadas y ejecutando consultas T-SQL, los administradores
de bases de datos pueden detectar y solucionar problemas antes de que afecten al
rendimiento o la disponibilidad del sistema.

Monitorear la actividad: ayuda a identificar si el sistema está


experimentando bloqueos, deadlocks (bloqueos circulares) o una alta
cantidad de transacciones.

Extended Events: Un sistema flexible para rastrear eventos específicos en el


servidor, como bloqueos, esperas y consultas lentas.

SQL Server Profiler: Una herramienta para capturar y analizar eventos que
ocurren en una instancia de SQL Server.
7.2 Supervisión del rendimiento en SQL Server
•Monitor de Actividad: Esta herramienta en SSMS muestra información en tiempo real
sobre las consultas en ejecución, las sesiones activas, los bloqueos y el uso de recursos
del sistema.

•DMVs: Utiliza DMVs como sys.dm_exec_requests, sys.dm_os_wait_stats,


sys.dm_io_virtual_file_stats para obtener datos detallados sobre el rendimiento de las
consultas, las esperas y el E/S.

•Consultas lentas: Utiliza sys.dm_exec_query_stats para identificar las consultas que


consumen más recursos y ajustarlas si es necesario.

•Índices: Verifica si los índices están fragmentados y los reorganiza o reconstruye si es


necesario.

•Estadísticas: Asegúrate de que las estadísticas de las tablas estén actualizadas para que
el optimizador de consultas genere planes de ejecución eficientes.
7.2,1 Supervisión del rendimiento en SQL Server

Gestión de Rendimiento en
Bases de Datos Sql Server-
Monitor de Actividades

https://youtu.be/EOdO_eGT-q8?
si=06-UifjiDSmtymFG
7.2,2 Supervisión del rendimiento en SQL Server

MONITOREO CON EL
T-SQL

https://youtu.be/SJT2Bly9sWo?si=-
acrDruxw1tT6KPG
7.2,3 Supervisión del rendimiento en SQL Server

ESTADISTICAS EN
SQL SERVER

https://youtu.be/3oMXKcOJLds?
si=d8Ht5vhcHB_clMzE
7.3 Detección de errores en SQL Server

•SQL Server Error Log: Revisa el archivo de registro de errores para identificar cualquier
mensaje de error o advertencia.

•Extended Events: Configura sesiones de Extended Events para capturar eventos específicos
relacionados con errores, como deadlocks, errores de transacción y excepciones.

•SQL Server Profiler: Utiliza SQL Server Profiler para rastrear eventos relacionados con
errores y analizarlos.

•DMVs: Consulta DMVs como sys.dm_exec_errors y sys.messages para obtener


información sobre los errores que se han producido.
7.3,1 Detección de errores en SQL Server

Cómo controlar los


errores en tu SQL
paso a paso

https://youtu.be/XMca47lDWus?
si=2kBd-8jqb4TmUfoD
7.3,2 Detección de errores en SQL Server

ACCEDER AL MONITOR
DE ACTIVIDAD Y A LOS
ERROR LOGS

https://youtu.be/xSsR0bZ1tRI?
si=yIMcUxJgNuMs91Uy
7.4 Uso de herramientas de monitorización en SQL Server

•SQL Server Management Studio: Como se mencionó


anteriormente, SSMS es la herramienta principal para la
monitorización.

•SQL Server Data Tools (SSDT): Permite crear y administrar


soluciones de base de datos, incluyendo la creación de informes y
dashboards personalizados.

•Herramientas de terceros: Existen numerosas herramientas de


terceros que ofrecen funcionalidades adicionales para la
monitorización de SQL Server, como SentryOne, Red Gate y
Pasos
ApexSQL.Prácticos para la Monitorización
1.Configurar una línea base: Establece un punto de referencia para el rendimiento de tu servidor.
2.Identificar los indicadores clave de rendimiento (KPIs): Define los KPIs que son importantes
para tu aplicación, como el tiempo de respuesta de las consultas, el uso de CPU y memoria, y la tasa
de errores.
3.Utilizar las herramientas adecuadas: Elige las herramientas que mejor se adapten a tus
necesidades y nivel de experiencia.
4.Analizar los datos: Revisa los datos recopilados para identificar tendencias, patrones y anomalías.
5.Ajustar y optimizar: Realiza los cambios necesarios en tu base de datos y aplicación para mejorar
el rendimiento y resolver problemas.
8. Documentación de las tareas administrativas

8.1 Introducción a la documentación de las tareas administrativas

•Propósito: Registrar los cambios realizados en la base de datos,


procedimientos, scripts y cualquier otra acción relevante.

•Beneficios: Facilita la resolución de problemas, la auditoría, la


transferencia de conocimiento y la planificación de futuras tareas.

• Elementos clave:

• Fecha y hora: Cuando se realizó el cambio.


• Usuario: Quién realizó el cambio.
• Descripción detallada: Qué se hizo y por qué.
• Resultados: El impacto del cambio en el sistema.
• Scripts: Los scripts SQL utilizados para realizar el cambio.
8.2 Creación de informes en SQL Server

• Informes personalizados: Utiliza T-SQL para crear consultas que


extraigan los datos necesarios para generar informes.

• Report Builder: Diseña informes más complejos con gráficos y tablas.


• Integration Services (SSIS): Automatiza la generación de informes de
forma programada.

•DMVs: Las DMVs (Vistas de administración dinámica) proporcionan una


gran cantidad de información sobre el estado del servidor y las bases de
datos. Puedes utilizarlas para crear informes personalizados.

•Power BI: Conecta a SQL Server y crea visualizaciones interactivas y


dashboards para monitorear el rendimiento y la salud de tu base de datos.
8.2,1 Creación de informes en SQL Server

SSIS en
SQL Server

https://youtu.be/5s8XCAAe7E8?
si=P7ViWRl9iLuB9bFm
8.2,2 Creación de informes en SQL
Server

1:58 / 2:57

¿Cómo conectar
Power BI con Sql
Server y crear
reportes?

https://youtu.be/k1ekhSdSiQE?
si=oJ9Xvqv1GDBiOBfC
8.3 Gestión de la documentación en SQL
Server 1. Documentación de la Estructura de la
Base de Datos

La gestión de la documentación en
SQL Server es esencial para 2. Documentación de Procedimientos
garantizar la correcta administración Almacenados y Funciones

de las bases de datos. Al documentar


3. Documentación de Seguridad
la estructura, la seguridad, los
procedimientos almacenados, las
4. Documentación de Configuración del
configuraciones y las copias de Servidor
seguridad, se facilita el
mantenimiento y se minimiza el
5. Documentación de Copias de
riesgo de errores o pérdidas de Seguridad y Recuperación
datos. Mantener una documentación
organizada y accesible es clave para
6. Monitoreo y Rendimiento
cualquier equipo de administración
de bases de datos.
7. Herramientas de Documentación
8.4 Uso de herramientas de documentación en SQL
Server

Las herramientas de documentación en SQL Server, como Redgate SQL Doc,


ApexSQL Doc, dbForge Documenter y las capacidades de SSMS y SSDT,
permiten automatizar y facilitar el proceso de documentación de bases de datos.

Documentar base de
datos: 5 herramientas
[2020]

https://youtu.be/n3zV0BWkllQ?
si=9Li2-oV3Kbh7coiK
9. Plan de Ejecución de las Tareas Administrativas

9.1 Introducción al plan de ejecución de las tareas administrativas

El plan de ejecución de tareas administrativas en SQL Server es esencial para garantizar


un rendimiento óptimo, la seguridad y la disponibilidad de la base de datos. Este plan
organiza y automatiza las tareas clave que deben realizarse de manera regular para
mantener el sistema de bases de datos funcionando de forma eficiente.

Las tareas administrativas incluyen, entre otras, la gestión de copias de seguridad,


mantenimiento de índices, actualización de estadísticas, gestión de usuarios y roles,
monitoreo de rendimiento y auditoría de seguridad. Un plan de ejecución bien estructurado
asegura que todas las actividades se lleven a cabo de forma oportuna y en el orden
correcto, minimizando el riesgo de errores y garantizando la continuidad operativa.

Un plan adecuado no solo mejora el rendimiento de SQL Server, sino que también ayuda a
cumplir con los requisitos de recuperación ante desastres y optimización continua.
9.2 Programación de tareas en SQL Server

•SQL Server Agent: Es la herramienta principal para programar


tareas en SQL Server. Permite crear trabajos que se ejecutan de
forma periódica o según un evento específico.

https://youtu.be/Xb-JBXXCrpE?
https://youtu.be/Q8YXds3yO4M?
si=fpqJt2TXwkFBrZA6
si=xqNqbmfHHU6uO9er
9.3 Gestión de la carga de trabajo en SQL Server

La gestión de la carga de trabajo en SQL Server es esencial para garantizar que el sistema funcione
de manera eficiente y sin interrupciones. Utilizar herramientas como Resource Governor, optimizar
consultas, gestionar bloqueos y distribuir la carga entre servidores son estrategias clave para mejorar
el rendimiento y garantizar la disponibilidad de la base de datos. Con un enfoque adecuado, es
posible manejar grandes volúmenes de trabajo y asegurar que las tareas críticas reciban la prioridad y
los recursos necesarios para ejecutarse de manera óptima.
9.3,1 Gestión de Recursos en SQL Server
Ejemplo de configuración:
La gestión de recursos se refiere a la administración de los recursos
del servidor, como CPU, memoria, y espacio en disco, para
asegurarse de que las consultas y tareas se ejecuten sin comprometer
el rendimiento general del sistema.

● Resource Governor: Esta es una característica de SQL Server


que permite administrar y controlar el uso de los recursos por
parte de las conexiones de la base de datos. Permite asignar Monitoreo de Recursos: Utilizar Dynamic
grupos de recursos a diferentes tipos de cargas de trabajo, lo Management Views (DMVs) para obtener
que garantiza que las tareas críticas reciban prioridad sobre las información sobre el uso de los recursos del
menos importantes. sistema. Estas vistas permiten identificar
Configuración de Resource Governor: cuellos de botella en la CPU, la memoria o
1. Crear un Pool de Recursos: Define límites para el uso los discos y ajustarlas de manera efectiva.
de CPU y memoria.
2. Asignar grupos de trabajo: Puedes clasificar las Ejemplo de consulta para monitorear el uso
conexiones en diferentes grupos según su tipo de tarea de recursos:
(por ejemplo, consultas de informes vs. transacciones
críticas).
9.3,2 Gestión de Prioridades de Tareas
Ejemplo de configuración de
La gestión de prioridades permite controlar qué tareas prioridades en Resource Governor:
o consultas deben ejecutarse con mayor urgencia en
función de su importancia. SQL Server proporciona
diversas herramientas y configuraciones para priorizar
las tareas.

● Priorizar tareas con Resource Governor:


Puedes configurar Resource Governor para dar
más recursos a ciertos grupos de trabajo o tareas.
Esto es útil cuando necesitas que las tareas Uso de Query Store para priorizar
críticas, como transacciones de base de datos o consultas: Query Store almacena el
historial de consultas, lo que permite
procedimientos almacenados esenciales, tengan
identificar y optimizar aquellas que
mayor prioridad sobre otras tareas, como consumen demasiados recursos. Puedes
consultas de informes. usar esta información para ajustar los
planes de ejecución y priorizar las
consultas que requieren más atención.
Optimización del Rendimiento
Ejemplo de consulta para obtener
La optimización del rendimiento es clave para una el plan de ejecución de una
gestión efectiva de la carga de trabajo. SQL Server ofrece consulta:
diversas técnicas para mejorar el rendimiento y reducir el
impacto de las tareas que consumen muchos recursos.

● Optimización de Consultas: Asegurarse de que las


consultas SQL estén bien optimizadas es
fundamental para evitar que consuman recursos
innecesarios. Utilizar índices adecuados, evitar
consultas complejas o subconsultas innecesarias y
mantener las estadísticas actualizadas son algunas
de las prácticas recomendadas.
● Planes de Ejecución: Analizar los planes de
ejecución de las consultas ayuda a identificar
problemas de rendimiento y a ajustar las consultas
para mejorar su eficiencia. Herramientas como el
SQL Server Profiler y las Dynamic Management
Views (DMVs) pueden ayudar a detectar consultas
lentas y optimizarlas.
Monitoreo de Carga de Trabajo
Ejemplo de consulta para obtener
Monitorear el estado de la carga de trabajo es crucial para detalles de las sesiones en
identificar cuellos de botella y ajustar las prioridades y los ejecución:
recursos en consecuencia. SQL Server ofrece varias
herramientas para obtener información detallada sobre la
carga de trabajo en tiempo real.

● SQL Server Profiler: Utilizado para capturar y


analizar los eventos que ocurren en SQL Server,
incluyendo consultas, bloqueos, y otros eventos
relacionados con la carga de trabajo.
● Activity Monitor: Herramienta integrada en SQL
Server Management Studio (SSMS) que ofrece una
vista en tiempo real de las actividades del sistema,
incluyendo los procesos que consumen más
recursos.
● DMVs (Dynamic Management Views): Permiten
obtener información sobre el estado de las consultas
y los procesos en ejecución. Estas vistas son útiles
para detectar consultas que están generando un alto
consumo de CPU o de I/O.
5. Distribución de la Carga de Trabajo

En entornos con alta carga, es útil distribuir la carga de trabajo


entre diferentes servidores o instancias de SQL Server para
mejorar el rendimiento y evitar sobrecargar un solo servidor.

● Replicación y Always On Availability Groups: Usar la


replicación o los Always On Availability Groups permite
distribuir la carga entre varios servidores, asegurando que
las tareas de lectura intensiva (como los informes) puedan
ser manejadas por una réplica secundaria sin afectar el
rendimiento de la base de datos principal.
● Particionamiento de Tablas: El particionamiento permite
dividir grandes tablas en fragmentos más pequeños, lo que
mejora el rendimiento de las consultas y facilita la gestión
de grandes volúmenes de datos. Las consultas se ejecutan
solo en las particiones relevantes, lo que reduce la carga
en el sistema.
PLAN DE EJECUCION EN SQL SERVER

https://youtu.be/U9uXKc-PkXw?
si=7AakT0W9xjH_4eQO
9.4 Uso de herramientas de planificación en SQL Server

Las herramientas de planificación en SQL Server permiten


automatizar tareas administrativas y de mantenimiento,
mejorando la eficiencia y reduciendo errores humanos. A
continuación se describen las principales herramientas
utilizadas para este propósito.

1. SQL Server Agent 3. SQLCMD y Programador de Tareas de Windows

SQL Server Agent es la herramienta principal para la SQLCMD permite ejecutar scripts SQL desde la línea de
programación de tareas en SQL Server. Permite crear y comandos, y el Programador de Tareas de Windows
automatizar trabajos (jobs) como copias de seguridad, puede usarse para programar estos scripts de manera
mantenimiento de índices y ejecución de scripts. automática.

2. Planes de Mantenimiento
4. SQL Server Profiler
Los Planes de Mantenimiento son una herramienta gráfica
SQL Server Profiler permite capturar y analizar
que facilita la creación de tareas rutinarias como copias de
eventos en tiempo real, útil para diagnosticar
seguridad, reorganización de índices y actualización de
problemas de rendimiento y optimizar consultas.
estadísticas.
VIDEO de Gestionar SQL Server con
Power Shell

https://youtu.be/lUbem8srVW0?
si=sb-fTRYYrZERwd1S
10. Técnicas de resolución de problemas en la administración de bases de datos

10.1 Introducción a las técnicas de resolución de problemas en la


administración de bases de datos
La resolución de problemas en la administración de bases de datos es una habilidad
esencial para garantizar el funcionamiento óptimo de un sistema de bases de datos. Los
administradores de bases de datos (DBAs) deben identificar, diagnosticar y solucionar
diversos problemas que puedan afectar el rendimiento, la seguridad y la disponibilidad de
los datos. Estas técnicas incluyen:

1. Monitoreo y Diagnóstico 3. Optimización de Consultas 4. Gestión de Recursos

El monitoreo constante del rendimiento del sistema y La optimización de consultas es crucial La administración adecuada de
el uso de herramientas de diagnóstico, como SQL para mejorar el rendimiento. El uso de recursos, como CPU, memoria y
Server Profiler o Dynamic Management Views planes de ejecución y la identificación de almacenamiento, ayuda a evitar que el
(DMVs), ayuda a identificar cuellos de botella, consultas ineficientes permite ajustar sistema se sobrecargue. El uso de
consultas lentas, o problemas de recursos (CPU, índices, modificar consultas o actualizar herramientas como Resource
memoria, I/O). estadísticas para mejorar la velocidad de Governor permite asignar recursos de
las operaciones. manera eficiente a las diferentes tareas
2. Análisis de Registros y Errores y procesos del servidor.
5. Respaldo y Recuperación
Revisar los registros de eventos y los archivos de error
de SQL Server es clave para identificar problemas Es esencial tener estrategias de respaldo y recuperación bien definidas para
recurrentes o específicos. Los mensajes de error garantizar la disponibilidad de los datos en caso de fallos. La creación de copias
proporcionan información detallada que puede guiar al de seguridad periódicas y el uso de planes de recuperación ante desastres son
DBA en la solución de problemas. pasos fundamentales para mitigar riesgos.
10.2 Identificación de errores en SQL Server análisis de logs, depuración de
consultas, etc.)

1. Análisis de Logs en SQL Server

Los logs (registros de eventos) son una fuente esencial para identificar errores y problemas de rendimiento en SQL
Server. Existen varios tipos de logs que un DBA debe revisar:

Logs de SQL Server

● SQL Server Error Log: Registra eventos críticos, como errores de conexión, fallos en la base de datos, y
problemas de configuración.
○ Ubicación: Se puede acceder a través de SSMS (SQL Server Management Studio) bajo Management >
SQL Server Logs.
○ Contenido: Incluye mensajes sobre fallos del servidor, información de la base de datos, advertencias, y
errores severos.
● Application Log: Registra eventos de la aplicación relacionados con SQL Server, como errores de conexión y
problemas de red.
● Transaction Log: Cada base de datos mantiene un log de transacciones que registra todas las modificaciones
en los datos. Si hay un error de actualización o de transacción, puedes revisar el log para encontrar la causa.
2. Depuración de Consultas en SQL Server

La depuración de consultas es fundamental para resolver problemas de rendimiento y errores de


ejecución. Algunas herramientas y técnicas clave para depurar y optimizar consultas incluyen:

SQL Server Profiler

SQL Server Profiler permite capturar y analizar eventos en tiempo real. Puedes utilizarlo para
depurar consultas problemáticas y analizar cómo se ejecutan las instrucciones SQL.

● Uso:
1. En SSMS, selecciona Tools > SQL Server Profiler.
2. Crea una nueva traza para capturar eventos como SQL:BatchStarting o
SQL:StmtStarting.
3. Filtra los eventos según el tipo de error o consulta que deseas depurar.

Dynamic Management Views (DMVs)

Las DMVs proporcionan información detallada sobre el estado del servidor, las sesiones activas y
las consultas en ejecución. Son útiles para identificar problemas de rendimiento y consultas
bloqueadas.
Consultas comunes:
Planes de Ejecución

● Para obtener detalles sobre El plan de ejecución de una consulta muestra cómo SQL Server planea
consultas lentas: ejecutar la consulta y permite identificar cuellos de botella, como la falta de
índices adecuados o el uso excesivo de recursos.

● Cómo obtener un plan de ejecución:


1. En SSMS, escribe una consulta SQL y selecciona el botón
"Mostrar plan de ejecución" o presiona Ctrl + M antes de
ejecutar la consulta.
2. El plan de ejecución se mostrará en una pestaña adicional con
Para ver bloqueos y bloqueados: detalles sobre el uso de índices, operadores, y costos asociados.

Optimización de Consultas

Si una consulta es lenta, las siguientes prácticas pueden ayudar a identificar y


resolver problemas:

● Revisión de índices: Asegúrate de que las columnas utilizadas en las


condiciones de búsqueda estén indexadas.
● Evitar consultas complejas: Si una consulta contiene subconsultas
anidadas, evalúa la posibilidad de reescribirla o simplificarla.
● Revisar las estadísticas: Las estadísticas desactualizadas pueden
afectar el rendimiento. Usa el comando UPDATE STATISTICS para
mantenerlas al día.
10.3 Resolución de problemas de rendimiento en SQL Server (optimización de consultas, ajuste de parámetros,
etc.)

La resolución de problemas de rendimiento en SQL Server


se centra en identificar y corregir cuellos de botella que afectan 2. Ajuste de Parámetros de Configuración
la eficiencia de las consultas y el servidor. A continuación, se
presentan las técnicas clave para mejorar el rendimiento de ● Max Degree of Parallelism (MAXDOP): Controla
SQL Server. cuántos procesadores se utilizan para ejecutar una
consulta en paralelo. Ajusta este valor según la
1. Optimización de Consultas carga de trabajo.

● Revisar el Plan de Ejecución: Ayuda a


identificar operaciones ineficientes, como
escaneos de tabla completos. Usa SSMS Memoria del Servidor: Ajusta max server memory para
para ver el plan de ejecución con Ctrl + M. asegurar que SQL Server tenga suficiente memoria sin
● Índices: Asegúrate de tener índices consumir recursos excesivos.
adecuados en las columnas utilizadas en
WHERE, JOIN y ORDER BY. Reorganiza o
reconstruye índices periódicamente.
● Reescribir Consultas: Evita subconsultas
innecesarias o usa EXISTS en lugar de IN
para mejorar el rendimiento de consultas
complejas.
3. Monitoreo de Recursos

● SQL Server Profiler: Monitorea las consultas que 4. Mantenimiento de la Base de Datos
están afectando el rendimiento. Identifica consultas
● Reorganizar y Reconstruir Índices: Los
lentas o bloqueadas.
● índices fragmentados ralentizan las
Dynamic Management Views (DMVs): Proporcionan
información sobre el uso de recursos y sesiones consultas. Usa comandos como ALTER
activas. INDEX para optimizarlos.

Actualizar Estadísticas: Mantén las estadísticas


actualizadas para mejorar la toma de decisiones del
optimizador de consultas.
10.4 Uso de herramientas de depuración en SQL Server (SQL Server Management Studio,
etc.)
Las herramientas de depuración como SSMS, SQL Server Profiler, DMVs, y Extended
Events son esenciales para identificar y resolver problemas en SQL Server. Estas
herramientas permiten realizar un diagnóstico preciso y optimizar el rendimiento,
garantizando la estabilidad del sistema.

1. SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) es la herramienta principal para la administración y


depuración de bases de datos en SQL Server.

● Depuración de Consultas: SSMS permite ejecutar consultas paso a paso para observar su
comportamiento.
○ Cómo depurar: En SSMS, puedes usar el modo de depuración seleccionando Debug en la
barra de herramientas o presionando Alt + F5. Esto permite ejecutar una consulta línea
por línea, inspeccionar variables y ver el estado de la ejecución.
● Planes de Ejecución: Ayuda a visualizar cómo SQL Server ejecuta una consulta.
○ Cómo usar: Selecciona Mostrar plan de ejecución (Ctrl + M) antes de ejecutar la consulta. El
plan detalla las operaciones realizadas, como índices, uniones y escaneos de tabla.
3. Dynamic Management Views (DMVs)
2. SQL Server Profiler
Las DMVs proporcionan información detallada sobre el
SQL Server Profiler captura eventos y actividades
estado de las consultas, recursos y actividad del servidor.
del servidor en tiempo real, ayudando a depurar y
analizar consultas lentas o errores. ● Consultas útiles:
● Uso:
Para ver las consultas en ejecución:
1. En SSMS, ve a Tools > SQL Server
Profiler.
2. Crea una nueva traza para capturar
eventos como SQL:BatchStarting, Para obtener detalles sobre los bloqueos:
SQL:StmtStarting, y ErrorLog.
● Beneficio: Puedes detectar consultas lentas,
bloqueos o problemas de rendimiento en
tiempo real.

4. Extended Events

Extended Events es una herramienta avanzada para la recolección de datos y depuración. Permite monitorear eventos en el
servidor, incluidos los errores, el rendimiento y las consultas.

● Uso:
1. En SSMS, ve a Management > Extended Events.
2. Crea una nueva sesión para capturar eventos específicos y analizarlos posteriormente.
10.5 Técnicas de resolución de problemas comunes en SQL Server (errores de conexión, errores de
autenticación, etc.)

1. Errores de Conexión 2. Errores de Autenticación

● ● Verificar el Modo de Autenticación:


Verificar la Configuración del Servidor:

○ ○ Asegúrate de que el modo de


Asegúrate de que el servicio de SQL Server esté
en ejecución. autenticación (Windows o SQL Server)
○ Comprueba que el puerto TCP/IP (por defecto esté configurado correctamente en las
1433) esté abierto en el firewall. propiedades del servidor.
● ● Revisar Credenciales:
Comprobar la Cadena de Conexión:

○ ○ Confirma que el nombre de usuario y la


Verifica que la cadena de conexión esté
correctamente formateada y que incluya el nombre contraseña sean correctos. Si es
del servidor, la base de datos y las credenciales necesario, restablece la contraseña del
necesarias. usuario.
● ● Permisos de Usuario:
Usar SQL Server Management Studio (SSMS):

○ ○ Asegúrate de que el usuario tenga


Intenta conectarte a través de SSMS para
confirmar si el problema es específico de la permisos suficientes para acceder a la
aplicación o del servidor. base de datos.
3. Errores de Tiempo de Espera (Timeout) 4. Errores de Red

● Ajustar el Tiempo de Espera: ● Verificar Conectividad:

○ Incrementa el tiempo de espera de conexión en la ○ Utiliza herramientas como ping o telnet para
cadena de conexión si las consultas tardan más de comprobar la conectividad entre el cliente y el
lo esperado. servidor.
● Optimizar Consultas: ● Configuración del Firewall:

○ Revisa y optimiza las consultas SQL que puedan ○ Asegúrate de que el firewall no esté
estar causando demoras excesivas. bloqueando el tráfico hacia el puerto de SQL
Server.

5. Revisar los Registros de Errores 6. Reiniciar el Servicio

● Consultar el Registro de Errores de SQL Server: ● Reiniciar SQL Server:


○ Accede a los registros de errores para ○ Si los problemas persisten,
obtener información más detallada sobre considera reiniciar el
cualquier problema que esté ocurriendo. servicio de SQL Server
para resolver posibles
bloqueos o problemas
temporales.
Video de Como detectar Deadlock
(interloqueos) con el SQL Server Profiler

https://youtu.be/xCoH-CUpbnE?
si=fZfhq7-Lw8F_Wlon
Unidad Seguridad en SQL Server
3
Proteger la base de datos contra amenazas y asegurar el
acceso controlado.

11. Autentificación y autorizacion de usuarios en SQL Server


12.Gestion de permisos en SQL Server
13. Proteccion de la Base de Datos ante Amenazas
14. Cifrado de datos en SQL Server
15. Auditoria y seguimiento de la seguiradad en SQL Server
11. Autentificación y autorizacion de usuarios en SQL Server
11.1Creación de usuarios en SQL Server.
11.2Asignación de permisos a los usuarios en SQL Server.

crear usuarios con


permisos(INTERFAZ
GRÁFICA)

https://youtu.be/hCs9K_e1Kiw?
si=DbklRJ_3PiKop4u1
11.3 Uso de contraseñas y autenticación de dos factores en
SQL Server.
La seguridad en SQL Server es esencial para proteger los 2. Autenticación de Dos Factores (2FA)
datos. A continuación se presentan las mejores prácticas para el
uso de contraseñas y la implementación de autenticación de ● Implementación:
dos factores (2FA).
1. SQL Server no tiene soporte nativo para 2FA, pero
1. Uso de Contraseñas se puede implementar a través de:
■ Azure Active Directory (Azure AD):
● Políticas de Contraseñas: Permite habilitar 2FA para usuarios que
acceden a SQL Server en Azure.
○ Complejidad: Las contraseñas deben incluir letras ■ Herramientas de Terceros: Utilizar
mayúsculas, minúsculas, números y caracteres aplicaciones de autenticación que envían
especiales. códigos de verificación.
○ Longitud: Se recomienda un mínimo de 8 ● Configuración de 2FA con Azure AD:
caracteres, siendo preferible una longitud mayor.
○ Expiración: Configura las contraseñas para que 1. Accede al portal de Azure.
expiren cada 30-90 días. 2. Navega a "Azure Active Directory".
● Configuración en SQL Server: 3. Selecciona "Seguridad" y luego "Autenticación
multifactor".
Al crear un login, habilita la política de contraseñas: 4. Configura las políticas según las necesidades de
seguridad.
12. Gestión de permisos en SQL Server
12.1 Creación de roles en SQL Server.

Los roles en SQL Server son utilizados para agrupar 2. Creación de un Rol de Base de Datos
permisos y facilitar la gestión de seguridad,
permitiendo asignar permisos a un conjunto de Usando T-SQL:
usuarios en lugar de hacerlo individualmente.

1. Tipos de Roles
3. Asignación de Permisos a un Rol
● Roles de Servidor: Se aplican a nivel de servidor y
Para asignar permisos a un rol, utiliza el
pueden incluir permisos para gestionar bases de datos y
comando GRANT.
servidores.
● Roles de Base de Datos: Se aplican a nivel de base de
datos y permiten gestionar permisos específicos dentro
de esa base de datos. EJEMPLO:
3. Asignación de Permisos a un Rol 5. Visualización de Roles y Miembros

Para asignar permisos a un rol, utiliza el Para ver los roles existentes y sus miembros, puedes
comando GRANT. utilizar las siguientes consultas:

Ejemplo: Listar roles:

4. Asignación de Usuarios a un Rol Listar miembros de un rol específico:

Para agregar usuarios a un rol, utiliza el


comando ALTER ROLE.

Ejemplo:
12.2 Asignación de permisos a los roles en SQL Server. Ejemplo:

La asignación de permisos a roles en SQL Server


permite gestionar de manera eficiente el acceso y
las acciones que los usuarios pueden realizar 3. Revocación de Permisos
sobre los objetos de la base de datos.
Para eliminar permisos previamente otorgados, se
utiliza el comando REVOKE.
1. Tipos de Permisos
Sintaxis:
● Permisos de DML: SELECT, INSERT, UPDATE,
DELETE.
● Permisos de DDL: CREATE, ALTER, DROP.
● Permisos de Control: EXECUTE (para Ejemplo
procedimientos almacenados).

2. Asignación de Permisos a un Rol

Para asignar permisos a un rol, se utiliza el comando


GRANT.

Sintaxis:
4. Visualización de Permisos Asignados a un Rol

Para ver los permisos asignados a un rol, puedes utilizar la


siguiente consulta:
12.3 Uso de privilegios y acceso controlado en SQL
Server.
El manejo de privilegios y el acceso controlado son
esenciales para garantizar la seguridad de los datos en 3. Asignación de Privilegios
SQL Server. A continuación, se presentan los conceptos
Los privilegios se pueden asignar utilizando los
clave y las prácticas recomendadas.
comandos GRANT, DENY y REVOKE.
1. Privilegios en SQL Server
GRANT: Asigna permisos a un usuario o rol.
Los privilegios son derechos que permiten a los usuarios
realizar acciones específicas en la base de datos, como:
DENY: Niega permisos a un usuario o rol, incluso si se han
● DML (Data Manipulation Language): SELECT, otorgado anteriormente.
INSERT, UPDATE, DELETE.
● DDL (Data Definition Language): CREATE,
ALTER, DROP.
● Control: EXECUTE (para procedimientos REVOKE: Elimina permisos previamente otorgados.
almacenados), GRANT, REVOKE.

2. Control de Acceso

SQL Server utiliza varios niveles de control de acceso:

● Inicio de Sesión: Los usuarios deben autenticarse para acceder al servidor.


● Roles: Agrupan permisos que se pueden asignar a múltiples usuarios, facilitando la gestión.
● Permisos: Se pueden otorgar a usuarios o roles específicos sobre objetos como tablas, vistas y procedimientos.
13. Protección de la Base de Datos ante Amenazas
13.1 Configuración de la seguridad de la red en SQL Server.

1. Importancia de la Seguridad de la Red 2.2. Configurar la Autenticación de SQL Server

La seguridad de la red protege tu servidor SQL de accesos ● Acción: Utiliza la autenticación de Windows
no autorizados y ataques maliciosos. Configurar siempre que sea posible.
adecuadamente la seguridad de la red es esencial para ● Cómo hacerlo:
salvaguardar la integridad y confidencialidad de los datos. ○ En SQL Server Management Studio
(SSMS), haz clic derecho en el servidor y
2. Pasos para Configurar la Seguridad de la Red selecciona "Propiedades".
○ En la pestaña "Seguridad", elige
2.1. Habilitar el Firewall de Windows "Autenticación de Windows" o "Modo mixto"
según tus necesidades.
● Acción: Configura el Firewall de Windows para
permitir solo el tráfico necesario.
● Cómo hacerlo: 2.3. Limitar el Acceso a IPs Específicas
○ Abre el "Panel de Control".
● Acción: Restringe el acceso al servidor SQL a
○ Ve a "Sistema y Seguridad" > "Firewall de
direcciones IP específicas.
Windows". ● Cómo hacerlo:
○ Selecciona "Configuración avanzada" y
○ En el Firewall de Windows, crea reglas que
crea reglas de entrada y salida para
permitan el tráfico solo desde direcciones IP
permitir el tráfico en el puerto de SQL
autorizadas.
Server (por defecto, el puerto 1433).
2.4. Usar Encriptación de Datos en Tránsito

● Acción: Implementa SSL/TLS para cifrar la conexión entre el cliente y el servidor.


● Cómo hacerlo:
○ Obtén un certificado SSL y configúralo en SQL Server.
○ Asegúrate de que los clientes estén configurados para utilizar conexiones
encriptadas.

2.5. Monitoreo y Auditoría de Seguridad

● Acción: Implementa un sistema de monitoreo para registrar


accesos y actividades sospechosas.
● Cómo hacerlo:
○ Habilita la auditoría en SQL Server para registrar eventos de
inicio de sesión y cambios en la configuración de seguridad.
○ Utiliza herramientas de monitoreo para detectar y alertar
sobre actividades inusuales.
13.2 Protección contra ataques de inyección de SQL en SQL Server.

Los ataques de inyección de SQL son una de las 2. Estrategias de Protección


vulnerabilidades más comunes y peligrosas en aplicaciones
2.1. Uso de Consultas Preparadas y Parámetros
que interactúan con bases de datos. Esta sección describe
las mejores prácticas para proteger tu base de datos SQL ● Acción: Siempre utiliza consultas preparadas
Server contra estos ataques. o declaraciones parametrizadas en lugar de
concatenar cadenas SQL.

1. Comprendiendo la Inyección de SQL Cómo hacerlo:

La inyección de SQL ocurre cuando un atacante inserta o


"inyecta" código SQL malicioso en una consulta a través de
entradas no validadas. Esto puede permitirle al atacante
ejecutar comandos no autorizados, acceder a datos
sensibles o incluso comprometer la integridad de la base de
datos.
Las consultas parametrizadas separan los
datos de la lógica de la consulta, evitando que
el código malicioso se ejecute.
2.2. Validación de Entradas 2.4. Monitoreo y Auditoría de Actividades

● Acción: Valida y sanitiza todas las entradas del usuario. ● Acción: Implementa un sistema de monitoreo para
● Cómo hacerlo: detectar y registrar actividades sospechosas.
○ Implementa reglas estrictas sobre el formato de ● Cómo hacerlo:
datos aceptables (por ejemplo, longitud, tipo y ○ Habilita la auditoría en SQL Server para registrar
patrón). eventos como inicios de sesión y ejecución de
○ Usa funciones de validación para asegurarte de consultas.
que los datos cumplen con los criterios esperados. ○ Utiliza herramientas de monitoreo para analizar
patrones de acceso y detectar comportamientos
2.3. Uso de Roles y Permisos Limitados anómalos.

● Acción: Asigna permisos mínimos necesarios a las


cuentas de usuario de la base de datos. 2.5. Actualizaciones y Parches Regulares
● Cómo hacerlo:
○ Crea roles específicos y asigna permisos solo a lo ● Acción: Mantén SQL Server y las aplicaciones
necesario para las operaciones de la aplicación. actualizadas con los últimos parches de seguridad.
○ Evita usar cuentas con permisos de administrador ● Cómo hacerlo:
○ Establece un cronograma regular para revisar
para las operaciones de la aplicación.
y aplicar actualizaciones de seguridad.
○ Monitorea las alertas de seguridad de
Microsoft y otros proveedores para conocer las
vulnerabilidades.
13.3 Uso de firewalls y sistemas de detección de intrusiones en
SQL Server.

La seguridad de SQL Server no solo depende de


configuraciones internas, sino también de la infraestructura
de red que lo rodea. Implementar firewalls y sistemas de
detección de intrusiones (IDS) es fundamental para proteger
la base de datos contra accesos no autorizados y ataques
maliciosos. Esta sección detalla cómo utilizar estas
herramientas de manera efectiva.

1. Importancia de los Firewalls y Sistemas de Detección de


Intrusiones

Los firewalls actúan como una barrera entre la base de datos y el


tráfico de red no confiable, mientras que los sistemas de detección
de intrusiones monitorean y analizan el tráfico para identificar
actividades sospechosas. Juntos, forman una primera línea de
defensa vital en la protección de tus datos.
2. Implementación de Firewalls 3. Implementación de Sistemas de Detección de Intrusiones
(IDS)
2.1. Configuración del Firewall de Windows
3.1. Selección de un IDS Apropiado
● Acción: Habilitar y configurar el Firewall de Windows
para SQL Server. ● Acción: Elegir un sistema de detección de intrusiones
● Cómo hacerlo: que se adapte a tus necesidades.
○ Accede al "Panel de Control" y selecciona ● Cómo hacerlo:
"Sistema y Seguridad" > "Firewall de Windows". ○ Evalúa opciones de IDS basadas en la red (NIDS)
○ Establece reglas de entrada y salida que permitan y basadas en host (HIDS).
el tráfico solo en los puertos necesarios (por ○ Considera herramientas como Snort, OSSEC o
defecto, el puerto 1433 para SQL Server). sistemas comerciales que ofrezcan análisis en
○ Bloquea todos los demás puertos y protocolos no tiempo real y alertas.
utilizados para minimizar la superficie de ataque.
3.2. Configuración y Monitoreo del IDS
2.2. Uso de Firewalls de Aplicación Web (WAF)
● Acción: Configurar el IDS para monitorear el tráfico de
● Acción: Implementar un Firewall de Aplicación Web para red y las actividades en SQL Server.
proteger las aplicaciones que interactúan con SQL Server. ● Cómo hacerlo:
● Cómo hacerlo: ○ Establece reglas y firmas que detecten patrones
○ Configura el WAF para filtrar y monitorear el tráfico de ataque comunes, como inyecciones de SQL y
HTTP/HTTPS, bloqueando solicitudes maliciosas y accesos no autorizados.
ataques de inyección de SQL. ○ Configura alertas para notificar al equipo de
○ Asegúrate de que el WAF esté actualizado con las seguridad sobre actividades sospechosas o
últimas reglas de seguridad. intentos de intrusión.
4. Integración de Firewalls y IDS

● Acción: Asegúrate de que los firewalls y el IDS trabajen


juntos para proporcionar una defensa en profundidad.
● Cómo hacerlo:
○ Establece políticas de seguridad que incluyan tanto el
uso de firewalls como el monitoreo de IDS.
○ Realiza pruebas de penetración y auditorías de
seguridad regularmente para evaluar la efectividad de
ambas herramientas.
14. Cifrado de datos en SQL Server
14.1 Configuración del cifrado de datos en tránsito en SQL Server.

La seguridad de los datos en tránsito es una prioridad 2. Pasos para Configurar el Cifrado de Datos en Tránsito
en la gestión de bases de datos. Configurar el cifrado
de datos en tránsito en SQL Server es fundamental 2.1. Obtener un Certificado SSL/TLS
para proteger la información sensible que se transmite ● Acción: Adquirir un certificado SSL/TLS de una
entre el cliente y el servidor. Este manual detalla los autoridad de certificación (CA) confiable.
pasos necesarios para implementar esta configuración ● Cómo hacerlo:
de manera efectiva. 1. Genera una Solicitud de Firma de Certificado
(CSR) en el servidor SQL.
1. Importancia del Cifrado de Datos en Tránsito 2. Envía la CSR a una CA para obtener el
certificado.
El cifrado de datos en tránsito protege la información
3. Una vez recibido, instala el certificado en el
contra interceptaciones y ataques maliciosos. Sin cifrado, servidor que ejecuta SQL Server.
los datos pueden ser vulnerables a ataques como el
"sniffing", donde un atacante puede capturar y leer la
información que fluye a través de la red. Implementar
cifrado no solo asegura la confidencialidad de los datos,
sino que también ayuda a cumplir con normativas de
seguridad y privacidad.
2.2. Configurar SQL Server para Usar el Certificado 2.4. Verificar la Configuración del Cifrado

● Acción: Configurar SQL Server para que utilice el ● Acción: Comprobar que el cifrado esté funcionando
certificado SSL/TLS. correctamente.
● Cómo hacerlo: ● Cómo hacerlo:
1. Abre el "SQL Server Configuration Manager". 1. Conéctate a SQL Server utilizando SQL Server
2. Navega a "SQL Server Network Configuration" y Management Studio (SSMS).
selecciona "Protocols for [tu instancia]". 2. Ejecuta la siguiente consulta para verificar si la
3. Haz clic derecho en "Properties" y selecciona la conexión está cifrada:
pestaña "Certificate".
4. Selecciona el certificado SSL/TLS que has
instalado.
5. En la pestaña "Flags", establece "Force Encryption"
en "Yes".
2.3. Habilitar el Cifrado en las Conexiones de Cliente Asegúrate de que el resultado muestre
TRUE, lo que indica que la conexión está
● Acción: Configurar las aplicaciones cliente para utilizar cifrada.
conexiones cifradas.
● Cómo hacerlo:
○ En las cadenas de conexión, agrega
Encrypt=True para habilitar el cifrado.
○ Ejemplo de cadena de conexión en C#:
14.2 Configuración del cifrado de datos en reposo en SQL Server.

El cifrado de datos en reposo es una medida crucial 2. Pasos para Configurar el Cifrado de Datos en Reposo
para proteger la información almacenada en bases de 2.1. Evaluar el Entorno y Requisitos
datos. Este proceso garantiza que los datos sensibles
se mantengan seguros, incluso si un atacante logra ● Acción: Determinar los requisitos de cifrado y las
acceder físicamente a los archivos de la base de políticas de seguridad de la organización.
datos. A continuación, se describen los pasos ● Cómo hacerlo:
necesarios para implementar el cifrado de datos en ○ Identifica los tipos de datos que requieren
reposo en SQL Server. cifrado (por ejemplo, información personal,
financiera, etc.).
1. Importancia del Cifrado de Datos en Reposo ○ Revisa las normativas y regulaciones que
aplican a tu organización (como GDPR o
El cifrado de datos en reposo protege la información HIPAA) para asegurarte de que cumples con
almacenada contra accesos no autorizados. Esto es los requisitos de cifrado.
especialmente relevante en entornos donde los datos
pueden ser vulnerables a robos o pérdidas. Al cifrar los
datos, incluso si un atacante obtiene acceso a los archivos
de la base de datos, no podrá leer la información sin la clave
de cifrado correspondiente.
2.2. Crear una Clave Maestra de Base de Datos
2.4. Habilitar el Cifrado de la Base de Datos
● Acción: Crear una clave maestra que se utilizará para
proteger las claves de cifrado. ● Acción: Activar el cifrado en la base de datos.
● Cómo hacerlo: ● Cómo hacerlo:
1. Conéctate a SQL Server utilizando SQL Server 1. Ejecuta el siguiente comando:
Management Studio (SSMS).
2. Ejecuta el siguiente comando para crear la
clave maestra:

2.3. Crear una Clave de Cifrado de Base de Datos

● Acción: Crear una clave de cifrado que se utilizará


para cifrar los datos en la base de datos.
● Cómo hacerlo:
1. Ejecuta el siguiente comando:
2.5. Verificar el Estado del Cifrado Consideraciones Adicionales

● Acción: Comprobar que el cifrado de la ● Gestión de Claves: Es fundamental


base de datos se haya habilitado gestionar adecuadamente las contraseñas y
correctamente. claves utilizadas para el cifrado. Considera el
● Cómo hacerlo: uso de un sistema de gestión de claves
(KMS) para mayor seguridad.
1. Ejecuta el siguiente comando para
● Rendimiento: El cifrado puede tener un
verificar el estado del cifrado:
impacto en el rendimiento. Monitorea el
rendimiento de la base de datos después de
habilitar el cifrado y ajusta según sea
necesario.
● Respaldo de Datos: Asegúrate de que los
respaldos de la base de datos también estén
cifrados. Esto es esencial para mantener la
Asegúrate de que el valor de is_encrypted sea 1, lo seguridad de los datos en reposo.
que indica que la base de datos está cifrada.
14.3 Uso de SSL/TLS y claves en SQL
Server.
El uso de SSL/TLS en SQL Server es fundamental para 2. Pasos para Configurar SSL/TLS en SQL Server
garantizar la seguridad de las comunicaciones entre el
cliente y el servidor. Este protocolo de cifrado protege los 2.1. Obtener un Certificado SSL/TLS
datos en tránsito, asegurando que la información sensible ● Acción: Adquirir un certificado SSL/TLS de una
no sea interceptada ni alterada. En esta sección, se autoridad de certificación (CA) confiable.
detallan los pasos necesarios para configurar SSL/TLS y ● Cómo hacerlo:
gestionar las claves en SQL Server. 1. Genera una Solicitud de Firma de
Certificado (CSR) en el servidor SQL.
1. Importancia de SSL/TLS en SQL Server 2. Envía la CSR a una CA para obtener el
certificado.
SSL (Secure Sockets Layer) y TLS (Transport Layer Security) son
3. Instala el certificado en el servidor que
protocolos criptográficos que proporcionan seguridad en las
ejecuta SQL Server.
comunicaciones a través de redes. Implementar SSL/TLS en SQL
Server es esencial para:

● Proteger la Confidencialidad: Cifrar los datos en tránsito para


evitar que sean leídos por terceros.
● Autenticación: Verificar la identidad del servidor y,
opcionalmente, del cliente, asegurando que ambas partes son
quienes dicen ser.
● Integridad de los Datos: Asegurar que los datos no sean
alterados durante la transmisión.
2.2. Configurar SQL Server para Usar el Certificado
2.4. Verificar la Configuración de SSL/TLS
● Acción: Configurar SQL Server para utilizar el certificado SSL/TLS.
● ● Acción: Comprobar que el cifrado SSL/TLS
Cómo hacerlo:
1. Abre el "SQL Server Configuration Manager". esté funcionando correctamente.
● Cómo hacerlo:
2. Navega a "SQL Server Network Configuration" y selecciona
"Protocols for [tu instancia]". 1. Conéctate a SQL Server utilizando SQL
3. Haz clic derecho en "Properties" y selecciona la pestaña Server Management Studio (SSMS).
"Certificate". 2. Ejecuta la siguiente consulta para
4. Selecciona el certificado SSL/TLS que has instalado. verificar si la conexión está cifrada:
5. En la pestaña "Flags", establece "Force Encryption" en "Yes".

2.3. Habilitar el Cifrado en las Conexiones de Cliente

● Acción: Configurar las aplicaciones cliente para utilizar


conexiones cifradas.
● Cómo hacerlo:
○ En las cadenas de conexión, agrega
Encrypt=True para habilitar el cifrado.
○ Ejemplo de cadena de conexión en C#:
3. Gestión de Claves en SQL Server

3.1. Creación de Claves Maestras

● Acción: Crear una clave maestra que se utilizará para


proteger las claves de cifrado.
● Cómo hacerlo: 3.3. Habilitar el Cifrado de la Base de Datos

● Acción: Activar el cifrado en la base de


datos.
● Cómo hacerlo:

3.2. Creación de Claves de Cifrado de Base de


Datos

● Acción: Crear una clave de cifrado que se


utilizará para cifrar datos en la base de
datos.
● Cómo hacerlo:
15. Auditoria y seguimiento de la seguiradad en SQL Server
15.1 Configuración de la auditoría en SQL Server.

La auditoría en SQL Server es una herramienta


fundamental para monitorear y registrar actividades en
la base de datos. Permite a los administradores de
bases de datos (DBA) cumplir con requisitos de
seguridad, normativas y políticas internas al
proporcionar un registro detallado de las acciones
realizadas. Este manual describe cómo configurar la
auditoría en SQL Server de manera efectiva.

1. Importancia de la Auditoría en SQL Server

La auditoría es esencial para:

● Cumplimiento Normativo: Ayuda a las organizaciones a cumplir con regulaciones como GDPR, HIPAA, y SOX,
que exigen un seguimiento de las actividades en sistemas de información.
● Seguridad: Proporciona visibilidad sobre accesos y cambios en la base de datos, permitiendo detectar y
responder a actividades sospechosas.
● Análisis Forense: Facilita la investigación de incidentes de seguridad al proporcionar un historial de acciones
realizadas en la base de datos.
2. Pasos para Configurar la Auditoría en SQL Server

2.1. Crear un Esquema de Auditoría

● Acción: Definir un esquema de auditoría que determine cómo y qué se auditará.


● Cómo hacerlo:
1. Conéctate a SQL Server utilizando SQL Server Management Studio (SSMS).
2. Ejecuta el siguiente comando para crear un esquema de auditoría:

2.2. Crear una Especificación de Auditoría

● Acción: Definir qué eventos específicos se auditarán.


● Cómo hacerlo:
1. Ejecuta el siguiente comando para crear una especificación de auditoría:
● sql
2.3. Habilitar la Auditoría

● Acción: Activar la auditoría y la especificación creada.


● Cómo hacerlo:
1. Ejecuta el siguiente comando para habilitar el esquema de auditoría:

2.4. Verificar la Configuración de la Auditoría

● Acción: Asegurarte de que la auditoría esté configurada y funcionando correctamente.


● Cómo hacerlo:
1. Ejecuta el siguiente comando para consultar el estado de la auditoría:

3. Consultar los Registros de Auditoría

● Acción: Acceder a los registros de auditoría para revisar las actividades registradas.
● Cómo hacerlo:
1. Utiliza el siguiente comando para leer los registros de auditoría:
4. Consideraciones Adicionales
● Gestión del Almacenamiento: Asegúrate de que el
directorio donde se almacenan los archivos de
auditoría tenga suficiente espacio y sea seguro.
● Revisión Periódica: Realiza revisiones periódicas
de los registros de auditoría para identificar patrones
o actividades sospechosas.
● Ajustes de Auditoría: Ajusta la configuración de la
auditoría según las necesidades cambiantes de la
organización y los requisitos de cumplimiento.
15.2 Generación de informes de seguridad en SQL Server.

La generación de informes de seguridad en SQL Server


es una práctica esencial para monitorear y evaluar la
seguridad de la base de datos. Estos informes permiten
a los administradores de bases de datos (DBA)
identificar vulnerabilidades, detectar actividades
inusuales y garantizar que se cumplan las políticas de
seguridad. En esta sección, se describen los pasos para
generar informes de seguridad en SQL Server de
manera efectiva.

1. Importancia de los Informes de Seguridad en SQL Server

Los informes de seguridad son cruciales para:

● Monitoreo Proactivo: Permiten a los DBA identificar y abordar problemas de seguridad antes de que se conviertan en
incidentes críticos.
● Cumplimiento Normativo: Ayudan a las organizaciones a cumplir con regulaciones y estándares de seguridad que
requieren la documentación de actividades y controles de seguridad.
● Análisis de Tendencias: Proporcionan información sobre patrones de uso y posibles áreas de mejora en la seguridad de
la base de datos.
2. Pasos para Generar Informes de Seguridad en SQL Server

2.1. Usar SQL Server Audit para Recopilar Datos

Antes de generar informes, asegúrate de que la auditoría esté


configurada para registrar los eventos relevantes de seguridad.
Consulta la sección anterior sobre la configuración de auditoría
para obtener más detalles.

2.2. Crear Consultas para Generar Informes Personalizados

● Acción: Escribir consultas SQL para extraer información


relevante de los registros de auditoría.
● Cómo hacerlo:
1. Utiliza la función fn_get_audit_file para acceder a
los registros de auditoría.
2. Crea consultas que resuman los eventos de
seguridad. Por ejemplo:
2.3. Generar Informes de Seguridad Usando SQL Server
Reporting Services (SSRS)

● Acción: Crear informes visuales utilizando SQL Server


Reporting Services (SSRS).
● Cómo hacerlo:
1. Abre SQL Server Data Tools (SSDT) y crea un
nuevo proyecto de informe.
2. Conéctate a la base de datos de auditoría y utiliza
las consultas creadas anteriormente como fuente
de datos.
3. Diseña el informe utilizando gráficos, tablas y otros
elementos visuales para presentar la información
de manera clara.
4. Publica el informe en el servidor de informes para
que esté disponible para los usuarios autorizados.

2.4. Programar Informes Automáticos

● Acción: Automatizar la generación y distribución de informes de seguridad.


● Cómo hacerlo:
1. En SSRS, utiliza la funcionalidad de suscripción para programar la ejecución de informes.
2. Configura la frecuencia con la que deseas que se generen los informes (diariamente, semanalmente, etc.)
y especifica los destinatarios que recibirán los informes por correo electrónico.
3. Ejemplos de Informes de Seguridad Comunes

● Informe de Accesos No Autorizados: Un informe que muestra intentos fallidos de


acceso a la base de datos.
● Informe de Cambios en la Estructura de la Base de Datos: Un informe que registra
cambios en tablas, procedimientos almacenados y otros objetos de la base de datos.
● Informe de Actividades de Usuarios: Un informe que muestra las acciones realizadas
por usuarios específicos en la base de datos.

4. Consideraciones Adicionales

● Revisión Regular: Realiza revisiones periódicas de los informes de


seguridad para identificar patrones y áreas de mejora.
● Alertas de Seguridad: Considera la implementación de alertas para
notificar a los DBA sobre eventos críticos registrados en los informes.
● Actualización de Políticas: Ajusta las políticas de seguridad y auditoría en
función de los hallazgos de los informes.
15.3 Uso de herramientas de auditoría y seguimiento en SQL Server

La auditoría y el seguimiento son componentes críticos


en la gestión de la seguridad y el rendimiento de SQL
Server. Utilizar herramientas adecuadas para estas
tareas no solo ayuda a cumplir con las normativas de
seguridad, sino que también permite a los
administradores de bases de datos (DBA) identificar
problemas de rendimiento y optimizar el uso de
recursos. En esta sección, se describen las
herramientas más efectivas para la auditoría y el
seguimiento en SQL Server, así como su
implementación y uso.

1. Importancia de las Herramientas de Auditoría y Seguimiento en SQL Server

El uso de herramientas de auditoría y seguimiento es esencial para:

● Seguridad: Monitorear accesos no autorizados y actividades sospechosas para proteger la integridad de los datos.
● Cumplimiento Normativo: Asegurar que las organizaciones cumplan con regulaciones y estándares de seguridad que
requieren un seguimiento detallado de las actividades.
● Optimización del Rendimiento: Identificar cuellos de botella y problemas de rendimiento en las consultas y operaciones de
la base de datos.
2. Herramientas de Auditoría en SQL Server
2.2. SQL Server Profiler
2.1. SQL Server Audit
● Descripción: Herramienta que permite capturar y
● Descripción: Herramienta nativa de SQL Server que analizar eventos en tiempo real en SQL Server.
permite crear auditorías a nivel de servidor y de base de ● Características:
datos. 1. Monitoreo de consultas, rendimiento y
● Características: actividad de la base de datos.
1. Registro de eventos específicos como inicios de 2. Posibilidad de guardar trazas para análisis
sesión, cambios en la base de datos y acceso a posterior.
datos sensibles. ● Uso:
2. Posibilidad de exportar registros a archivos, la tabla 1. Abre SQL Server Profiler y selecciona "New
de auditoría o el registro de eventos de Windows. Trace".
● Uso: 2. Configura los eventos que deseas rastrear y
1. Configura una auditoría utilizando CREATE SERVER comienza la captura.
AUDIT.
2. Define las especificaciones de auditoría para eventos
específicos utilizando CREATE DATABASE AUDIT
SPECIFICATION.
2.3. Extended Events

● Descripción: Herramienta avanzada de monitoreo que 3. Herramientas de Seguimiento en SQL Server


permite rastrear eventos en SQL Server con bajo impacto
en el rendimiento. 3.1. Dynamic Management Views (DMVs)
● Características:
● Descripción: Vistas que proporcionan información
1. Gran flexibilidad para definir qué eventos rastrear y
sobre el estado actual de SQL Server y sus objetos.
cómo almacenarlos.
● Características:
2. Ideal para diagnósticos y resolución de problemas.
○ Permiten monitorear el rendimiento, la actividad
● Uso:
de las sesiones y el uso de recursos.
1. Crea una sesión de eventos extendidos utilizando
● Uso:
CREATE EVENT SESSION.
○ Ejecuta consultas en DMVs, como:
2. Configura los eventos y los destinos de
almacenamiento (archivos, tabla, etc.).
3.2. SQL Server Management Studio (SSMS) 4. Implementación y Mejores Prácticas

● Descripción: Herramienta principal para la ● Planificación: Antes de implementar herramientas de


administración de SQL Server que incluye auditoría y seguimiento, define claramente los objetivos y
capacidades de monitoreo. los eventos que necesitas rastrear.
● Características: ● Minimizar el Impacto en el Rendimiento: Utiliza
1. Monitoreo de rendimiento, gestión de bases de herramientas como Extended Events para minimizar el
datos y ejecución de consultas. impacto en el rendimiento del servidor.
● Uso: ● Revisión Regular: Establece un proceso de revisión
1. Utiliza el "Activity Monitor" para visualizar la regular de los registros y datos recopilados para
actividad actual de la base de datos. identificar patrones y problemas potenciales.
2. Accede a "Reports" para generar informes ● Automatización: Siempre que sea posible, automatiza la
sobre el estado de la base de datos. generación de informes y la recopilación de datos para
facilitar la gestión y el análisis.

También podría gustarte