Manual de SQL Server 2008 de La UNI

download Manual de SQL Server 2008 de La UNI

of 150

Transcript of Manual de SQL Server 2008 de La UNI

Facultad de Ingeniera Industrial y de Sistemas

C API TULO 1 Instalacin y configuracin del SQL Server 2008 Ediciones del SQL Server 2008 Requerimientos de Hardware y Software

SQL Administracin

[email protected]

Pg. 1

Universidad Nacional de Ingeniera

I N S TA L A C I O N Y C O N F I G U R A C I O N S Q L S E R V E R 2 0 0 8

D E L

Una de las primeras responsabilidades que asume un DBA (Data Base Administrador), es la eleccin del software ms adecuado a las necesidades que presente la empresa. Es por esta razn que, Microsoft corp., pone a nuestra disposicin, de diferentes ediciones de su Sistema Administrador de Base de Datos SQL Server 2008.

QU ES SQL SERVER 2008?SQL Server 2008 es una plataforma global de base de datos que ofrece administracin de datos empresariales con herramientas integradas de inteligencia empresarial (BI). El motor de la base de datos SQL Server 2008 ofrece almacenamiento ms seguro y confiable tanto para datos relacionales como estructurados, lo que le permite crear y administrar aplicaciones de datos altamente disponibles y con mayor rendimiento para utilizar en su negocio. El motor de datos SQL Server 2008 constituye el ncleo de esta solucin de administracin de datos empresariales. Asimismo, SQL Server 2008 combina lo mejor en anlisis, informacin, integracin y notificacin. Esto permite que su negocio cree y despliegue soluciones de BI rentables que ayuden a su equipo a incorporar datos en cada rincn del negocio a travs de tableros de comando, escritorios digitales, servicios Web y dispositivos mviles. La integracin directa con Microsoft Visual Studio, el Microsoft Office System y un conjunto de nuevas herramientas de desarrollo, incluido el Business Intelligence Development Studio, distingue al SQL Server 2008. Ya sea que usted se desempee como encargado de desarrollo, administrador de base de datos, trabajador de la industria de la informacin o dirija una empresa, SQL Server 2008 ofrece soluciones innovadoras que le ayudan a obtener ms valor de sus datos.

HERRAMIENTAS QUE INCLUYE EL SQL SERVER 2008Base de datos relacional. Un motor de base de datos relacional ms segura, confiable, escalable y altamente disponible con mejor rendimiento y compatible para datos estructurados y sin estructura (XML). Servicios de rplica. Rplica de datos para aplicaciones de procesamiento de datos distribuidos o mviles, alta disponibilidad de los sistemas, concurrencia escalable con almacenes de datos secundarios para soluciones de informacin empresarial e integracin con sistemas heterogneos, incluidas las bases de datos Oracle existentes. Notification Services. Capacidades avanzadas de notificacin para el desarrollo y el despliegue de aplicaciones escalables que pueden entregar actualizaciones de informacin personalizadas y oportunas a una diversidad de dispositivos conectados y mviles. Integration Services. Capacidades de extraccin, transformacin y carga (ELT) de datos para almacenamiento e integracin de datos en toda la empresa.

Pg. 2

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Analysis Services. Capacidades de procesamiento analtico en lnea (OLAP) para el anlisis rpido y sofisticado de conjuntos de datos grandes y complejos, utilizando almacenamiento multidimensional. Reporting Services. Una solucin global para crear, administrar y proporcionar tanto informes tradicionales orientados al papel como informes interactivos basados en la Web. Herramientas de administracin. SQL Server incluye herramientas integradas de administracin para administracin y optimizacin avanzadas de bases de datos, as como tambin integracin directa con herramientas tales como Microsoft Operations Manager (MOM) y Microsoft Systems Management Server (SMS). Los protocolos de acceso de datos estndar reducen drsticamente el tiempo que demanda integrar los datos en SQL Server con los sistemas existentes. Asimismo, el soporte del servicio Web nativo est incorporado en SQL Server para garantizar la interoperabilidad con otras aplicaciones y plataformas. Herramientas de desarrollo. SQL Server ofrece herramientas integradas de desarrollo para el motor de base de datos, extraccin, transformacin y carga de datos, minera de datos, OLAP e informes que estn directamente integrados con Microsoft Visual Studio para ofrecer capacidades de desarrollo de aplicacin de extremo a extremo. Cada subsistema principal en SQL Server se entrega con su propio modelo de objeto y conjunto de interfaces del programa de aplicacin (API) para ampliar el sistema de datos en cualquier direccin que sea especfica de su negocio.

NOVEDADES EN SQL SERVER 2008SQL Server permite ejecutar aplicaciones de misin crtica, reduciendo costos de administracin de infraestructura de datos y brindando introspectiva e informacin a todos los usuarios. Confiable: Permite a las organizaciones ejecutar sus aplicaciones ms crticas con niveles de seguridad, confiabilidad y escalabilidad muy altos. Productivo: Permite reducir el tiempo y los costos requeridos para desarrollar y administrar sus infraestructuras de datos. Inteligente: Ofrece una plataforma integral que brinda introspectiva e informacin donde sus usuarios lo desean Nuevas funcionalidades de SQL Server 2008: Proteccin de la Informacin Cmo podra saber si ha copiado la base de datos del servidor de produccin de un cliente y lo han instalado en otra base de datos o si estn accediendo a la informacin? Con SQL 2008, puede proteger la informacin con una clave de proteccin (Encriptacin). Cmo podra saber que datos estn siendo ledos y modificados, a qu hora y por quien? SQL 2008 da la opcin de Auditora de Datos. Continuidad del Negocio Si sus clientes necesitan estar siempre en lnea con sus sistemas sin cadas, SQL 2008 ofrece mejoras en una tcnica llamada Mirroring, el cual es una copia o espejo de la base de datos. Si el disco se daa, donde reside los datos, SQL 2008 recupera la informacin de una copia reciente de los datos daados al otro equipo espejo de manera transparente.

SQL Administracin

[email protected]

Pg. 3

Universidad Nacional de Ingeniera Ahorro en espacio en disco, mediante la tcnica de comprensin, ahorrando costos en compra de discos si es que el volumen de la informacin de Base de Datos empieza a crecer en forma rpida. Datos Geoespaciales Poder manejar informacin geogrfica, la que hoy en da es de alta importancia en las organizaciones, con todo el tema de globalizacin Acceder a la Informacin desde cualquier lugar en cualquier momento Con SQL 2008 podre crear rpidamente aplicaciones conectadas a la base de datos con la funcionalidad de funcionar en forma desconectada y despus sincronizarlos con la base de datos central sin perder la lnea de negocio y manteniendo los datos validados Reportes Poder acceder a reportes directamente desde Word, mejoras en los tipos de grficos en los reportes, hacindolos ms entendibles y poder editar los reportes de Microsoft Office, sin saber donde fue diseado el reporte.

LAS EDICIONES DEL SQL SERVER 2008Cada una de las ediciones que se encuentran disponibles en el mercado, est dirigida a un grupo, para responder adecuadamente a las necesidades y requisitos de estos.

EDICIONES DE SERVIDORTrmino DefinicinEnterprise SQL Server Enterprise es una completa plataforma de datos que proporciona (x86, x64 e escalabilidad empresarial, rendimiento, alta disponibilidad y capacidades avanzadas de IA64)1 inteligencia empresarial para ejecutar aplicaciones seguras y esenciales para la empresa. Para obtener ms informacin, vea http://msdn.microsoft.com/eses/library/cc645993(v=SQL.100).aspx . Standard (x86 y x64) SQL Server Standard es una completa plataforma de datos que proporciona facilidad de uso y capacidad de administracin. Esto incluye capacidades integradas de inteligencia empresarial para ejecutar aplicaciones de departamentos. Para obtener ms informacin, vea http://msdn.microsoft.com/eses/library/cc645993(v=SQL.100).aspx . SQL Server Standard for Small Business contiene todos los componentes tcnicos y capacidades tcnicas de SQL Server Standard y su uso est autorizado en un entorno de pequea empresa con 75 equipos o menos.

EDICIONES ESPECIALIZADASTrmino DefinicinSQL Server 2008 SQL Server 2008 Developer permite a los desarrolladores crear cualquier tipo de Developer (x86, aplicacin basada en SQL Server. Incluye toda la funcionalidad de SQL Server x64 e IA64) 2008 Enterprise, pero su uso est autorizado como sistema de desarrollo y pruebas, no como servidor de produccin. SQL Server 2008 Developer es una opcin ideal para las personas que crean y prueban aplicaciones. Puede actualizar SQL Server 2008 Developer para utilizarlo en produccin. Workgroup (x86 y SQL Server Workgroup es ideal para ejecutar bases de datos ubicadas en x64) sucursales y proporciona una administracin de datos confiable y una

Pg. 4

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de SistemasTrmino Definicinplataforma de informes que incluye capacidades de sincronizacin y de administracin seguras y remotas. Web (x86, x64) SQL Server 2008 Web es una opcin con un costo total de propiedad bajo para los hosts de web y los sitios web que proporciona capacidades de administracin y escalabilidad para propiedades web, tanto de pequea como de gran escala. La plataforma de bases de datos de SQL Server Express se basa en SQL Server 2008. Es tambin la sustitucin de Microsoft Desktop Engine (MSDE). Gracias a su integracin con Visual Studio, SQL Server Express facilita el desarrollo de aplicaciones controladas por datos que tienen una gran capacidad, ofrecen un almacenamiento seguro y se implementan con rapidez. SQL Server Express es gratuito y los ISV pueden redistribuirlo (segn su contrato). SQL Server Express es ideal para conocer y crear pequeas aplicaciones de servidor y de escritorio. Esta edicin es la mejor opcin para los fabricantes de software independientes, los desarrolladores no profesionales y los aficionados que crean aplicaciones cliente. Si necesita caractersticas de base de datos ms avanzadas, SQL Server Express se puede actualizar sin problemas a versiones ms sofisticadas de SQL Server.

SQL Server Express (x86 y x64) SQL Server Express with Tools (x86 y x64) SQL Server Express con Advanced Services (x86 y x64)

