Curso sql server_administracion
-
Upload
salvador-ramos -
Category
Technology
-
view
2.331 -
download
0
description
Transcript of Curso sql server_administracion
![Page 2: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/2.jpg)
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
![Page 3: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/3.jpg)
Agenda (administración)
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 4: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/4.jpg)
Agenda (implementación)
Introducción
Elementos de Transact SQL
– DDL, DCL y DML
– Procedimientos almacenados (SP)
– Funciones definidas por el usuario (UDF)
– Triggers (desencadenadores)
– Mejora del rendimiento
![Page 5: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/5.jpg)
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
![Page 6: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/6.jpg)
Servicios
Motor Cliente / Servidor
Servicios
![Page 7: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/7.jpg)
Componentes (2005)
SQL Server 2005
Relational Database Engine
.NET CLR
Analysis Services
Native HTTP Support
Service Broker Replication
Reporting Services Full-Text Search
Notification Services
Integration Services
![Page 8: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/8.jpg)
Agenda
Visión general del producto
Administración
Implementación (T-SQL)
![Page 9: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/9.jpg)
Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 10: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/10.jpg)
Instalación
Recomendaciones generales
– No instalar las bases de datos en la misma partición que el S.O.
– Personalizada
– Instalar último Service Pack
Ver documento de instalación
![Page 11: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/11.jpg)
BBDD del sistema
Master
Model
Msdb
Tempdb
![Page 12: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/12.jpg)
Herramientas
SQL Server Management Studio
Configuración de superficie (S.A.C.)
SQL Server Configuration Manager
SQL Server Profiler
Business Intelligence Dev. Studio BIDS
*** Libros en Pantalla ***
![Page 13: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/13.jpg)
Herramientas
Demo
– “Manos a la obra, veamos las herramientas”
– Propiedades del servidor (desde el SQL Server Management Studio)
![Page 14: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/14.jpg)
Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 15: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/15.jpg)
Objetos de BBDD
Diagramas
Esquemas (2005)
Tablas
– Constraints
– Triggers (DML y DDL -2005-)
– Indices
Clustered (agrupados)
Non Clustered (no agrupados)
![Page 16: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/16.jpg)
Objetos de BBDD
Vistas
Procedimientos almacenados
Funciones Definidas por el Usuario
Usuarios (Users)
Funciones (Roles)
![Page 17: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/17.jpg)
Objetos de BBDD
Demo
– “Veamos estos objetos desde el SQL Server Management Studio”
– “Veamos los archivos .mdf, .ndf y .ldf desde el explorador de windows”
![Page 18: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/18.jpg)
Tipos de datos (v. BOL)
bigint int smallint tinyint bit decimal - numeric float Real Money / smallmoney datetime smalldatetime
char / nchar varchar / nvarchar text / ntext binary varbinary image cursor sql_variant table timestamp uniqueidentifier
![Page 19: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/19.jpg)
Desbordamiento 8Kb
Máxima longitud de fila 8060 bytes
Restricción menos estricta en 2005
– Varchar, nvarchar, varbinary, sql_variant pueden superar la restricción
– Hasta 8000bytes por columna
– Unidad de asignación ROW_OVERFLOW_DATA en lugar de IN_ROW_DATA
– No se pueden incluir columnas que produzcan este desbordamiento en índices clustered
![Page 20: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/20.jpg)
Ejercicios
Creación de una base de datos
Creación de tablas de ejemplo
Creación de Restricciones (PK, not null, …)
Creación del diagrama de base de datos
Implementación de lntegridad Referencial Declarativa
Generar secuencia de comandos SQL
![Page 21: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/21.jpg)
Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 22: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/22.jpg)
Arquitectura de seguridad
![Page 23: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/23.jpg)
Conceptos básicos
Inicios de sesión (Logins) – Acceso al servidor
Usuarios (Users) – Acceso a la base de datos
Autenticación – Windows (por defecto)
– Mixta (SQL y Windows)
El „SA‟
![Page 24: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/24.jpg)
Autenticación Windows vs. SQL
Ventajas Windows
– Mayor seguridad
– Atributos password windows (longitud)
– Auditoría (desde el s.o.)
– Bloqueo de cuentas por reintentos
– Kerberos
![Page 25: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/25.jpg)
Autenticación Windows vs. SQL
Desventajas Windows
– De no haber un controlador de dominio disponible no se podrá conectar
– Sólo usuarios del dominio
– Los cambios en la seguridad tendrán efecto al iniciar una sesión
– El DBA necesita derechos en el servidor para hacer estos cambios
![Page 26: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/26.jpg)
Stored Procedures - login
CREATE/ALTER/DROP LOGIN
– sp_addlogin / sp_grantlogin
– sp_revokelogin / sp_denylogin
– sp_droplogin
sp_depends
sp_changeobjectowner / sp_changedbowner
![Page 27: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/27.jpg)
Conceptos básicos - roles
Roles fijos de servidor (Fixed Server Roles)
Roles fijos de base de datos (Fixed Database Roles)
Roles de base de datos definidos por el usuario (user-defined database roles)
Roles de aplicación (aplication roles)
![Page 28: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/28.jpg)
Fixed Server Roles sp_addsrvrolemember / sp_dropsrvrolemember
Sysadmin Serveradmin
Setupadmin Securityadmin
Processadmin Dbcreator Diskadmin Bulkadmin
Puede hacer cualquier tarea Cambiar configuración del
servidor, y apagarlo Configurar servidores vinculados Administrar logins, CREATE
DATABASE, error log y passwords
Manejar procesos en ejecución Crear, modificar y eliminar BBDD Administrar discos (ubic. Ficheros Ejecutar tareas de Bulk Insert
![Page 29: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/29.jpg)
Fixed Database Roles sp_addrolemember / sp_droprolemember
Public
Db_owner Db_accessadmin Db_securityadmin
db_ddladmin
Db_backupoperator Db_datareader Db_datawriter Db_denydatareader Db_denydatawriter
Se le pueden dar/quitar privilegios Lo utilizan todos los usuarios
Realizar cualquier tarea Dar y quitar permisos de acceso Administrar permisos, propietarios
de objetos, y roles Todas las instrucciones DDL, menos
GRANT, REVOKE y DENY (DCL) BACKUP, DBCC y CHECKPOINT Leer cualquier tabla Escribir en cualquier tabla No puede leer ninguna tabla No puede escribir en ninguna tabla
![Page 30: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/30.jpg)
User-defined database roles
Es a nivel de base de datos
Es el único tipo de roles que pueden ser creados por el usuario
Sirven para agrupar usuarios y darles una serie de privilegios
CREATE/ALTER/DROP ROLE – Sp_addrole
– Sp_droprole
![Page 31: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/31.jpg)
Application Roles
Sirven para asignar privilegios a una aplicación
No se puede desactivar, hay que cerrar la aplicación
No se pueden asignar a un usuario
Sp_setapprole sirve para activarlos
Ejemplo en www.algoritmodigital.com
![Page 32: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/32.jpg)
Permisos sobre objetos
Se otorgan a un usuario sobre
– Tablas
– Vistas
– Procedimientos almacenados
– Funciones
Tipos
– Select, Insert, Update, Delete
– References
– Execute
![Page 33: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/33.jpg)
Permisos sobre objetos
Predefinidos
– Se adquieren por pertenecer a un role de servidor o de base de datos
Implícitos
– Se adquieren por ser propietario del objeto, permiten control total sobre él
![Page 34: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/34.jpg)
Permisos sobre objetos
Tipos de permisos
– GRANT
– DENY
– REVOKE
![Page 35: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/35.jpg)
Permisos sobre objetos
Para ver los permisos
– sp_helprotect
Permisos sobre un objeto
– sp_helprotect „NbObjeto‟
Permisos de un usuario
– sp_helprotect NULL, „NbUsuario‟
![Page 36: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/36.jpg)
dbo
Los objetos pertenecen al dbo si los crean: – Miembros de Sysadmin – El „SA‟ – El propietario de la BBDD – Si se indica explícitamente „dbo.NbObjeto‟
Dbo debería ser propietario de todos los
objetos (sólo para 2000 y anteriores) – Evita problemas de ruptura de la cadena de
propiedad – Evita problemas en implantaciones en otros
servidores
![Page 37: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/37.jpg)
Guest (invitado)
Este usuario es utilizado por todos los accesos que no tengan usuario en dicha BBDD
Se recomienda deshabilitarlo en las BBDD de usuario y en Model
![Page 38: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/38.jpg)
Otras medidas de seguridad
Restringir el acceso a las tablas
Conceder acceso a:
– Vistas
– Procedimientos almacenados
– Funciones definidas por el usuario
Evitar la inserción de código SQL “SQL Injection”
![Page 39: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/39.jpg)
SQL Injection (artículos)
http://www.programacion.com/asp/articulo/sqlinjection/
http://dotnetjunkies.com/WebLog/vbpuntonet/archive/2004/12/07/35437.aspx
http://www.securiteam.com/securityreviews/5DP0N1P76E.html
http://www.nextgenss.com/papers/advanced_sql_injection.pdf
http://www.windowsitpro.com/SQLServer/ (y buscar “sql injection”)
Cadena = “SELECT * FROM AUTHORS WHERE Id = „” + MiVar
+ “‟”
– Si Mivar = “Pepe‟ OR 1=1 --” ???
– Si MiVar = “Pepe‟ OR 1=1; DROP Table... --“ ???
![Page 40: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/40.jpg)
Administración
Instalación
Bases de datos del sistema
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 41: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/41.jpg)
Copias de seguridad
Nuestra información ha de estar a salvo
Debemos plantear una estrategia de copia y recuperación
– Frecuencia
– Tipos de copias
– Quién las hace
– Qué bases de datos se copian
Y PROBARLA !!!
![Page 42: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/42.jpg)
Tipos de copias
Completa
Diferencial
Log de transacciones
Archivo o grupo de archivos
Alta disponibilidad
– Mirroring (2005)
– Replicación
– Log Shipping (trasvase de registros)
![Page 43: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/43.jpg)
Copias con T-SQL
BACKUP DATABASE NombreBBDD TO Dispositivo [WITH DIFFERENTIAL]
sp_adddumpdevice
BACKUP LOG NombreBBDD TO Dispositivo
RESTORE DATABASE NombreBBDD FROM Dispositivo
RESTORE LOG NombreBBDD FROM Dispositivo
![Page 44: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/44.jpg)
Proceso de restauración
En función de la estrategia de copia
No se debe dejar la base de datos disponible para los usuarios hasta el final del proceso de restauración.
![Page 45: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/45.jpg)
Administración
Herramientas
Bases de datos
Gestión de la seguridad
Estrategias de copias de seguridad
SSIS y Programación de Tareas
Mantenimiento y control
![Page 46: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/46.jpg)
SSIS y programación de tareas, mto. y control
Demo
– Veamoslo desde el SQL Server Management Studio Asistente para importación/exportación
Programación
Asistente para planes de mantenimiento
![Page 47: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/47.jpg)
URLs
www.microsoft.com/spanish/msdn/cursos/sqlserver2000.asp
www.helpdna.net www.sqlserverymicrosoft.net www.portalsql.com www.solidqualitylearning.com www.siquelnet.com www.callsql.com www.sqlmax.com www.sqlserverbyexample.com
www.microsoft.com/spain/servidores www.microsoft.com/spain/technet www.microsoft.com/latam/technet www.microsoft.com/technet www.microsoft.com/spanish/msdn www.microsoft.com/msdn
![Page 48: Curso sql server_administracion](https://reader033.fdocument.pub/reader033/viewer/2022052601/55960b481a28abf57b8b47c6/html5/thumbnails/48.jpg)
URLs (english)
www.windowsitpro.com/SQLServer/ www.sqlservercentral.com www.sqldev.com www.sqlmag.com www.sqldts.com www.sqlis.com www.sqlpass.org www.sql-server-performance.com www.sswug.org www.sqlsecurity.com www.swynk.com www.tsqlsolutions.com www.sqlserver.com