Compact 3.5 SP1 SQL Server Compact 3.5 es una base de datos gratuita e incrustada, ideal para (x86) crear aplicaciones independientes que se conectan ocasionalmente para Compact 3.1 (x86) dispositivos mviles, escritorios y clientes web en todas las plataformas de Windows.

COMPONENTES QUE VIENEN A ESCOGER EN EL SQL SERVERComponentes servidor de Descripcin

SQL Server Database SQL Server Database Engine (Motor de base de datos de SQL Server) Engine (Motor de base de incluye Database Engine (Motor de base de datos), el servicio principal datos de SQL Server) para almacenar, procesar y proteger datos; tambin incluye replicacin, bsqueda de texto completo y herramientas para administrar datos XML y relacionales. Analysis Services Analysis Services incluye las herramientas para crear y administrar aplicaciones de procesamiento analtico en lnea (OLAP) y de minera de datos. Reporting Services incluye componentes de servidor y de cliente para crear, administrar e implementar informes tabulares, matriciales, grficos y de forma libre. Reporting Services tambin es una plataforma extensible que puede utilizarse para desarrollar aplicaciones de informes. Integration Services es un conjunto de herramientas grficas y objetos programables para mover, copiar y transformar datos.

Reporting Services

Integration Services

Herramientas administracin

de Descripcin

SQL Server Management SQL Server Management Studio es un entorno integrado para tener Studio acceso, configurar, administrar y desarrollar componentes de SQL Server.

SQL Administracin

[email protected]

Pg. 5

Universidad Nacional de IngenieraHerramientas administracin de DescripcinManagement Studio permite a los desarrolladores de software y administradores con diferentes grados de experiencia usar SQL Server. Para la instalacin de Management Studio, se requiere Internet Explorer 6 Service Pack 1 o una versin posterior. Administrador configuracin Server de de El Administrador de configuracin de SQL Server proporciona SQL administracin de configuracin bsica para los servicios, protocolos de servidor, protocolos de cliente y alias de cliente de SQL Server. SQL Server Profiler proporciona una interfaz grfica de usuario para supervisar una instancia del Database Engine (Motor de base de datos) o de Analysis Services.

SQL Server Profiler

Asistente para la El Asistente para la optimizacin de Database Engine (Motor de base de optimizacin de Database datos) crea conjuntos ptimos de ndices, vistas indizadas y particiones. Engine (Motor de base de datos) Business Intelligence Business Intelligence Development Studio es un IDE para las soluciones Development Studio Analysis Services, Reporting Services y Integration Services. Para la instalacin de BI Development Studio, se requiere Internet Explorer 6 Service Pack 1 o una versin posterior. Componentes conectividad de Instala componentes para la comunicacin entre clientes y servidores, y bibliotecas de red para DB-Library, ODBC y OLE DB.

NMERO MXIMO DE PROCESADORES COMPATIBLES CON LAS EDICIONES DE SQL SERVERSQL Server admite el nmero especificado de sockets de procesador multiplicado por el nmero de CPU lgicas en cada socket. Por ejemplo, lo siguiente se considera un solo procesador para los fines de esta tabla: Un procesador de un solo ncleo e hipersubprocesamiento con dos CPU lgicas por socket. Un procesador de doble ncleo con dos CPU lgicas. Un procesador de ncleo cudruple con cuatro CPU lgicas. SQL Server se utiliza bajo licencia para cada socket del procesador y no para cada CPU lgica.Nmero de procesadores admitidosSistema operativo mximo Sistema operativo mximo 4 4 2

Edicin de SQL Server 2008Enterprise Developer Standard Web Workgroup

Pg. 6

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de SistemasEdicin de SQL Server 2008Express Express with Tools Express con Advanced Services

Nmero de procesadores admitidos1 1 1

REQUISITOS DEL SISTEMA SQL SERVER 2008ComponenteMarco trabajo2

Requisito

de El programa de instalacin de SQL Server instala los siguientes componentes de software requeridos por el producto: .NET Framework 3.5 SP11 SQL Server Native Client Archivos auxiliares para la instalacin de SQL Server El programa de instalacin de SQL Server requiere Microsoft Windows Installer 4.5 o una versin posterior Una vez instalados los componentes requeridos, el programa de instalacin de SQL Server comprobar que el equipo en el que se ha instalado SQL Server 2008 tambin cumple los dems requisitos para su correcta instalacin. Para obtener ms informacin, vea Comprobar los parmetros del Comprobador de configuracin del sistema. de Los requisitos de software de red para las versiones de 64 bits de SQL Server 2008 son los mismos que para las versiones de 32 bits. Los sistemas operativos compatibles tienen el software de red integrado. Las instancias predeterminadas y con nombre independientes admiten los siguientes protocolos de red: Memoria compartida Canalizaciones con nombre TCP/IP VIA Nota La memoria compartida y VIA no se admiten en clsteres de conmutacin por error. SQL Server 2008 es compatible con entornos de mquina virtual que se ejecutan en la funcin Hyper-V de las ediciones Standard, Enterprise y Datacenter de Windows Server 2008 R2 y Windows Server 2008. La mquina virtual debe ejecutarse en un sistema operativo compatible con la edicin de SQL Server 2008 concreta que se cita ms adelante en este tema. Adems de los recursos requeridos por la particin primaria, a cada mquina virtual (particin secundaria) se debe proporcionar suficientes recursos de procesador, memoria y recursos de disco para su instancia de SQL Server 2008. Los requisitos se enumeran ms adelante en este tema.3 Dentro de la funcin Hyper-V de Windows Server 2008, se puede asignar un mximo de cuatro procesadores virtuales a mquinas virtuales que ejecuten las ediciones de 32 o 64 bits de Windows Server 2008. Se pueden asignar como mximo 2 procesadores virtuales a equipos virtuales que ejecuten ediciones de 32 bits de Windows Server 2003. Para equipos virtuales que alojan otros sistemas operativos, se puede asignar como mximo un procesador virtual a equipos

Software2

Software red

Virtualizacin

SQL Administracin

[email protected]

Pg. 7

Universidad Nacional de IngenieraComponente Requisitovirtuales. Notas: Se recomienda cerrar SQL Server 2008 antes de apagar la mquina virtual. Para obtener ms informacin sobre la funcin Hyper-V de Windows Server 2008, vea el sitio web de Windows Server 2008. La agrupacin en clsteres de conmutacin por error del invitado se admite en SQL Server 2008. Para obtener ms informacin sobre las versiones admitidas de SQL Server y los sistemas operativos para la agrupacin en clsteres de conmutacin por error del invitado, y la compatibilidad con la virtualizacin, vea el tema que trata sobre la directiva de compatibilidad para los productos de Microsoft SQL Server que se ejecutan en un entorno virtual de hardware. Software Internet de Para todas las instalaciones de SQL Server 2008 se requiere Microsoft Internet Explorer 6 SP 1 o una versin posterior. Se requiere Internet Explorer 6 Service Pack 1 o una versin posterior para Microsoft Management Console (MMC), SQL Server Management Studio, Business Intelligence Development Studio, el componente Diseador de informes de Reporting Services y la Ayuda HTML. Las necesidades de espacio en disco variarn con los componentes de SQL Server 2008 que instale. Para obtener ms informacin, vea Requisitos de espacio en disco duro, ms adelante en este tema. Para la instalacin desde disco se necesita una unidad de CD o DVD. Las herramientas grficas de SQL Server 2008 requieren VGA o una resolucin mayor: resolucin mnima de 1.024 x 768 pxeles. Dispositivo sealador: se necesita un mouse Microsoft o dispositivo sealador compatible.

Disco duro

Unidad Pantalla Otros dispositivos

Nota: Las versiones de 64 bits de SQL Server 2008 incluyen soporte para sistemas extendidos, tambin conocidos como Windows on Windows (WOW64). WOW64 es una caracterstica de las ediciones de 64 bits de Microsoft Windows que permite que las aplicaciones de 32 bits se ejecuten de forma nativa en modo de 32 bits. Las aplicaciones funcionan en modo de 32 bits aunque el sistema operativo subyacente se ejecute en la plataforma de 64 bits.

ComponenteProcesador

RequisitoTipo de procesador: Mnimo: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T, Intel Pentium IV compatible con EM64T Velocidad de procesador: Mnimo: 1,4 GHz Recomendado: 2,0 GHz o ms Windows Server 2003 SP2 de 64 bits x64 Standard1 Windows Server 2003 SP2 de 64 bits x64 Datacenter1 Windows Server 2003 SP2 de 64 bits x64 Enterprise1 Windows Server 2008 de 64 bits x64 Standard Windows Server 2008 de 64 bits x64 Standard sin Hyper-V Windows Server 2008 de 64 bits x64 Datacenter

Sistema operativo

Pg. 8

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de SistemasComponente RequisitoWindows Server 2008 de 64 bits x64 Datacenter sin Hyper-V1 Windows Server 2008 de 64 bits x64 Enterprise Windows Server 2008 de 64 bits x64 Enterprise sin Hyper-V1 Windows Server 2008 R2 de 64 bits x64 Web1,2 Windows Server 2008 R2 de 64 bits x64 Standard1,2 Windows Server 2008 R2 de 64 bits x64 Enterprise1,2 Windows Server 2008 R2 de 64 bits x64 Datacenter1,2 Memoria RAM: Mnimo: 512 MB Recomendado: 2,048 GB o ms Mximo: mximo del sistema operativo

CONSIDERACIONES SOBRE LA SEGURIDADPara iniciar Management Studio, elija Programas>Microsoft SQL Server 2008>SQL Server Management Studio en el men de Inicio de Windows. Management Studio se instala durante la instalacin de Sql Server 2008. Al abrirse, le pide que se conecte a una instancia de SQL Server. En cuanto se conecte, la instancia de SQL Server aparece en el Explorador de objetos.

Si fuera necesario, se podra dar a conocer caractersticas especiales sobre la conexin, para ello, hay que hacer clic sobre el botn Options, luego, aparecer la siguiente pantalla.

SQL Administracin

[email protected]

Pg. 9

Universidad Nacional de Ingeniera

En el combo de base de datos, se podr seleccionar la Base de Datos con la cual deseamos conectarnos, esto depender del servidor con el cual nos enlacemos. En el rea de detalles de la red, veremos el modo de conexin que tenemos con el SQL Server, dicho sea de paso, no es necesario cambiar esta opcin. En conexiones, podemos especificar el tiempo de espera para la conexin, en tiempo de ejecucin, se determina el tiempo de espera para la ejecucin de las sentencias en T-SQL. Una vez que hayamos dado a conocer, todas las caractersticas necesarias para la conexin, haremos clic sobre el botn Connect. Seguidamente, veremos la pantalla del Management Studio.

Pg. 10

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

Instalando el SQL Server 2008 Una vez que hayan decidido la Edicin a utilizar del SQL Server 2008, procederemos a instalar el software.

SQL Administracin

[email protected]

Pg. 11

Universidad Nacional de Ingeniera

Pg. 12

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

Aqu dan a conocer todos los servicios que van a utilizar:

SQL Administracin

[email protected]

Pg. 13

Universidad Nacional de Ingeniera

Si tuvieran que crear una nueva instancia, aqu debern de dar el nombre de esta:

Pg. 14

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

SQL Administracin

[email protected]

Pg. 15

Universidad Nacional de Ingeniera

Tener en cuenta que la instalacin se debe de hacer con el usuario que tenga mximos privilegios, adems de tener una contrasea.

Pg. 16

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

SQL Administracin

[email protected]

Pg. 17

Universidad Nacional de Ingeniera

Pg. 18

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

SQL Administracin

[email protected]

Pg. 19

Universidad Nacional de Ingeniera

Pg. 20

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

SQL Administracin

[email protected]

Pg. 21

Universidad Nacional de Ingeniera

Pg. 22

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

C API TULO 2 Administracin de la Base de Datos y Archivos Planificacin de la BD. Creacin de la BD. Administracin de la BD. Uso de Schemas y FileGroups.

SQL Administracin

[email protected]

Pg. 23

Universidad Nacional de Ingeniera

C

R E A C I N

D E

L A

B D

Para crear la base de datos, podemos hacer uso del management Studio, o a travs de sentencias T-SQL, en ambos casos, tendremos los mismos resultados. El proceso de definicin de una base de datos crea tambin un registro de transacciones para esa base de datos.

Utilizando el management Studio, el procedimiento sera el siguiente, primero nos ubicamos sobre el objeto Databases, luego clic derecho.

Del men contextual, seleccionar la alternativa New Database, para que se muestre la ventana de propiedades de la nueva base de datos.

Desde esta ventana, podremos darle nombre a la nueva base de datos, tambin se puede especificar el propietario, as como los nombres fsicos y lgicos de la base de datos.

Si fuera necesario agregar nuevos grupos de archivos, hacer clic sobre el botn Add, luego aparecer la siguiente pantalla.

Pg. 24

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

Desde aqu podremos crear los nuevos grupos de archivo, con los cuales trabajar nuestra base de datos. Para crear la base de datos desde T-SQL, podemos escribir lo siguiente: Creando la base de datos sin dar mayores especificaciones sobre los archivos a crear:USE master; GO IF DB_ID (N'sistemasUNI') IS NOT NULL DROP DATABASE miproyecto; GO CREATE DATABASE sistemasUNI; GO Verificando los archivos y tamaos de la BD SELECT name, size, size*1.0/128 AS [Size in MBs] FROM sys.master_files WHERE name = N' sistemasUNI '; GO

Creando una base de datos especificando los archivos de datos y de transaccionesUSE master; GO IF DB_ID (N'Ventitas') IS NOT NULL DROP DATABASE Sales; GO obteniendo la ruta del SQL Server DECLARE @data_path nvarchar(256); SET @data_path = ( SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1) FROM master.sys.master_files WHERE database_id = 1 AND file_id = 1); -- ejecutando la sentencia CREATE DATABASE EXECUTE ('CREATE DATABASE Ventitas ON ( NAME = Ventitas _dat, FILENAME = '''+ @data_path + ' Ventitasdat.mdf'', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Ventitas _log, FILENAME = '''+ @data_path + ' Ventitaslog.ldf'', SIZE = 5MB, MAXSIZE = 25MB,

SQL Administracin

[email protected]

Pg. 25

Universidad Nacional de IngenieraFILEGROWTH = 5MB )' ); GO

Creando una base de datos con mltiples archivos, los archivos con extensiones mdf contienen los archivos primarios, los ndf contienen los archivos secundarios y los ldf contienen las transacciones.USE master; GO IF DB_ID (N'Archivo') IS NOT NULL DROP DATABASE Archivo; GO obteniendo la ruta del SQL Server DECLARE @data_path nvarchar(256); SET @data_path =(SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1) FROM master.sys.master_files WHERE database_id = 1 AND file_id = 1); -- ejecutar la sentencia CREATE DATABASE EXECUTE ('CREATE DATABASE Archivo ON PRIMARY ( NAME = Arch1, FILENAME = '''+ @data_path + 'archdat1.mdf'', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch2, FILENAME = '''+ @data_path + 'archdat2.ndf'', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch3, FILENAME = '''+ @data_path + 'archdat3.ndf'', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON ( NAME = Archlog1, FILENAME = '''+ @data_path + 'archlog1.ldf'', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Archlog2, FILENAME = '''+ @data_path + 'archlog2.ldf'', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20)' ); GO

La informacin acerca de las bases de datos de SQL Server est almacenada en la tabla sysdatabases de la base de datos master. Por tanto, debe utilizar la base de datos master para definir una base de datos cuando utilice instrucciones TransactSQL. La definicin de una base de datos consiste en especificar el nombre de la base de datos, y disear el tamao y la ubicacin de los archivos de la base de datos. Cuando se crea la nueva base de datos, sta es un duplicado de la base de datos model. Las opciones o configuraciones de la base de datos model se copian en la nueva base de datos. Importante, se recomienda hacer una copia de seguridad de la base de datos master cada vez que cree, modifique o elimine una base de datos. Al crear una base de datos se pueden establecer los siguientes parmetros:

PRIMARY

Pg. 26

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Este parmetro especifica los archivos del grupo de archivos principal. El grupo de archivos principal contiene todas las tablas del sistema de la base de datos. Tambin contiene todos los objetos no asignados a grupos de archivos del usuario. Todas las bases de datos tienen un archivo de datos principal. El archivo de datos principal es el punto de inicio de la base de datos y seala a los dems archivos de la base de datos. La extensin de nombre de archivo recomendada para los archivos de datos principales es mdf. Si no se especifica la palabra clave PRIMARY, el primer archivo enumerado en la instruccin es el archivo principal.

FILENAMEEste parmetro especifica el nombre del archivo del sistema operativo y la ruta de acceso al archivo. La ruta acceso de archivo debe especificar una carpeta del servidor en el que est instalado SQL Server.

SIZEEste parmetro especifica el tamao de los archivos de datos o de registro. Puede especificar los tamaos en megabytes (MB), que es el valor predeterminado, o en kilobytes (KB). El tamao mnimo es de 512 KB, tanto para los archivos de datos como para los archivos de registro. El tamao especificado para el archivo de datos principal debe ser, al menos, como el tamao del archivo principal de la base de datos model. Cuando se agrega un archivo de datos o un archivo de registro, el valor predeterminado es 1 MB.

MAXSIZEEste parmetro especifica el tamao mximo hasta el que puede crecer el archivo. Puede especificar el tamao en megabytes (valor predeterminado) o en kilobytes. Si no se especifica el tamao, el archivo crece hasta que el disco est lleno.

FILEGROWTH Este parmetro especifica el incremento de crecimiento del archivo. El valor de FILEGROWTH de un archivo no puede sobrepasar el valor de MAXSIZE. Un valor de 0 indica que no hay crecimiento. El valor se puede especificar en megabytes (el valor predeterminado), en kilobytes o como porcentaje (%). Si no se especifica FILEGROWTH, el valor predeterminado es el 10 por ciento y el valor mnimo es 64 KB (una extensin). El tamao especificado se redondea al mltiplo de 64 KB ms prximo.

COLLATIONEste parmetro especifica la intercalacin predeterminada para la base de datos. La intercalacin incluye las reglas que gobiernan el uso de caracteres de un lenguaje o un alfabeto.

SQL Administracin

[email protected]

Pg. 27

Universidad Nacional de Ingeniera

Registro de Transacciones1Modificaciones de datos es enviada por la aplicacin

3Buffer Cache

La modificacin se registra en diario de las transacciones en el disco Disk

2

Pginas de datos se encuentran en, o se leen, en el buffer de cach y son modificados

Disk

4

Checkpoint escribe cometido de las transacciones en la base de datos

SQL Server graba todas las transacciones en un registro de transacciones para mantener la coherencia de la base de datos y facilitar la recuperacin. El registro es un rea de almacenamiento que efecta automticamente el seguimiento de todos los cambios en la base de datos. SQL Server graba las modificaciones al registro en disco cuando se ejecutan, antes de que se escriban en la base de datos. El proceso de registro es el siguiente: La aplicacin enva una modificacin de datos. Cuando la modificacin se ejecuta, las pginas de datos afectadas se cargan en la cach del bfer desde el disco si no estn ya cargadas en la cach del bfer por una consulta anterior. Cada instruccin de modificacin de datos se graba en el registro mientras se ejecuta. El cambio siempre se graba en el registro y se escribe en disco antes de hacer la modificacin en la base de datos. Este tipo de registro se denomina registro de preescritura. De forma repetitiva, el proceso de punto de comprobacin escribe en disco todas las transacciones completadas en la base de datos. Si se produce un error del sistema, el proceso automtico de recuperacin utiliza el registro de transacciones para aplicar todas las transacciones confirmadas y deshacer las transacciones incompletas. Los marcadores de transaccin del registro se utilizan durante la recuperacin automtica para determinar los puntos de inicio y fin de cada transaccin. Una transaccin se considera completa cuando el marcador BEGIN TRANSACTION tiene

Pg. 28

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas un marcador COMMIT TRANSACTION asociado. Las pginas de datos se escriben en disco cuando existe un punto de comprobacin.

Administracin de la BD.Despus de haber creado una base de datos, se puede definir opciones de base de datos con el Management Studio del SQL Server o por medio de la instruccin ALTER DATABASE. Puede configurar varias opciones de base de datos, pero slo se puede hacer en una sola base de datos al mismo tiempo. Para que las opciones afecten a todas las bases de datos nuevas, cambie la base de datos model. La tabla siguiente enumera algunas de las opciones de uso ms frecuente.Propiedad Opciones automticas

Descripcin AUTO_CREATE_STATISTICS

AUTO_UPDATE_STATISTICS

Opciones cursor

de

CURSOR_CLOSE_ON_COMMIT

CURSOR_DEFAULT GLOBAL

LOCAL

|

Opciones recuperacin

de

RECOVERY FULL BULK_LOGGED | SIMPLE

|

TORN_PAGE_DETECTION

Valor Retornado Crea automticamente las estadsticas que faltan que son necesarias para la optimizacin de consultas. El valor predeterminado es ON. Actualiza automticamente las estadsticas desfasadas necesarias para la optimizacin de consultas. El valor predeterminado es ON. Cierra automticamente los cursores abiertos cuando se confirma una transaccin. El valor predeterminado es OFF y los cursores permanecen abiertos. CURSOR_DEFAULT_LOCAL limita el mbito del cursor. Es local al lote, procedimiento almacenado o desencadenador en el que se cre el cursor. CURSOR_DEFAULT_GLOBAL es el valor predeterminado; el mbito del cursor es global respecto a la conexin. FULL proporciona recuperabilidad completa ante errores del medio; es el valor predeterminado. BULK_LOGGED utiliza menos espacio de registro porque el registro es mnimo, pero tiene un riesgo mayor de exposicin. SIMPLE recupera la base de datos slo hasta la ltima copia de seguridad completa de la base de datos o hasta la ltima copia de seguridad diferencial. Permite a SQL Server detectar

SQL Administracin

[email protected]

Pg. 29

Universidad Nacional de IngenieraPropiedad

Descripcin

Opciones de SQL

ANSI_NULL_DEFAULT

ANSI_NULLS

Opciones estado

de

READ_ONLY | READ_WRITE

SINGLE_USER RESTRICTED_USER MULTI_USER

| |

Valor Retornado operaciones de E/S incompletas causadas por cortes de energa u otros apagones del sistema. El valor predeterminado es ON. Permite al usuario controlar la capacidad de asignacin predeterminada de valores NULL de la base de datos. Si est activada, todas las comparaciones con un valor nulo se evalan como NULL (desconocido). Si est desactivada, todas las comparaciones de valores no Unicode con un valor nulo se evalan como verdaderas (TRUE) si ambos valores son NULL. De manera predeterminada, la opcin de base de datos ANSI_NULLS es OFF. Define la base de datos como de slo lectura (se utiliza para establecer la seguridad en las bases de datos de ayuda a la toma de decisiones) o devuelve la base de datos a operaciones de lectura y escritura. SINGLE_USER permite que los usuarios se conecten a la base de datos de uno en uno. Todas las dems conexiones se interrumpen. RESTRICTED_USER permite que slo los miembros de la funcin fija de base de datos db_owner y de las funciones fijas de servidor dbcreator y sysadmin se conecten a la base de datos. MULTI_USER permite que todos los usuarios con los permisos adecuados se conecten a la base de datos. MULTI_USER es la opcin predeterminada.

Recuperacin de informacin de la base de datosPuede determinar las propiedades de la base de datos con la siguiente funcin DATABASEPROPERTYEX. SELECT DATABASEPROPERTYEX (base de datos, propiedad) Tener en cuenta que, esta funcin slo devuelve el valor de una propiedad a la vez.

Pg. 30

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas La siguiente tabla enumera algunas de las propiedades de la base de datos. Propiedad Collation Descripcinnombre por defecto para la base de datos.

Valor retornadoCollation name NULL = Database is not started. Base data type: nvarchar(128) Returns the comparison style. Returns 0 for all binary collations. Base data type: int

ComparisonStyle

The Windows comparison style of the collation. ComparisonStyle is a bitmap that is calculated by using the following values. Style Value Ignore 1 case Ignore 2 accent Ignore 65536 Kana Ignore 131072 width For example, the default of 196609 is the result of combining the Ignore case, Ignore Kana, and Ignore width options. Base de datos sigue normas ISO para permitir valores nulos. Todas las comparaciones a nulo para evaluar desconocidos. Cadenas son rellenadas con la misma longitud antes de comparacin o insercin. Mensajes de error o de advertencia se emiten cuando un error estndar se produce. Las consultas se terminan cuando un error por desbordamiento o divisin por cero se produce durante la ejecucin de las consultas. Base de Datos se cierra limpiando y liberando recursos a partir de la

IsAnsiNullDefault

IsAnsiNullsEnabled

IsAnsiPaddingEnabled

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

IsAnsiWarningsEnabled

IsArithmeticAbortEnabled

IsAutoClose

1 = TRUE 0 = FALSE NULL = Input not valid

SQL Administracin

[email protected]

Pg. 31

Universidad Nacional de Ingeniera Propiedad IsAutoCreateStatistics Descripcinltima salida de usuario Falta de estadsticas que se requieren de una consulta para la optimizacin automtica se construy durante la consulta de optimizacin. Archivos de Base de datos son candidatos para peridos automticos de disminucin. Estadsticas existentes son actualizadas automticamente, por las estadsticas de fuera de fecha, porque los datos en las tablas han cambiado. Cursores que estn abiertas cuando una transaccin se ha comprometido estn cerradas Base de Datos con fulltext permitido.

Valor retornadoBase data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

IsAutoShrink

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

IsAutoUpdateStatistics

IsCloseCursorsOnCommitEnabled

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

IsFulltextEnabled

IsInStandBy

IsLocalCursorsDefault

Base de Datos esta online como read-only, con restauracin del log permitido. Declaracin del Cursor por defecto como LOCAL

IsMergePublished

IsNullConcat

Las tablas de una Base de Datos pueden ser publicadas para una replicacin, si la replicacin est instalada. Concatenacin de operaciones Null rinden con NULL. Los errores se generan cuando la prdida de precisin se produce en las expresiones PARAMETERIZATION de la base de datos con la opcin SET es FORCED.

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid

IsNumericRoundAbortEnabled

IsParameterizationForced

Pg. 32

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Propiedad IsQuotedIdentifiersEnabled DescripcinDoble comillas se puede utilizar en identificadores.

Valor retornado1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

IsPublished

IsRecursiveTriggersEnabled

Las tablas de la base de datos pueden ser publicados por la instantnea o la replicacin transaccional, si se instala la replicacin. Recursivo disparo de factores desencadenantes est activado Base de datos est suscrito a una publicacin

IsSubscribed

IsSyncWithBackup

IsTornPageDetectionEnabled

LCID

La base de datos es una base de datos de publicacin o una base de datos de distribucin, y puede ser restaurada sin interrumpir la replicacin transaccional. El SQL Server Database Engine Engine detecta operaciones incompletas de E/S causados por fallos de energa o cortes de otro sistema. El identificador de Windows local (LCID) de la colacin.

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int 1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

1 = TRUE 0 = FALSE NULL = Input not valid Base data type: int

Recovery

Modelo de recuperacin para la base de datos

SQLSortOrder

SQL Server sort order ID supported in earlier versions of SQL Server SQL Server ordenanimiento, apoya ordenamiento por ID en las versiones anteriores de SQL Server Estado de la Base de

LCID value (in decimal format). Base data type: int For a list of LCID values (in hexadecimal format), see Collation Settings in Setup. FULL = Full recovery model BULK_LOGGED = Bulk logged model SIMPLE = Simple recovery model Base data type: nvarchar(128) 0 = Database is using Windows collation >0 = SQL Server sort order ID NULL = Input not valid or database is not started Base data type: tinyint

Status

ONLINE = Database is

SQL Administracin

[email protected]

Pg. 33

Universidad Nacional de Ingeniera Propiedad DescripcinDatos.

Valor retornadoavailable for query. OFFLINE = Database was explicitly taken offline. RESTORING = Database is being restored. RECOVERING = Database is recovering and not yet ready for queries. SUSPECT = Database did not recover. EMERGENCY = Database is in an emergency, read-only state. Access is restricted to sysadmin members Base data type: nvarchar(128) READ_ONLY = Data can be read but not modified. READ_WRITE = Data can be read and modified. Base data type: nvarchar(128) SINGLE_USER = Only one db_owner, dbcreator, or sysadmin user at a time RESTRICTED_USER = Only members of db_owner, dbcreator, and sysadmin roles MULTI_USER = All users Base data type: nvarchar(128) Version number = Database is open. NULL = Database is not started. Base data type: int

Updateability

Indica si los datos pueden ser modificados

UserAccess

Indica que los usuarios puedan acceder a la base de datos.

Version

Nmero de versin interna del cdigo SQL Server con el que la base de datos se ha creado. Identificado slo con fines informativos. No soportado. La compatibilidad en el futuro no est garantizada.

La siguiente tabla enumera los procedimientos almacenados del sistema de uso comn que presentan informacin acerca de las bases de datos y sus parmetros. Procedimiento sistema sp_helpdb almacenado de Descripcin Informa acerca de todas las bases de datos de un servidor. Proporciona el nombre, tamao, propietario, Id., fecha de creacin y opciones

Pg. 34

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Procedimiento sistema almacenado de Descripcin de la base de datos. Informa slo acerca de la base de datos especificada. Proporciona el nombre, tamao, propietario, Id., fecha de creacin y opciones de la base de datos. Tambin enumera los archivos de datos y de registro. Resume el espacio de almacenamiento que utiliza una base de datos o un objeto de base de datos.

sp_helpdb baseDeDatos

sp_spaceused [nombreObjeto]

Componentes fsicos: archivos y grupos de archivos de bases de datos (FileGroup). Un grupo de archivos es un conjunto lgico de archivos de datos que permite a los administradores controlar todos los archivos del grupo como un nico elemento. La posibilidad de controlar la posicin fsica de los objetos individuales de la base de datos puede proporcionar diversas ventajas en cuanto a facilidad de administracin y rendimiento. Por ejemplo, puede utilizar varios grupos de archivos para controlar cmo se almacenan fsicamente los datos de una base de datos en dispositivos de almacenamiento, y para separar los datos de lectura y escritura de los datos de slo lectura.

Tipos de grupos de archivosSQL Server 2008 tiene un grupo de archivos principal y tambin puede tener grupos de archivos definidos por el usuario.

SQL Administracin

[email protected]

Pg. 35

Universidad Nacional de Ingeniera El grupo de archivos principal contiene el archivo principal de datos con las tablas del sistema. El archivo principal de datos utiliza normalmente la extensin .mdf. Un grupo de archivos definido por el usuario consta de archivos de datos agrupados con fines de asignacin y administrativos. Estos otros archivos de datos se conocen como archivos secundarios de datos y suelen utilizar la extensin .ndf.

SITUACIN DE EJEMPLO PARA VARIOS GRUPOS DE ARCHIVOSLa ilustracin proporciona un ejemplo de cmo podra colocar los archivos de base de datos en discos diferentes, como se describe en la lista siguiente: Puede crear grupos de archivos definidos por el usuario para separar los archivos que se consultan con mucha frecuencia de los que se modifican mucho. En la ilustracin, los archivos OrdHist1.ndf y OrdHist2.ndf se colocan en un disco distinto que las tablas Product, Customer y SalesOrderHeader, ya que se consultan como ayuda para la toma de decisiones en lugar de actualizarse con informacin de pedidos actual. Tambin podra colocar los archivos OrdHist1.ndf y OrdHist2.ndf en discos diferentes si ambos se consultaran con mucha frecuencia. No puede poner archivos de registro de transacciones en grupos de archivos. El espacio del registro de transacciones se administra por separado del espacio de datos. Los registros de transacciones suelen utilizar la extensin .ldf. En el siguiente ejemplo de cdigo Transact-SQL se utiliza la instruccin CREATE DATABASE para implementar esta situacin de ejemplo. CREATE DATABASE [AdventureWorks] ON PRIMARY ( NAME = N'AdventureWorks_Data', FILENAME = N'C:\AdventureWorks_Data.mdf' ), FILEGROUP [OrderHistoryGroup] ( NAME = N'OrdHist1', FILENAME = N'D:\OrdHist1.ndf' ), ( NAME = N'OrdHist2', FILENAME = N'D:\OrdHist2.ndf' ) LOG ON ( NAME = N'AdventureWorks_log', FILENAME = N'E:\AdventureWorks_log.ldf') Tambin puede utilizar la instruccin ALTER DATABASE para agregar o eliminar archivos y grupos de archivos de bases de datos existentes.

CUNDO CREAR GRUPOS DE ARCHIVOSPuede crear varios archivos de datos en discos diferentes y crear un grupo de archivos definido por el usuario para contener los archivos. Las dos razones principales para utilizar grupos de archivos son mejorar el rendimiento y controlar la colocacin fsica de datos.

Pg. 36

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

Uso de varios archivos en un nico grupo de archivos para mejorar el rendimiento Si bien Matriz redundante de discos independientes (RAID) es la manera preferida de mejorar el rendimiento de una base de datos, puede asignar varios archivos de discos distintos a un nico grupo de archivos para mejorar el rendimiento implementando una forma de seccionamiento de datos dentro de SQL Server. Puesto que SQL Server utiliza una estrategia de relleno proporcional al escribir datos en un grupo de archivos, los datos se reparten entre los archivos y, por tanto, en las particiones fsicas del disco. Este mtodo permite tener un control ms fino sobre el seccionamiento de datos del que se puede lograr al crear un conjunto de volmenes seccionados en el sistema operativo Windows, o utilizando una controladora de matriz RAID. Nota: En la mayora de los casos, el uso de las funciones de seccionamiento de RAID Proporciona la misma ganancia de rendimiento que podra lograr utilizando grupos de archivos definidos por el usuario, sin la carga administrativa agregada que supone definir y administrar los grupos de archivos.

USO

DE VARIOS GRUPOS DE ARCHIVOS PARA CONTROLAR LA COLOCACIN FSICA DE LOS DATOS Para utilizar grupos de archivos con el fin de simplificar el mantenimiento o lograr objetivos de diseo, puede: Almacenar los datos de lectura y escritura separados de los datos de slo lectura para mantener separados los diferentes tipos de actividad de E/S de disco. Almacenar los ndices en discos diferentes que las tablas, lo que puede conducir a un mayor rendimiento. Hacer copia de seguridad o restaurar archivos individuales o grupos de archivos en lugar de hacer copia de seguridad o restaurar una base de datos entera. Puede ser

SQL Administracin

[email protected]

Pg. 37

Universidad Nacional de Ingeniera necesario hacer copia de seguridad de archivos o de grupos de archivos para las bases de datos grandes con el fin de tener una estrategia eficaz de copia de seguridad y restauracin. Agrupar en los mismos grupos de archivos las tablas y los ndices que tienen unos requisitos de mantenimiento similares. Quizs desee realizar tareas de mantenimiento en algunos objetos con ms frecuencia que en otros. Por ejemplo, si crea dos grupos de archivos y les asigna tablas, puede ejecutar las tareas diarias de mantenimiento en las tablas de un grupo diario y las tareas de mantenimiento semanales en las tablas de un grupo semanal. Esto limita la contencin de disco entre los dos grupos de archivos. Separar las tablas de usuario y otros objetos de base de datos de las tablas del sistema en el grupo de archivos principal. Tambin debe cambiar el grupo de archivos predeterminado para evitar que el crecimiento inesperado de las tablas restrinja las tablas del sistema del grupo de archivos principal. Almacenar las particiones de una tabla con particiones en varios grupos de archivos. sta es una buena forma de separar fsicamente los datos que tienen necesidades de acceso diferentes dentro de una nica tabla, y tambin puede proporcionar ventajas de facilidad de administracin y rendimiento.

Creacin de esquemasLos desarrolladores que hayan trabajado con Microsoft .NET Framework o con XML estarn familiarizados con el concepto de espacios de nombres. Un espacio de nombres ayuda a agrupar los objetos relacionados, haciendo que las listas de objetos complejas sean ms fciles de administrar. SQL Server 2008 utiliza esquemas para implementar un concepto similar para los objetos de base de datos. Los objetos de una base de datos (como tablas, vistas y procedimientos almacenados) se crean dentro de un esquema. Es esencial comprender lo que es un esquema antes de planear e implementar una base de datos de SQL Server 2008.

Pg. 38

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

ESQUEMAS COMO ESPACIOS DE NOMBRESUn esquema es un espacio de nombres para objetos de base de datos. Es decir, un esquema define un lmite dentro del cual todos los nombres son nicos. Puesto que los nombres de esquema deben ser nicos dentro de la base de datos, cada objeto de una base de datos tiene un nombre completo nico con el formato servidor.base de datos.esquema.objeto. Dentro de una base de datos, puede acortarlo a esquema.objeto. La ilustracin anterior muestra tres esquemas de la base de datos AdventureWorks en una instancia de SQL Server denominada Server1. Los esquemas se denominan Person, Sales y dbo. Cada uno de estos esquemas contiene una tabla y el nombre completo de la tabla incluye el nombre del servidor, la base de datos y el esquema. Por ejemplo, el nombre completo de la tabla ErrorLog del esquema dbo es Server1.AdventureWorks.dbo.ErrorLog. En versiones anteriores de SQL Server, el espacio de nombres de un objeto estaba determinado por el nombre de usuario de su propietario. En SQL Server 2008, los esquemas estn separados de la propiedad de los objetos, lo que proporciona las ventajas siguientes: Mayor flexibilidad a la hora de organizar los objetos de base de datos en espacios de nombres, ya que la agrupacin de objetos en esquemas no depende de la propiedad de los objetos. Administracin de permisos ms sencilla, ya que se puede otorgar permisos en el mbito del esquema y en los objetos individuales. Facilidad de administracin mejorada, porque al quitar a un usuario no es necesario cambiar el nombre de todos los objetos que ese usuario posee.

ESQUEMAS DE EJEMPLOLa base de datos AdventureWorks utiliza los esquemas siguientes para organizar sus objetos de base de datos en espacios de nombres: HumanResources Person Production Purchasing Sales Por ejemplo, para hacer referencia a la tabla HumanResources se utiliza HumanResources.Employee. Employee del esquema

El esquema dbo Todas las bases de datos contienen un esquema denominado dbo. dbo es el esquema predeterminado para todos los usuarios que no tienen ningn otro esquema predeterminado definido explcitamente. Creacin de un esquema Para crear un esquema, utilice el Explorador de objetos de SQL Server Management Studio o utilice la instruccin CREATE SCHEMA, como se muestra en el ejemplo siguiente. Use AdventureWorks

SQL Administracin

[email protected]

Pg. 39

Universidad Nacional de Ingeniera GO CREATE SCHEMA Sales GO

Cmo funciona la resolucin de nombres de objetosCuando una base de datos contiene varios esquemas, la resolucin de nombres de objetos puede resultar confusa. Por ejemplo, una base de datos podra contener dos tablas denominadas Order en dos esquemas diferentes, Sales y dbo. Los nombres completos de los objetos dentro de la base de datos son inequvocos: Sales.Order y dbo.Order, respectivamente. Sin embargo, el uso del nombre incompleto Order puede producir resultados inesperados. Puede asignar a los usuarios un esquema predeterminado para controlar cmo se resuelven los nombres de objetos incompletos.

CMO FUNCIONA LA RESOLUCIN DE NOMBRESSQL Server 2008 utiliza el proceso siguiente para resolver un nombre de objeto incompleto: Si el usuario tiene un esquema predeterminado, SQL Server intenta encontrar el objeto en ese esquema predeterminado. Si el objeto no se encuentra en el esquema predeterminado del usuario, si el usuario no tiene ningn esquema predeterminado, SQL Server intenta encontrar el objeto en el esquema dbo.

Pg. 40

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Por ejemplo, un usuario que tiene el esquema predeterminado Person ejecuta la siguiente instruccin Transact-SQL: SELECT * FROM Contact SQL Server 2008 intentar resolver primero el nombre de objeto como Person.Contact. Si el esquema Person no contiene un objeto denominado Contact, SQL Server intentar resolver el nombre de objeto como dbo.Contact. Si un usuario que no tiene ningn esquema predeterminado definido ejecuta la misma instruccin, SQL Server resolver inmediatamente el nombre de objeto como dbo.Contact. Asignacin de un esquema predeterminado Puede asignar un esquema predeterminado a un usuario utilizando el cuadro de dilogo Propiedades de Usuario de la base de datos o especificando el nombre del esquema en la clusula DEFAULT_SCHEMA de la instruccin CREATE USER o ALTER USER. Por ejemplo, el siguiente cdigo Transact-SQL asigna Sales como el esquema predeterminado para el usuario Angello: ALTER USER Angello WITH DEFAULT_SCHEMA = Sales

SQL Administracin

[email protected]

Pg. 41

Universidad Nacional de Ingeniera

C A PI TULO 3 Planificacin de una Estrategia de Backups Realizando el Backup de la BD Restaurando una BD Recuperacin de datos desde Snapshots

Pg. 42

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

P B

L A N I F I C A C I N A C K U P S

D E

U N A

E

S T R A T E G I A

D E

Con frecuencia, los datos en una base de datos confirman las operaciones de una organizacin. Sin la base de datos, la organizacin no puede funcionar adecuadamente. Es importante que cada misin crtica sistema de base de datos haya sido adecuadamente definida en procedimientos de recuperacin de desastres. Las operaciones de Copia de seguridad y Restauracin, son una parte vital de la gestin de datos y son esenciales para la recuperacin ante fallas y desastres. Por lo tanto, una parte importante del papel de un administrador de bases de datos, es garantizar que los datos sean respaldados y puedan ser restaurados rpidamente en caso de un desastre.

Tipos de Backup Full

Descripcin Todos los archivos de la Base de Datos, datos (MDF y NDF) y de transacciones (LDF).

Transaction Log

Cualquier cambio en la Base de Datos, es guardado en el archivo de transacciones.

Tail-Log Differential

La porcin activa del archivo de transacciones. Las partes de la Base de Datos que han cambiado desde el ltimo backup completo a la Base de Datos.

File / Filegroup Partial

Archivos especficos o grupos de archivos. El grupo de archivos primario, cada grupo de archivos de lectura/escritura, y cualquier grupo de archivos especificado como lectura/escritura.

Copy-only

La Base de Datos o el archivo de Transacciones (sin afectar la secuencia de backup).

Realizando el Backup de la BDUso de la Instruccin BACKUP DATABASERealiza una copia de seguridad completa de la base de datos o de uno o varios archivos o grupos de archivos (BACKUP DATABASE). Adems, con el modelo de recuperacin completa o el modelo de recuperacin optimizado para cargas masivas de registros, realiza la copia de seguridad del registro de transacciones (BACKUP LOG). Sintaxis--creando un backup BACKUP DATABASE { database_name | @database_name_var } TO [ ,...n ]

SQL Administracin

[email protected]

Pg. 43

Universidad Nacional de Ingeniera[ ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | [ ,...n ] } ] [;] --Backup para Files o Filegroups BACKUP DATABASE { database_name | @database_name_var } [ ,...n ] TO [ ,...n ] [ ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | [ ,...n ] } ] [;] --Creando un Backup Parcial BACKUP DATABASE { database_name | @database_name_var } READ_WRITE_FILEGROUPS [ , [ ,...n ] ] TO [ ,...n ] [ ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | [ ,...n ] } ] [;]

ArgumentosDATABASE Especifica una copia de seguridad completa de la base de datos. Si se especifica una lista de archivos y grupos de archivos, slo se realiza la copia de seguridad de esos archivos o grupos de archivos. Durante una copia de seguridad completa o diferencial de una base de datos, SQL Server realiza la copia de seguridad de una parte suficiente del registro de transacciones para producir una base de datos coherente cuando se restaure la base de datos. LOG Especifica que slo se realizar la copia de seguridad del registro de transacciones. Se realiza la copia de seguridad del registro desde la ltima copia de seguridad del registro ejecutada correctamente hasta el final actual del registro. Antes de que pueda crear la primera copia de seguridad del registro, debe crear una copia de seguridad completa. { database_name | @database_name_var } Es la base de datos para la que se realiza la copia de seguridad del registro de transacciones, de una parte de la base de datos o de la base de datos completa. Si se proporciona como una variable (@database_name_var), este nombre se puede especificar como una constante de cadena (@database_name_var = database name) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text. [ ,...n ] Se utiliza slo con BACKUP DATABASE, especifica un grupo de archivos o un archivo de copia de seguridad que se va a incluir en una copia de seguridad de archivos o especifica un grupo de archivos o un archivo de slo lectura que se va a incluir en una copia de seguridad parcial. FILE = { logical_file_name | @logical_file_name_var } Es el nombre lgico de un archivo o una variable cuyo valor equivale al nombre lgico de un archivo que se va a incluir en la copia de seguridad. FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Pg. 44

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Es el nombre lgico de un grupo de archivos o una variable cuyo valor equivale al nombre lgico de un grupo de archivos que se va a incluir en la copia de seguridad. En el modelo de recuperacin simple, se permite la copia de seguridad de un grupo de archivos slo si se trata de un grupo de archivos de slo lectura. n Es un marcador de posicin que indica que se pueden especificar varios archivos y grupos de archivos en una lista separada por comas. El nmero es ilimitado. READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ ,...n ] ] Especifica una copia de seguridad parcial. Una copia de seguridad parcial incluye todos los archivos de lectura/escritura en una base de datos: el grupo de archivos principal y los grupos de archivos secundarios de lectura/escritura, as como los grupos de archivos o archivos de slo lectura especificados. READ_WRITE_FILEGROUPS Especifica que en la copia de seguridad parcial se copiarn todos los grupos de archivos de lectura/escritura. Si la base de datos es de slo lectura, READ_WRITE_FILEGROUPS incluye tan slo el grupo de archivos principal. FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } Es el nombre lgico de un grupo de archivos de slo lectura o una variable cuyo valor equivale al nombre lgico de un grupo de archivos de slo lectura que se va a incluir en la copia de seguridad parcial. Para obtener ms informacin, vea "", anteriormente en este tema. n Es un marcador de posicin que indica que se pueden especificar varios grupos de archivos de slo lectura en una lista separada por comas. TO [ ,...n ] Indica que el conjunto de dispositivos de copia de seguridad correspondiente es un conjunto de medios no reflejado o el primero de los reflejos de un conjunto de medios reflejado (para los que se declaran una o ms clusulas MIRROR TO). Especifica el dispositivo de copia de seguridad fsico o lgico que se va a utilizar para la operacin de copia de seguridad. { logical_device_name | @logical_device_name_var } Es el nombre lgico del dispositivo de copia de seguridad en que se hace la copia de seguridad de la base de datos. El nombre lgico debe seguir las reglas definidas para los identificadores. Si se proporciona como una variable (@logical_device_name_var), el nombre del dispositivo de copia de seguridad se puede especificar como una constante de cadena (@logical_device_name_var = nombre del dispositivo de copia de seguridad lgico) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text. { DISK | TAPE } = { 'physical_device_name' | @physical_device_name_var } Especifica un archivo de disco o un dispositivo de cinta.

SQL Administracin

[email protected]

Pg. 45

Universidad Nacional de Ingeniera No es necesario que exista un dispositivo de disco antes de que se especifique en una instruccin BACKUP. Si el dispositivo fsico existe y no se especifica la opcin INIT en la instruccin BACKUP, la copia de seguridad se anexa al dispositivo. n Es un marcador de posicin que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas. MIRROR TO [ ,...n ] Especifica un conjunto de uno o varios dispositivos de copia de seguridad que reflejarn los dispositivos de copia de seguridad especificados en la clusula TO. La clusula MIRROR TO debe incluir el mismo nmero y tipo de dispositivos de copia de seguridad que la clusula TO. El nmero mximo de clusulas MIRROR TO es tres. Esta opcin slo est disponible en SQL Server 2008 Enterprise Edition y versiones posteriores. Vea "", en un apartado anterior de esta seccin. n Es un marcador de posicin que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas. El nmero de dispositivos de la clusula MIRROR TO debe ser igual al nmero de dispositivos de la clusula TO. [ next-mirror-to ] Es un marcador de posicin que indica que una sola instruccin BACKUP puede contener hasta tres clusulas MIRROR TO, adems de una sola clusula TO. Opciones de WITH Especifica las opciones que se van a utilizar con una operacin de copia de seguridad. DIFFERENTIAL Se utiliza slo con BACKUP DATABASE. Especifica que la copia de seguridad de la base de datos o el archivo slo debe estar compuesta por las partes de la base de datos o el archivo que hayan cambiado desde la ltima copia de seguridad completa. Una copia de seguridad diferencial suele ocupar menos espacio que una copia de seguridad completa. Utilice esta opcin para que no tenga que aplicar todas las copias de seguridad de registros individuales efectuadas desde que se realiz la ltima copia de seguridad completa. DESCRIPTION = { 'text' | @text_variable } Especifica el texto de forma libre que describe el conjunto de copia de seguridad. La cadena puede tener un mximo de 255 caracteres. NAME = { backup_set_name | @backup_set_var } Especifica el nombre del conjunto de copia de seguridad. Los nombres pueden tener un mximo de 128 caracteres. Si no se especifica NAME, est en blanco. PASSWORD = { password | @password_variable } Establece la contrasea del conjunto de copia de seguridad. PASSWORD es una cadena de caracteres.

Pg. 46

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Si se define una contrasea para el conjunto de copia de seguridad, debe suministrarla para realizar operaciones de restauracin de SQL Server de ese conjunto de copia de seguridad. No obstante, la contrasea del conjunto de copia de seguridad no impide que se sobrescriba el archivo de copia de seguridad. Para evitar que se sobrescriba el archivo de copia de seguridad, utilice una contrasea para el conjunto de medios (vea la opcin MEDIAPASSWORD ms adelante en esta tabla). (Para obtener ms informacin sobre cmo utilizar las contraseas, vea "Permisos", ms adelante en este tema.)

Utilizando el Management del SQL ServerPrimero nos ubicamos en el explorador de objetos, y luego hacemos clic derecho sobre la base de datos, seguidamente, haremos clic sobre la opcin de propiedades de la base de datos.

Luego, en la opcin Recovery Model, seleccionaremos la alternativa Full, con la cual, podremos realizar todos los tipos de Backup de nuestra Base de Datos.

SQL Administracin

[email protected]

Pg. 47

Universidad Nacional de Ingeniera Una vez cambiadas las propiedades de nuestra base de datos, haremos clic derecho sobre la base de datos de la que queremos una copia de seguridad, en la opcin Tasks, seleccionamos Back Up.. (ver figura).

Luego aparecer la siguiente pantalla, en la cual seleccionaremos el tipo de Backup a realizar.

Pg. 48

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas Una vez que hayamos realizado las configuraciones del caso, procederemos a hacer clic sobre el botn OK, luego de algunos instantes, aparecer la siguiente pantalla.

Restaurando una BDPara realizar la restauracin de una Base de Datos, podemos hacer uso de la instruccin RESTORE, o de los contrario, utilizar el management Sql Server. RESTORE (Transact-SQL) Restaura copias de seguridad realizadas con el comando BACKUP. Este comando le permite realizar los siguientes escenarios de restauracin: Restaurar una base de datos completa a partir de una copia de seguridad completa de la base de datos (restauracin completa). Restaurar parte de una base de datos (restauracin parcial). Restaurar archivos o grupos de archivos en una base de datos (restauracin de archivos). Restaurar pginas especficas en una base de datos (restauracin de pginas). Restaurar un registro de transacciones en una base de datos (restauracin del registro de transacciones). Revertir una base de datos al punto temporal capturado por una instantnea de la base de datos.

--To Restore an Entire Database from a Full database backup (a Complete Restore): RESTORE DATABASE { database_name | @database_name_var } [ FROM [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] | , [ ,...n ] | , | , | , | , } [ ,...n ] ] [;]

--To perform the first step of the initial restore sequence -- of a piecemeal restore: RESTORE DATABASE { database_name | @database_name_var } [ ,...n ] [ FROM [ ,...n ] ] WITH

SQL Administracin

[email protected]

Pg. 49

Universidad Nacional de IngenieraPARTIAL, NORECOVERY [ , [ ,...n ] | , ] [ ,...n ] [;] --To Restore Specific Files or Filegroups: RESTORE DATABASE { database_name | @database_name_var } [ ,...n ] [ FROM [ ,...n ] ] WITH { [ RECOVERY | NORECOVERY ] [ , [ ,...n ] ] } [ ,...n ] [;] --To Restore Specific Pages: RESTORE DATABASE { database_name | @database_name_var } PAGE = 'file:page [ ,...n ]' [ , ] [ ,...n ] [ FROM [ ,...n ] ] WITH NORECOVERY [ , [ ,...n ] ] [;] --To Restore a Transaction Log: RESTORE LOG { database_name | @database_name_var } [ [ ,...n ] ] [ FROM [ ,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name | @standby_file_name_var } ] | , [ ,...n ] | , | , } [ ,...n ] ] [;] RESTORE DATABASE { database_name | @database_name_var } FROM DATABASE_SNAPSHOT = database_snapshot_name

PermisosSi la base de datos que se va a restaurar no existe, el usuario debe tener permisos CREATE DATABASE para poder ejecutar RESTORE. Si la base de datos existe, los permisos RESTORE corresponden de forma predeterminada a los miembros de las funciones fijas de servidor sysadmin y dbcreator, y al propietario (dbo) de la base de datos (para la opcin FROM DATABASE_SNAPSHOT, la base de datos siempre existe). Los permisos RESTORE se conceden a funciones en las que la informacin acerca de los miembros est siempre disponible para el servidor. Debido a que los miembros de una funcin fija de base de datos slo se pueden comprobar cuando la base de datos es accesible y no est daada, lo que no siempre ocurre cuando se ejecuta RESTORE, los miembros de la funcin fija de base de datos db_owner no tienen permisos RESTORE.

Pg. 50

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas La operacin de copia de seguridad puede especificar opcionalmente contraseas de un conjunto de medios, de un conjunto de copia de seguridad o de ambos. Si se ha definido una contrasea en un conjunto de medios o un conjunto de copia de seguridad, debe especificar la contrasea o contraseas correctas en la instruccin RESTORE. Estas contraseas impiden operaciones de restauracin y anexiones no autorizadas de los conjuntos de copia de seguridad en medios que utilizan herramientas de SQL Server. No obstante, los medios protegidos con contrasea se pueden sobrescribir mediante la opcin FORMAT de la instruccin BACKUP.

Ejemplos sobre el uso del RESTORE A. Restaurar una base de datos completa En el siguiente ejemplo se restaura una copia de seguridad completa de la base de datos desde un dispositivo lgico de copia de seguridad de AdventureWorksBackupsRESTORE DATABASE AdventureWorks FROM AdventureWorksBackups

B. Restaurar copias de seguridad de bases de datos completas y diferenciales En el siguiente ejemplo se restaura una copia de seguridad completa despus de una copia de seguridad diferencial del dispositivo de copia de seguridad Z:\SQLServerBackups\AdventureWorks.bak, que contiene las dos copias de seguridad. La copia de seguridad de bases de datos completa que se va a restaurar es el sexto conjunto de copias de seguridad del dispositivo (FILE = 6), y la copia de seguridad de base de datos diferencial es el noveno conjunto del dispositivo (FILE = 9). En cuanto se recupere la copia de seguridad diferencial, se recuperar la base de datos.RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' WITH FILE = 6 NORECOVERY; RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' WITH FILE = 9 RECOVERY;

C. Restaurar una base de datos con la sintaxis de RESTART En el ejemplo siguiente se usa la opcin RESTART para reiniciar una operacin RESTORE interrumpida por un error de alimentacin del servidor.-- This database RESTORE halted prematurely due to power failure. RESTORE DATABASE AdventureWorks FROM AdventureWorksBackups -- Here is the RESTORE RESTART operation. RESTORE DATABASE AdventureWorks FROM AdventureWorksBackups WITH RESTART

D. Restaurar una base de datos y mover archivos En el ejemplo siguiente se restaura una base de datos completa y el registro de transacciones, y se mueve la base de datos restaurada al directorio C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data.RESTORE DATABASE AdventureWorks FROM AdventureWorksBackups WITH NORECOVERY, MOVE 'AdventureWorks_Data' TO

SQL Administracin

[email protected]

Pg. 51

Universidad Nacional de Ingeniera'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.mdf', MOVE 'AdventureWorks_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\NewAdvWorks.ldf' RESTORE LOG AdventureWorks FROM AdventureWorksBackups WITH RECOVERY

E. Copiar una base de datos con BACKUP y RESTORE En el ejemplo siguiente se usan las instrucciones BACKUP y RESTORE para realizar una copia de la base de datos AdventureWorks. La instruccin MOVE hace que se restauren los datos y el archivo de registro en las ubicaciones especificadas. La instruccin RESTORE FILELISTONLY se usa para determinar el nmero y los nombres de los archivos de la base de datos que se estn restaurando. La nueva copia de la base de datos se llama TestDB. Para obtener ms informacin, vea RESTORE FILELISTONLY (Transact-SQL).BACKUP DATABASE AdventureWorks TO AdventureWorksBackups ; RESTORE FILELISTONLY FROM AdventureWorksBackups ; RESTORE DATABASE TestDB FROM AdventureWorksBackups WITH MOVE 'AdventureWorks_Data' TO 'C:\MySQLServer\testdb.mdf', MOVE 'AdventureWorks_Log' TO 'C:\MySQLServer\testdb.ldf'; GO

F. Restaurar con la sintaxis de FILE y FILEGROUP En el siguiente ejemplo se restaura una base de datos llamada MyDatabase que tiene dos archivos, un grupo de archivos secundario y un registro de transacciones. La base de datos usa el modelo de recuperacin completa. La copia de seguridad de la base de datos es el noveno conjunto de copia de seguridad del conjunto de medios en un dispositivo lgico de copia de seguridad llamado MyDatabaseBackups. A continuacin se restauran mediante WITH NORECOVERY tres copias de seguridad de registros que estn en los tres conjuntos de copia de seguridad siguientes (10, 11 y 12) en el dispositivo MyDatabaseBackups. Tras restaurar la ltima copia de seguridad de registros se restaura la base de datos. Tenga en cuenta que en RESTORE DATABASE hay dos tipos de opciones FILE. Las opciones FILE que preceden al nombre del dispositivo de copia de seguridad especifican los nombres de archivos lgicos de los archivos de base de datos que se van a restaurar desde el conjunto de copia de seguridad; por ejemplo, FILE = 'MyDatabase_data_1'. Este conjunto de copia de seguridad no es la primera copia de seguridad de la base de datos en el conjunto de medios; por ello, su posicin en el conjunto de medios se indica mediante la opcin FILE de la clusula WITH, FILE=9.RESTORE DATABASE MyDatabase FILE = 'MyDatabase_data_1', FILE = 'MyDatabase_data_2', FILEGROUP = 'new_customers' FROM MyDatabaseBackups WITH FILE = 9, NORECOVERY; GO -- Restore the log backups. RESTORE LOG MyDatabase FROM MyDatabaseBackups

Pg. 52

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de SistemasWITH FILE = 10, NORECOVERY; GO RESTORE LOG MyDatabase FROM MyDatabaseBackups WITH FILE = 11, NORECOVERY; GO RESTORE LOG MyDatabase FROM MyDatabaseBackups WITH FILE = 12, NORECOVERY; GO --Recover the database: RESTORE DATABASE MyDatabase WITH RECOVERY; GO

Recuperando la BD desde el management

Especificamos el origen del archivo de Backup, seleccionamos From Device

SQL Administracin

[email protected]

Pg. 53

Universidad Nacional de Ingeniera

Hacemos clic sobre el botn Add para especificar la ubicacin del archivo de Backup.

Seleccionamos el archivo.

Pg. 54

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

Confirmamos la ubicacin del archivo a recuperar.

Indicamos el nombre de la Base de Datos a recuperar.

SQL Administracin

[email protected]

Pg. 55

Universidad Nacional de Ingeniera

Verificamos la ubicacin de los archivos de mdf, ndf y ldf.

Una vez completado, aparecer el siguiente mensaje.

Pg. 56

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

C API TULO 4 Administracin de la Seguridad Modos de autenticidad Creacin de Usuarios Uso de Credenciales y Permisos

SQL Administracin

[email protected]

Pg. 57

Universidad Nacional de Ingeniera

A

D M I N I S T R A C I N

D E

L A

S

E G U R I D A D

La seguridad es una consideracin primordial cuando se disea y administra un entorno de base de datos, aqu, daremos a conocer los componentes fundamentales de seguridad de SQL Server: entidades de seguridad, protegibles y el modo en que se aplican los permisos dentro del modelo de seguridad de SQL Server.

Qu son las entidades de seguridad?SQL Server 2008 emplea el trmino entidad de seguridad para referirse a las identidades autenticadas en un sistema de SQL Server. La comprensin de las diferentes entidades de seguridad que pueden existir en un sistema de SQL Server le ayudar a planear su modelo de seguridad.

Una entidad de seguridad es cualquier identidad autenticada a la que se puede conceder permiso para tener acceso a un objeto del sistema de base de datos. SQL Server distingue entre entidades principales indivisibles, que son identidades nicas (como, por ejemplo, inicios de sesin), y entidades de seguridad de coleccin, que son colecciones de identidades (tales como funciones fijas de servidor). Las entidades de seguridad existen en tres niveles: Microsoft Windows, SQL Server y base de datos. Los tipos de entidad de seguridad posibles en cada uno de estos niveles

Pg. 58

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemasse muestran en la tabla siguiente. Nivel Windows Entidades de seguridad Cuenta de usuario local de Windows Cuenta de usuario de dominio de Windows Grupo de Windows Inicio de sesin de SQL Server Funcin de SQL Server Usuario de la base de datos Funcin de la base de datos Funcin de aplicacin Grupo de bases de datos (slo compatibilidad con versiones anteriores)

SQL Server Base de datos

para

Nota Los grupos de bases de datos se admiten principalmente por motivos de compatibilidad con versiones anteriores. Debera usar las funciones de base de datos para crear entidades de seguridad de coleccin en el nivel de base de datos.

Qu son los protegibles?Los objetos cuyo acceso est regulado por el sistema de autorizacin de SQL Server 2008 se denominan protegibles. Como ocurre con las entidades de seguridad, es necesario comprender los diferentes mbitos de los protegibles en SQL Server para planear su modelo de seguridad.

Los protegibles se organizan en jerarquas anidadas llamadas mbitos, que tambin se pueden proteger. Los tres mbitos protegibles son servidor, base de datos y esquema. Los protegibles en el nivel de Windows incluyen archivos y claves del Registro. El mbito de servidor Los protegibles que contiene el mbito de servidor incluyen: Inicios de sesin Extremos Bases de datos

SQL Administracin

[email protected]

Pg. 59

Universidad Nacional de IngenieraEl mbito de base de datos Los protegibles que contiene el mbito de base de datos incluyen: Usuarios Funciones Funciones de aplicacin Certificados Claves simtricas Claves asimtricas Ensamblados Catlogos de texto completo Eventos DDL Esquemas Los protegibles que contiene el esquema incluyen: Tablas Vistas Funciones Procedimientos Tipos Sinnimos Agregados

El mbito de esquema

Nota Tenga en cuenta que una entidad de seguridad tambin puede ser un protegible. Por ejemplo, un inicio de sesin es una entidad de seguridad, pero tambin se pueden otorgar permisos en ese inicio de sesin a otros inicios de sesin, lo que lo convierte en un protegible.

Permisos de SQL Server 2008SQL Server 2008 usa permisos para controlar el acceso a los protegibles por parte de entidades de seguridad. Para planear su modelo de seguridad para la base de datos, es importante entender cmo se implementan los permisos en los mbitos de los protegibles.

Pg. 60

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de SistemasLos permisos son las reglas que gobiernan el nivel de acceso de las entidades de seguridad a los protegibles. Se pueden otorgar, revocar o denegar permisos en un sistema de SQL Server. Todos los protegibles de SQL Server tienen permisos asociados que pueden otorgarse a cada entidad de seguridad.

Ejemplo de permisoLa nica manera de que una entidad de seguridad pueda tener acceso a un recurso en un sistema de SQL Server es recibir permiso para ello, directa o indirectamente a travs de la suscripcin de una entidad secundaria como una funcin o un grupo. Puede administrar los permisos usando el Explorador de objetos en SQL Server Management Studio o mediante la ejecucin de instrucciones GRANT, REVOKE o DENY. Los permisos concretos asociados a cada uno de los protegibles varan segn los tipos de acciones que son compatibles con un protegible.

Permisos heredadosDeterminados permisos en SQL Server 2008 se pueden heredar a travs de un permiso concedido en un nivel ms alto de la jerarqua de mbito del protegible. Por ejemplo: Una entidad de seguridad a la que se le ha concedido el permiso SELECT en un esquema hereda automticamente el permiso SELECT en todos los objetos del esquema. Una entidad de seguridad a la que se la ha concedido el permiso CONTROL en un objeto de base de datos hereda automticamente el permiso CONTROL en todos los protegibles que contiene esa base de datos y todos los protegibles que contienen los esquemas incluidos en esa base de datos. Permisos efectivos Los permisos efectivos para una entidad de seguridad se evalan de la misma manera que en versiones anteriores de SQL Server. Una entidad de seguridad puede realizar una accin determinada si: El permiso se ha concedido explcitamente a la entidad de seguridad o a una coleccin de la que es miembro la entidad de seguridad, y El permiso no se ha denegado explcitamente a la entidad de seguridad o a una coleccin de la que es miembro la entidad de seguridad. Nota Una instruccin DENY explcita siempre reemplaza a una instruccin GRANT. Por ejemplo, si a un usuario se le ha concedido explcitamente el permiso SELECT en una tabla determinada pero es miembro de una funcin a la que se le ha denegado explcitamente el permiso SELECT en la tabla, el usuario no podr ejecutar una instruccin SELECT en la tabla.

Qu son los modos de autenticacin de SQL Server?SQL Server 2008 puede configurarse para usar uno de los dos modos de autenticacin siguientes:

SQL Administracin

[email protected]

Pg. 61

Universidad Nacional de IngenieraModo de autenticacin de Windows. Los usuarios se autentican con Windows y se les concede el acceso a SQL Server mediante un inicio de sesin asignado a su cuenta de Windows (o a un grupo de Windows del que son miembros). Cuando se realiza la solicitud de conexin inicial, el smbolo de acceso del usuario, que se emiti cuando se inici sesin en Windows, se presenta a SQL Server y, si se encuentra un inicio de sesin coincidente, se concede al usuario el acceso a SQL Server.

Modo de autenticacin de Windows y SQL Server. Los usuarios que se conectan a SQL Server mediante una conexin de confianza (una conexin de red a travs de la cual se puede pasar el smbolo de acceso de Windows del usuario) tienen acceso a SQL Server mediante la autenticacin de Windows. Adems, SQL Server mantiene inicios de sesin no asignados a usuarios de Windows y los usuarios pueden conectarse a SQL Server tras indicar un nombre de inicio de sesin vlido y la contrasea que SQL Server valida de forma independiente a Windows. El modo de autenticacin de Windows y SQL Server se conoce a veces como modo mixto.

Nota Los inicios de sesin en SQL Server asignados a los usuarios de Windows se conocen como inicios de sesin de Windows. Los inicios de sesin autenticados en SQL Server se conocen como inicios de sesin de SQL. Las necesidades de seguridad de sus entornos de servidor y de red determinarn el modo de autenticacin que se usar para SQL Server. Puede usar SQL Server Management Studio para establecer el modo de autenticacin de su servidor.

CUANDO USAR EL MODO DE AUTENTICACIN WINDOWSUse el modo de autenticacin de Windows en entornos de red en los que todos los usuarios estn autenticados mediante cuentas de usuario de Windows. La autenticacin de Windows proporciona varias ventajas sobre la autenticacin de SQL Server, como por ejemplo: Le permite agregar grupos de usuarios a SQL Server mediante la agregacin de una cuenta de inicio de sesin nica. Permite a los usuarios un rpido acceso a SQL Server sin tener que recordar otra cuenta de inicio de sesin y contrasea.

Pg. 62

[email protected]

SQL Administracin

Facultad de Ingeniera Industrial y de Sistemas

CUANDO USAR EL MODO DE AUTENTICACIN SQLUse el modo de autenticacin de Windows y SQL Server cuando deba permitir que se conecten a SQL Server usuarios o aplicaciones que no tienen las credenciales de Windows. A menos que necesite especficamente conexiones a SQL Server que no sean de Windows, no debera habilitar el modo de autenticacin de Windows y SQL Server por las razones siguientes: La autenticacin de Windows no exige que los nombres de usuario y las contraseas pasen por la red al conectarse a SQL Server. En su lugar, se usa el smbolo de acceso de usuario de Windows, lo que hace ms segura la autenticacin de Windows. La autenticacin de Windows requiere menos sobrecarga administrativa, ya que el acceso a SQL Server puede lograrse mediante un inicio de sesin que se asigna a un grupo de Windows, y la administracin de cada uno de los usuarios se confina al dominio de Windows. El modo de autenticacin de Windows y SQL Server aumenta la superficie del sistema de SQL Server, lo que lo hace ms vulnerable ante cualquier ataque. Importante Independientemente del modo de seguridad empleado, asegrese de que la contrasea para el inicio de sesin del administrador del sistema (sa) no est en blanco.

Cmo funcionan las directivas de contraseasEn Microsoft Windows Server 2003 y 2008, puede usar la Directiva de grupo para definir las configuraciones de usuarios y equipos para grupos de usuarios y equipos. Puede usar la Directiva de grupo para configurar muchas opciones, incluidas las directivas de cuentas. Las directivas de contraseas son tiles para garantizar que todas las contraseas sean lo suficientemente complejas y que se cambien peridicamente para maximizar la seguridad y evitar el acceso no autorizado. En SQL Server 2008, las directivas de cuentas locales o de dominio se pueden aplicar a inicios de sesin de SQL, as como a los inicios de sesin de Windows, cuando SQL Server se instala en equipos que usan Windows Server 2003 / 2008 o posterior.

SQL Administracin

[email protected]

Pg. 63

Universidad Nacional de Ingeniera

Directivas de complejidad de contraseas Las directivas de complejidad de contraseas estn diseadas para disuadir los ataques de fuerza bruta por medio del aumento del nmero de contraseas posibles. Cuando se aplica la directiva de complejidad de contraseas, las nuevas contraseas deben cumplir los requisitos de directiva establecidos por la directiva de contraseas de Windows. Un ejemplo de este tipo de directiva