Separata uni sql2008 administracion

1,994 views

Published on

Published in: Education
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,994
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
177
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Separata uni sql2008 administracion

  1. 1. Facultad de Ingeniería Industrial y de Sistemas C API TULO 1  Instalación y configuración del SQL Server 2008  Ediciones del SQL Server 2008  Requerimientos de Hardware y Software SQL Administración danielramoscastaneda@hotmail.com Pág. 1
  2. 2. Universidad Nacional de IngenieríaI N S TA L A C I O N Y C O N F I G U R A C I O N D E LS Q L S E R V E R 2 0 0 8 Una de las primeras responsabilidades que asume un DBA (Data Base Administrador), es la elección del software más adecuado a las necesidades que presente la empresa. Es por esta razón que, Microsoft corp., pone a nuestra disposición, 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 administración de datos empresariales con herramientas integradas de inteligencia empresarial (BI). El motor de la base de datos SQL Server 2008 ofrece almacenamiento más 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 núcleo de esta solución de administración de datos empresariales. Asimismo, SQL Server 2008 combina lo mejor en análisis, información, integración y notificación. Esto permite que su negocio cree y despliegue soluciones de BI rentables que ayuden a su equipo a incorporar datos en cada rincón del negocio a través de tableros de comando, escritorios digitales, servicios Web y dispositivos móviles. La integración 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 desempeñe como encargado de desarrollo, administrador de base de datos, trabajador de la industria de la información o dirija una empresa, SQL Server 2008 ofrece soluciones innovadoras que le ayudan a obtener más valor de sus datos. HERRAMIENTAS QUE INCLUYE EL SQL SERVER 2008 Base de datos relacional. Un motor de base de datos relacional más segura, confiable, escalable y altamente disponible con mejor rendimiento y compatible para datos estructurados y sin estructura (XML). Servicios de réplica. Réplica de datos para aplicaciones de procesamiento de datos distribuidos o móviles, alta disponibilidad de los sistemas, concurrencia escalable con almacenes de datos secundarios para soluciones de información empresarial e integración con sistemas heterogéneos, incluidas las bases de datos Oracle existentes. Notification Services. Capacidades avanzadas de notificación para el desarrollo y el despliegue de aplicaciones escalables que pueden entregar actualizaciones de información personalizadas y oportunas a una diversidad de dispositivos conectados y móviles. Integration Services. Capacidades de extracción, transformación y carga (ELT) de datos para almacenamiento e integración de datos en toda la empresa.Pág. 2 danielramoscastaneda@hotmail.com SQL Administración
  3. 3. Facultad de Ingeniería Industrial y de Sistemas Analysis Services. Capacidades de procesamiento analítico en línea (OLAP) para el análisis rápido y sofisticado de conjuntos de datos grandes y complejos, utilizando almacenamiento multidimensional. Reporting Services. Una solución global para crear, administrar y proporcionar tanto informes tradicionales orientados al papel como informes interactivos basados en la Web. Herramientas de administración. SQL Server incluye herramientas integradas de administración para administración y optimización avanzadas de bases de datos, así como también integración directa con herramientas tales como Microsoft Operations Manager (MOM) y Microsoft Systems Management Server (SMS). Los protocolos de acceso de datos estándar reducen drásticamente 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, extracción, transformación y carga de datos, minería de datos, OLAP e informes que están directamente integrados con Microsoft Visual Studio para ofrecer capacidades de desarrollo de aplicación 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 aplicación (API) para ampliar el sistema de datos en cualquier dirección que sea específica de su negocio. NOVEDADES EN SQL SERVER 2008 SQL Server permite ejecutar aplicaciones de misión crítica, reduciendo costos de administración de infraestructura de datos y brindando introspectiva e información a todos los usuarios.  Confiable: Permite a las organizaciones ejecutar sus aplicaciones más críticas 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 información donde sus usuarios lo desean Nuevas funcionalidades de SQL Server 2008: Protección de la Información  ¿Cómo podría saber si ha copiado la base de datos del servidor de producción de un cliente y lo han instalado en otra base de datos o si están accediendo a la información? Con SQL 2008, puede proteger la información con una clave de protección (Encriptación).  ¿Cómo podría saber que datos están siendo leídos y modificados, a qué hora y por quien? SQL 2008 da la opción de Auditora de Datos. Continuidad del Negocio  Si sus clientes necesitan estar siempre en línea con sus sistemas sin caídas, SQL 2008 ofrece mejoras en una técnica llamada “Mirroring”, el cual es una copia o espejo de la base de datos.  Si el disco se daña, donde reside los datos, SQL 2008 recupera la información de una copia reciente de los datos dañados al otro equipo espejo de manera transparente. SQL Administración danielramoscastaneda@hotmail.com Pág. 3
  4. 4. Universidad Nacional de Ingeniería Ahorro en espacio en disco, mediante la técnica de comprensión, ahorrando costos en compra de discos si es que el volumen de la información de Base de Datos empieza a crecer en forma rápida. Datos Geoespaciales  Poder manejar información geográfica, la que hoy en día es de alta importancia en las organizaciones, con todo el tema de globalización Acceder a la Información desde cualquier lugar en cualquier momento  Con SQL 2008 podre crear rápidamente aplicaciones conectadas a la base de datos con la funcionalidad de funcionar en forma desconectada y después sincronizarlos con la base de datos central sin perder la línea de negocio y manteniendo los datos validados Reportes  Poder acceder a reportes directamente desde Word, mejoras en los tipos de gráficos en los reportes, haciéndolos más entendibles y poder editar los reportes de Microsoft Office, sin saber donde fue diseñado el reporte. LAS EDICIONES DEL SQL SERVER 2008 Cada 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 SERVIDOR Término Definición Enterprise 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 más información, vea http://msdn.microsoft.com/es- es/library/cc645993(v=SQL.100).aspx . Standard SQL Server Standard es una completa plataforma de datos que proporciona facilidad (x86 y x64) de uso y capacidad de administración. Esto incluye capacidades integradas de inteligencia empresarial para ejecutar aplicaciones de departamentos. Para obtener más información, vea http://msdn.microsoft.com/es- es/library/cc645993(v=SQL.100).aspx . SQL Server Standard for Small Business contiene todos los componentes técnicos y capacidades técnicas de SQL Server Standard y su uso está autorizado en un entorno de pequeña empresa con 75 equipos o menos. EDICIONES ESPECIALIZADAS Término Definición SQL Server 2008 SQL Server 2008 Developer permite a los desarrolladores crear cualquier tipo de Developer (x86, aplicación 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 producción. SQL Server 2008 Developer es una opción ideal para las personas que crean y prueban aplicaciones. Puede actualizar SQL Server 2008 Developer para utilizarlo en producción. Workgroup (x86 y SQL Server Workgroup es ideal para ejecutar bases de datos ubicadas en x64) sucursales y proporciona una administración de datos confiable y unaPág. 4 danielramoscastaneda@hotmail.com SQL Administración
  5. 5. Facultad de Ingeniería Industrial y de Sistemas Término Definición plataforma de informes que incluye capacidades de sincronización y de administración seguras y remotas. Web (x86, x64) SQL Server 2008 Web es una opción con un costo total de propiedad bajo para los hosts de web y los sitios web que proporciona capacidades de administración y escalabilidad para propiedades web, tanto de pequeña como de gran escala. SQL Server Express La plataforma de bases de datos de SQL Server Express se basa en SQL Server (x86 y x64) 2008. Es también la sustitución de Microsoft Desktop Engine (MSDE). Gracias a SQL Server Express su integración con Visual Studio, SQL Server Express facilita el desarrollo de with Tools (x86 y aplicaciones controladas por datos que tienen una gran capacidad, ofrecen un x64) almacenamiento seguro y se implementan con rapidez. SQL Server Express SQL Server Express es gratuito y los ISV pueden redistribuirlo (según su con Advanced contrato). SQL Server Express es ideal para conocer y crear pequeñas Services (x86 y aplicaciones de servidor y de escritorio. Esta edición es la mejor opción para los x64) fabricantes de software independientes, los desarrolladores no profesionales y los aficionados que crean aplicaciones cliente. Si necesita características de base de datos más avanzadas, SQL Server Express se puede actualizar sin problemas a versiones más sofisticadas de SQL Server. 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 móviles, escritorios y clientes web en todas las plataformas de Windows. COMPONENTES QUE VIENEN A ESCOGER EN EL SQL SERVER Componentes de Descripción servidor 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; también incluye replicación, búsqueda 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 analítico en línea (OLAP) y de minería de datos. Reporting Services Reporting Services incluye componentes de servidor y de cliente para crear, administrar e implementar informes tabulares, matriciales, gráficos y de forma libre. Reporting Services también es una plataforma extensible que puede utilizarse para desarrollar aplicaciones de informes. Integration Services Integration Services es un conjunto de herramientas gráficas y objetos programables para mover, copiar y transformar datos. Herramientas de Descripción administración SQL Server Management SQL Server Management Studio es un entorno integrado para tener Studio acceso, configurar, administrar y desarrollar componentes de SQL Server. SQL Administración danielramoscastaneda@hotmail.com Pág. 5
  6. 6. Universidad Nacional de Ingeniería Herramientas de Descripción administración Management Studio permite a los desarrolladores de software y administradores con diferentes grados de experiencia usar SQL Server. Para la instalación de Management Studio, se requiere Internet Explorer 6 Service Pack 1 o una versión posterior. Administrador de El Administrador de configuración de SQL Server proporciona configuración de SQL administración de configuración básica para los servicios, protocolos de Server servidor, protocolos de cliente y alias de cliente de SQL Server. SQL Server Profiler SQL Server Profiler proporciona una interfaz gráfica de usuario para supervisar una instancia del Database Engine (Motor de base de datos) o de Analysis Services. Asistente para la El Asistente para la optimización de Database Engine (Motor de base de optimización 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 instalación de BI Development Studio, se requiere Internet Explorer 6 Service Pack 1 o una versión posterior. Componentes de Instala componentes para la comunicación entre clientes y servidores, y conectividad bibliotecas de red para DB-Library, ODBC y OLE DB. NÚMERO MÁXIMO DE PROCESADORES COMPATIBLES CON LAS EDICIONES DE SQL SERVER SQL Server admite el número especificado de sockets de procesador multiplicado por el número de CPU lógicas en cada socket. Por ejemplo, lo siguiente se considera un solo procesador para los fines de esta tabla:  Un procesador de un solo núcleo e hipersubprocesamiento con dos CPU lógicas por socket.  Un procesador de doble núcleo con dos CPU lógicas.  Un procesador de núcleo cuádruple con cuatro CPU lógicas.  SQL Server se utiliza bajo licencia para cada socket del procesador y no para cada CPU lógica. Edición de SQL Server 2008 Número de procesadores admitidos Enterprise Sistema operativo máximo Developer Sistema operativo máximo Standard 4 Web 4 Workgroup 2Pág. 6 danielramoscastaneda@hotmail.com SQL Administración
  7. 7. Facultad de Ingeniería Industrial y de Sistemas Edición de SQL Server 2008 Número de procesadores admitidos Express 1 Express with Tools 1 Express con Advanced Services 1 REQUISITOS DEL SISTEMA SQL SERVER 2008 Componente Requisito Marco de El programa de instalación de SQL Server instala los siguientes componentes de trabajo2 software requeridos por el producto: .NET Framework 3.5 SP11 SQL Server Native Client Archivos auxiliares para la instalación de SQL Server Software2 El programa de instalación de SQL Server requiere Microsoft Windows Installer 4.5 o una versión posterior Una vez instalados los componentes requeridos, el programa de instalación de SQL Server comprobará que el equipo en el que se ha instalado SQL Server 2008 también cumple los demás requisitos para su correcta instalación. Para obtener más información, vea Comprobar los parámetros del Comprobador de configuración del sistema. Software de Los requisitos de software de red para las versiones de 64 bits de SQL Server 2008 red 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 clústeres de conmutación por error. Virtualización SQL Server 2008 es compatible con entornos de máquina virtual que se ejecutan en la función Hyper-V de las ediciones Standard, Enterprise y Datacenter de Windows Server 2008 R2 y Windows Server 2008. La máquina virtual debe ejecutarse en un sistema operativo compatible con la edición de SQL Server 2008 concreta que se cita más adelante en este tema. Además de los recursos requeridos por la partición primaria, a cada máquina virtual (partición secundaria) se debe proporcionar suficientes recursos de procesador, memoria y recursos de disco para su instancia de SQL Server 2008. Los requisitos se enumeran más adelante en este tema.3 Dentro de la función Hyper-V de Windows Server 2008, se puede asignar un máximo de cuatro procesadores virtuales a máquinas virtuales que ejecuten las ediciones de 32 o 64 bits de Windows Server 2008. Se pueden asignar como máximo 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 máximo un procesador virtual a equipos SQL Administración danielramoscastaneda@hotmail.com Pág. 7
  8. 8. Universidad Nacional de Ingeniería Componente Requisito virtuales. Notas: Se recomienda cerrar SQL Server 2008 antes de apagar la máquina virtual. Para obtener más información sobre la función Hyper-V de Windows Server 2008, vea el sitio web de Windows Server 2008. La agrupación en clústeres de conmutación por error del invitado se admite en SQL Server 2008. Para obtener más información sobre las versiones admitidas de SQL Server y los sistemas operativos para la agrupación en clústeres de conmutación por error del invitado, y la compatibilidad con la virtualización, 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 de Para todas las instalaciones de SQL Server 2008 se requiere Microsoft Internet Internet Explorer 6 SP 1 o una versión posterior. Se requiere Internet Explorer 6 Service Pack 1 o una versión posterior para Microsoft Management Console (MMC), SQL Server Management Studio, Business Intelligence Development Studio, el componente Diseñador de informes de Reporting Services y la Ayuda HTML. Disco duro Las necesidades de espacio en disco variarán con los componentes de SQL Server 2008 que instale. Para obtener más información, vea Requisitos de espacio en disco duro, más adelante en este tema. Unidad Para la instalación desde disco se necesita una unidad de CD o DVD. Pantalla Las herramientas gráficas de SQL Server 2008 requieren VGA o una resolución mayor: resolución mínima de 1.024 x 768 píxeles. Otros Dispositivo señalador: se necesita un mouse Microsoft o dispositivo señalador dispositivos compatible. Nota: Las versiones de 64 bits de SQL Server 2008 incluyen soporte para sistemas extendidos, también conocidos como Windows on Windows (WOW64). WOW64 es una característica 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. Componente Requisito Procesador Tipo de procesador: Mínimo: AMD Opteron, AMD Athlon 64, Intel Xeon compatible con Intel EM64T, Intel Pentium IV compatible con EM64T Velocidad de procesador: Mínimo: 1,4 GHz Recomendado: 2,0 GHz o más Sistema Windows Server 2003 SP2 de 64 bits x64 Standard1 operativo 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 DatacenterPág. 8 danielramoscastaneda@hotmail.com SQL Administración
  9. 9. Facultad de Ingeniería Industrial y de Sistemas Componente Requisito Windows 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: Mínimo: 512 MB Recomendado: 2,048 GB o más Máximo: máximo del sistema operativo CONSIDERACIONES SOBRE LA SEGURIDAD Para 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 instalación 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 podría dar a conocer características especiales sobre la conexión, para ello, hay que hacer clic sobre el botón Options, luego, aparecerá la siguiente pantalla. SQL Administración danielramoscastaneda@hotmail.com Pág. 9
  10. 10. Universidad Nacional de Ingeniería 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 conexión que tenemos con el SQL Server, dicho sea de paso, no es necesario cambiar esta opción. En conexiones, podemos especificar el tiempo de espera para la conexión, en tiempo de ejecución, se determina el tiempo de espera para la ejecución de las sentencias en T-SQL. Una vez que hayamos dado a conocer, todas las características necesarias para la conexión, haremos clic sobre el botón Connect. Seguidamente, veremos la pantalla del Management Studio.Pág. 10 danielramoscastaneda@hotmail.com SQL Administración
  11. 11. Facultad de Ingeniería Industrial y de Sistemas Instalando el SQL Server 2008 Una vez que hayan decidido la Edición a utilizar del SQL Server 2008, procederemos a instalar el software. SQL Administración danielramoscastaneda@hotmail.com Pág. 11
  12. 12. Universidad Nacional de IngenieríaPág. 12 danielramoscastaneda@hotmail.com SQL Administración
  13. 13. Facultad de Ingeniería Industrial y de Sistemas Aquí dan a conocer todos los servicios que van a utilizar: SQL Administración danielramoscastaneda@hotmail.com Pág. 13
  14. 14. Universidad Nacional de Ingeniería Si tuvieran que crear una nueva instancia, aquí deberán de dar el nombre de esta:Pág. 14 danielramoscastaneda@hotmail.com SQL Administración
  15. 15. Facultad de Ingeniería Industrial y de Sistemas SQL Administración danielramoscastaneda@hotmail.com Pág. 15
  16. 16. Universidad Nacional de Ingeniería Tener en cuenta que la instalación se debe de hacer con el usuario que tenga máximos privilegios, además de tener una contraseña.Pág. 16 danielramoscastaneda@hotmail.com SQL Administración
  17. 17. Facultad de Ingeniería Industrial y de Sistemas SQL Administración danielramoscastaneda@hotmail.com Pág. 17
  18. 18. Universidad Nacional de IngenieríaPág. 18 danielramoscastaneda@hotmail.com SQL Administración
  19. 19. Facultad de Ingeniería Industrial y de Sistemas SQL Administración danielramoscastaneda@hotmail.com Pág. 19
  20. 20. Universidad Nacional de IngenieríaPág. 20 danielramoscastaneda@hotmail.com SQL Administración
  21. 21. Facultad de Ingeniería Industrial y de Sistemas SQL Administración danielramoscastaneda@hotmail.com Pág. 21
  22. 22. Universidad Nacional de IngenieríaPág. 22 danielramoscastaneda@hotmail.com SQL Administración
  23. 23. Facultad de Ingeniería Industrial y de Sistemas C API TULO 2  Administración de la Base de Datos y Archivos  Planificación de la BD.  Creación de la BD.  Administración de la BD.  Uso de Schemas y FileGroups. SQL Administración danielramoscastaneda@hotmail.com Pág. 23
  24. 24. Universidad Nacional de IngenieríaC 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 través de sentencias T-SQL, en ambos casos, tendremos los mismos resultados. El proceso de definición de una base de datos crea también un registro de transacciones para esa base de datos. Utilizando el management Studio, el procedimiento sería 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, también se puede especificar el propietario, así como los nombres físicos y lógicos de la base de datos. Si fuera necesario agregar nuevos grupos de archivos, hacer clic sobre el botón Add, luego aparecerá la siguiente pantalla.Pág. 24 danielramoscastaneda@hotmail.com SQL Administración
  25. 25. Facultad de Ingeniería 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 (NsistemasUNI) IS NOT NULL DROP DATABASE miproyecto; GO CREATE DATABASE sistemasUNI; GO – Verificando los archivos y tamaños 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 transacciones USE master; GO IF DB_ID (NVentitas) 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(Nmaster.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 Administración danielramoscastaneda@hotmail.com Pág. 25
  26. 26. Universidad Nacional de Ingeniería FILEGROWTH = 5MB ) ); GO Creando una base de datos con múltiples 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 (NArchivo) 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(Nmaster.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 información 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 Transact- SQL. La definición de una base de datos consiste en especificar el nombre de la base de datos, y diseñar el tamaño y la ubicación 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 parámetros: PRIMARYPág. 26 danielramoscastaneda@hotmail.com SQL Administración
  27. 27. Facultad de Ingeniería Industrial y de Sistemas Este parámetro especifica los archivos del grupo de archivos principal. El grupo de archivos principal contiene todas las tablas del sistema de la base de datos. También 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 señala a los demás archivos de la base de datos. La extensión 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 instrucción es el archivo principal. FILENAME Este parámetro 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. SIZE Este parámetro especifica el tamaño de los archivos de datos o de registro. Puede especificar los tamaños en megabytes (MB), que es el valor predeterminado, o en kilobytes (KB). El tamaño mínimo es de 512 KB, tanto para los archivos de datos como para los archivos de registro. El tamaño especificado para el archivo de datos principal debe ser, al menos, como el tamaño 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. MAXSIZE Este parámetro especifica el tamaño máximo hasta el que puede crecer el archivo. Puede especificar el tamaño en megabytes (valor predeterminado) o en kilobytes. Si no se especifica el tamaño, el archivo crece hasta que el disco esté lleno. FILEGROWTH Este parámetro 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 mínimo es 64 KB (una extensión). El tamaño especificado se redondea al múltiplo de 64 KB más próximo. COLLATION Este parámetro especifica la intercalación predeterminada para la base de datos. La intercalación incluye las reglas que gobiernan el uso de caracteres de un lenguaje o un alfabeto. SQL Administración danielramoscastaneda@hotmail.com Pág. 27
  28. 28. Universidad Nacional de IngenieríaRegistro de Transacciones Modificaciones de datos es 1 enviada por la aplicación La modificación se registra en 3 diario de las transacciones en Buffer Cache el disco Disk Páginas de datos se encuentran Disk 2 en, o se leen, en el buffer de caché Checkpoint escribe y son modificados cometido de las 4 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 recuperación. El registro es un área de almacenamiento que efectúa automáticamente 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 aplicación envía una modificación de datos. Cuando la modificación se ejecuta, las páginas de datos afectadas se cargan en la caché del búfer desde el disco si no están ya cargadas en la caché del búfer por una consulta anterior. Cada instrucción de modificación 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 modificación en la base de datos. Este tipo de registro se denomina registro de preescritura. De forma repetitiva, el proceso de punto de comprobación escribe en disco todas las transacciones completadas en la base de datos. Si se produce un error del sistema, el proceso automático de recuperación utiliza el registro de transacciones para aplicar todas las transacciones confirmadas y deshacer las transacciones incompletas. Los marcadores de transacción del registro se utilizan durante la recuperación automática para determinar los puntos de inicio y fin de cada transacción. Una transacción se considera completa cuando el marcador BEGIN TRANSACTION tienePág. 28 danielramoscastaneda@hotmail.com SQL Administración
  29. 29. Facultad de Ingeniería Industrial y de Sistemas un marcador COMMIT TRANSACTION asociado. Las páginas de datos se escriben en disco cuando existe un punto de comprobación. Administración de la BD. Después 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 instrucción ALTER DATABASE. Puede configurar varias opciones de base de datos, pero sólo 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 más frecuente. Propiedad Descripción Valor Retornado Opciones AUTO_CREATE_STATISTICS Crea automáticamente las automáticas estadísticas que faltan que son necesarias para la optimización de consultas. El valor predeterminado es ON. AUTO_UPDATE_STATISTICS Actualiza automáticamente las estadísticas desfasadas necesarias para la optimización de consultas. El valor predeterminado es ON. Opciones de CURSOR_CLOSE_ON_COMMIT Cierra automáticamente los cursor cursores abiertos cuando se confirma una transacción. El valor predeterminado es OFF y los cursores permanecen abiertos. CURSOR_DEFAULT LOCAL | CURSOR_DEFAULT_LOCAL GLOBAL 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 conexión. Opciones de RECOVERY FULL | FULL proporciona recuperabilidad recuperación BULK_LOGGED | SIMPLE completa ante errores del medio; es el valor predeterminado. BULK_LOGGED utiliza menos espacio de registro porque el registro es mínimo, pero tiene un riesgo mayor de exposición. SIMPLE recupera la base de datos sólo hasta la última copia de seguridad completa de la base de datos o hasta la última copia de seguridad diferencial. TORN_PAGE_DETECTION Permite a SQL Server detectar SQL Administración danielramoscastaneda@hotmail.com Pág. 29
  30. 30. Universidad Nacional de Ingeniería Propiedad Descripción Valor Retornado operaciones de E/S incompletas causadas por cortes de energía u otros apagones del sistema. El valor predeterminado es ON. Opciones de SQL ANSI_NULL_DEFAULT Permite al usuario controlar la capacidad de asignación predeterminada de valores NULL de la base de datos. ANSI_NULLS Si está activada, todas las comparaciones con un valor nulo se evalúan como NULL (desconocido). Si está desactivada, todas las comparaciones de valores no Unicode con un valor nulo se evalúan como verdaderas (TRUE) si ambos valores son NULL. De manera predeterminada, la opción de base de datos ANSI_NULLS es OFF. Opciones de READ_ONLY | READ_WRITE Define la base de datos como de estado sólo 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 | SINGLE_USER permite que los RESTRICTED_USER | usuarios se conecten a la base de MULTI_USER datos de uno en uno. Todas las demás conexiones se interrumpen. RESTRICTED_USER permite que sólo los miembros de la función 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 opción predeterminada. Recuperación de información de la base de datos Puede determinar las propiedades de la base de datos con la siguiente función DATABASEPROPERTYEX. SELECT DATABASEPROPERTYEX (base de datos, propiedad) Tener en cuenta que, esta función sólo devuelve el valor de una propiedad a la vez.Pág. 30 danielramoscastaneda@hotmail.com SQL Administración
  31. 31. Facultad de Ingeniería Industrial y de Sistemas La siguiente tabla enumera algunas de las propiedades de la base de datos. Propiedad Descripción Valor retornado Collation nombre por defecto para Collation name la base de datos. NULL = Database is not started. Base data type: nvarchar(128) ComparisonStyle The Windows comparison Returns the comparison style of the collation. style. ComparisonStyle is a bitmap that is calculated Returns 0 for all binary by using the following collations. values. Style Value Base data type: int 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. IsAnsiNullDefault Base de datos sigue 1 = TRUE normas ISO para permitir 0 = FALSE valores nulos. NULL = Input not valid Base data type: int IsAnsiNullsEnabled Todas las comparaciones 1 = TRUE a nulo para evaluar 0 = FALSE desconocidos. NULL = Input not valid Base data type: int IsAnsiPaddingEnabled Cadenas son rellenadas 1 = TRUE con la misma longitud 0 = FALSE antes de comparación o NULL = Input not valid inserción. Base data type: int IsAnsiWarningsEnabled Mensajes de error o de 1 = TRUE advertencia se emiten 0 = FALSE cuando un error estándar NULL = Input not valid se produce. Base data type: int IsArithmeticAbortEnabled Las consultas se terminan 1 = TRUE cuando un error por 0 = FALSE desbordamiento o división NULL = Input not valid por cero se produce Base data type: int durante la ejecución de las consultas. IsAutoClose Base de Datos se cierra 1 = TRUE limpiando y liberando 0 = FALSE recursos a partir de la NULL = Input not valid SQL Administración danielramoscastaneda@hotmail.com Pág. 31
  32. 32. Universidad Nacional de Ingeniería Propiedad Descripción Valor retornado última salida de usuario Base data type: int IsAutoCreateStatistics Falta de estadísticas que 1 = TRUE se requieren de una 0 = FALSE consulta para la NULL = Input not valid optimización automática Base data type: int se construyó durante la consulta de optimización. IsAutoShrink Archivos de Base de datos 1 = TRUE son candidatos para 0 = FALSE periódos automáticos de NULL = Input not valid disminución. Base data type: int IsAutoUpdateStatistics Estadísticas existentes 1 = TRUE son actualizadas 0 = FALSE automáticamente, por las NULL = Input not valid estadísticas de fuera de Base data type: int fecha, porque los datos en las tablas han cambiado. IsCloseCursorsOnCommitEnabled Cursores que están 1 = TRUE abiertas cuando una 0 = FALSE transacción se ha NULL = Input not valid comprometido están Base data type: int cerradas IsFulltextEnabled Base de Datos con full- 1 = TRUE text permitido. 0 = FALSE NULL = Input not valid Base data type: int IsInStandBy Base de Datos esta online 1 = TRUE como read-only, con 0 = FALSE restauración del log NULL = Input not valid permitido. Base data type: int IsLocalCursorsDefault Declaración del Cursor por 1 = TRUE defecto como LOCAL 0 = FALSE NULL = Input not valid Base data type: int IsMergePublished Las tablas de una Base de 1 = TRUE Datos pueden ser 0 = FALSE publicadas para una NULL = Input not valid replicación, si la Base data type: int replicación está instalada. IsNullConcat Concatenación de 1 = TRUE operaciones Null rinden 0 = FALSE con NULL. NULL = Input not valid Base data type: int IsNumericRoundAbortEnabled Los errores se generan 1 = TRUE cuando la pérdida de 0 = FALSE precisión se produce en NULL = Input not valid las expresiones Base data type: int IsParameterizationForced PARAMETERIZATION de 1 = TRUE la base de datos con la 0 = FALSE opción SET es FORCED. NULL = Input not validPág. 32 danielramoscastaneda@hotmail.com SQL Administración
  33. 33. Facultad de Ingeniería Industrial y de Sistemas Propiedad Descripción Valor retornado IsQuotedIdentifiersEnabled Doble comillas se puede 1 = TRUE utilizar en identificadores. 0 = FALSE NULL = Input not valid Base data type: int IsPublished Las tablas de la base de 1 = TRUE datos pueden ser 0 = FALSE publicados por la NULL = Input not valid instantánea o la Base data type: int replicación transaccional, si se instala la replicación. IsRecursiveTriggersEnabled Recursivo disparo de 1 = TRUE factores desencadenantes 0 = FALSE está activado NULL = Input not valid Base data type: int IsSubscribed Base de datos está 1 = TRUE suscrito a una publicación 0 = FALSE NULL = Input not valid Base data type: int IsSyncWithBackup La base de datos es una 1 = TRUE base de datos de 0 = FALSE publicación o una base de NULL = Input not valid datos de distribución, y Base data type: int puede ser restaurada sin interrumpir la replicación transaccional. IsTornPageDetectionEnabled El SQL Server Database 1 = TRUE Engine Engine detecta 0 = FALSE operaciones incompletas NULL = Input not valid de E/S causados por fallos Base data type: int de energía o cortes de otro sistema. LCID El identificador de LCID value (in decimal Windows local (LCID) de format). la colación. Base data type: int For a list of LCID values (in hexadecimal format), see Collation Settings in Setup. Recovery Modelo de recuperación FULL = Full recovery para la base de datos model BULK_LOGGED = Bulk logged model SIMPLE = Simple recovery model Base data type: nvarchar(128) SQLSortOrder SQL Server sort order ID 0 = Database is using supported in earlier Windows collation versions of SQL Server >0 = SQL Server sort SQL Server order ID ordenanimiento, apoya NULL = Input not valid or ordenamiento por ID en database is not started las versiones anteriores Base data type: tinyint de SQL Server Status Estado de la Base de ONLINE = Database is SQL Administración danielramoscastaneda@hotmail.com Pág. 33
  34. 34. Universidad Nacional de Ingeniería Propiedad Descripción Valor retornado Datos. available 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) Updateability Indica si los datos pueden READ_ONLY = Data can ser modificados be read but not modified. READ_WRITE = Data can be read and modified. Base data type: nvarchar(128) UserAccess Indica que los usuarios SINGLE_USER = Only puedan acceder a la base one db_owner, dbcreator, de datos. 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 Número de versión interna Version number = del código SQL Server Database is open. con el que la base de NULL = Database is not datos se ha creado. started. Identificado sólo con fines Base data type: int informativos. No soportado. La compatibilidad en el futuro no está garantizada. La siguiente tabla enumera los procedimientos almacenados del sistema de uso común que presentan información acerca de las bases de datos y sus parámetros. Procedimiento almacenado de Descripción sistema sp_helpdb Informa acerca de todas las bases de datos de un servidor. Proporciona el nombre, tamaño, propietario, Id., fecha de creación y opcionesPág. 34 danielramoscastaneda@hotmail.com SQL Administración
  35. 35. Facultad de Ingeniería Industrial y de Sistemas Procedimiento almacenado de Descripción sistema de la base de datos. sp_helpdb baseDeDatos Informa sólo acerca de la base de datos especificada. Proporciona el nombre, tamaño, propietario, Id., fecha de creación y opciones de la base de datos. También enumera los archivos de datos y de registro. sp_spaceused [nombreObjeto] Resume el espacio de almacenamiento que utiliza una base de datos o un objeto de base de datos. Componentes físicos: archivos y grupos de archivos de bases de datos (FileGroup). Un grupo de archivos es un conjunto lógico de archivos de datos que permite a los administradores controlar todos los archivos del grupo como un único elemento. La posibilidad de controlar la posición física de los objetos individuales de la base de datos puede proporcionar diversas ventajas en cuanto a facilidad de administración y rendimiento. Por ejemplo, puede utilizar varios grupos de archivos para controlar cómo se almacenan físicamente los datos de una base de datos en dispositivos de almacenamiento, y para separar los datos de lectura y escritura de los datos de sólo lectura. Tipos de grupos de archivos SQL Server 2008 tiene un grupo de archivos principal y también puede tener grupos de archivos definidos por el usuario. SQL Administración danielramoscastaneda@hotmail.com Pág. 35
  36. 36. Universidad Nacional de Ingeniería El grupo de archivos principal contiene el archivo principal de datos con las tablas del sistema. El archivo principal de datos utiliza normalmente la extensión .mdf. Un grupo de archivos definido por el usuario consta de archivos de datos agrupados con fines de asignación y administrativos. Estos otros archivos de datos se conocen como archivos secundarios de datos y suelen utilizar la extensión .ndf. SITUACIÓN DE EJEMPLO PARA VARIOS GRUPOS DE ARCHIVOS La ilustración proporciona un ejemplo de cómo podría 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 ilustración, 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 información de pedidos actual. También podría 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 extensión .ldf. En el siguiente ejemplo de código Transact-SQL se utiliza la instrucción CREATE DATABASE para implementar esta situación de ejemplo. CREATE DATABASE [AdventureWorks] ON PRIMARY ( NAME = NAdventureWorks_Data, FILENAME = NC:AdventureWorks_Data.mdf ), FILEGROUP [OrderHistoryGroup] ( NAME = NOrdHist1, FILENAME = ND:OrdHist1.ndf ), ( NAME = NOrdHist2, FILENAME = ND:OrdHist2.ndf ) LOG ON ( NAME = NAdventureWorks_log, FILENAME = NE:AdventureWorks_log.ldf) También puede utilizar la instrucción ALTER DATABASE para agregar o eliminar archivos y grupos de archivos de bases de datos existentes. CUÁNDO CREAR GRUPOS DE ARCHIVOS Puede 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 colocación física de datos.Pág. 36 danielramoscastaneda@hotmail.com SQL Administración
  37. 37. Facultad de Ingeniería 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 físicas del disco. Este método permite tener un control más fino sobre el seccionamiento de datos del que se puede lograr al crear un conjunto de volúmenes seccionados en el sistema operativo Windows, o utilizando una controladora de matriz RAID. Nota: En la mayoría de los casos, el uso de las funciones de seccionamiento de RAID Proporciona la misma ganancia de rendimiento que podría 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 COLOCACIÓN FÍSICA DE LOS DATOS Para utilizar grupos de archivos con el fin de simplificar el mantenimiento o lograr objetivos de diseño, puede: Almacenar los datos de lectura y escritura separados de los datos de sólo 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 Administración danielramoscastaneda@hotmail.com Pág. 37
  38. 38. Universidad Nacional de Ingeniería 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 restauración. Agrupar en los mismos grupos de archivos las tablas y los índices que tienen unos requisitos de mantenimiento similares. Quizás desee realizar tareas de mantenimiento en algunos objetos con más 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 contención 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. También 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 físicamente los datos que tienen necesidades de acceso diferentes dentro de una única tabla, y también puede proporcionar ventajas de facilidad de administración y rendimiento.Creación de esquemas Los desarrolladores que hayan trabajado con Microsoft .NET Framework o con XML estarán 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 más fáciles 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.Pág. 38 danielramoscastaneda@hotmail.com SQL Administración
  39. 39. Facultad de Ingeniería Industrial y de Sistemas ESQUEMAS COMO ESPACIOS DE NOMBRES Un esquema es un espacio de nombres para objetos de base de datos. Es decir, un esquema define un límite 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 ilustración 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 están 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 agrupación de objetos en esquemas no depende de la propiedad de los objetos. Administración de permisos más sencilla, ya que se puede otorgar permisos en el ámbito del esquema y en los objetos individuales. Facilidad de administración mejorada, porque al quitar a un usuario no es necesario cambiar el nombre de todos los objetos que ese usuario posee. ESQUEMAS DE EJEMPLO La 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 Employee del esquema HumanResources se utiliza HumanResources.Employee. 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 ningún otro esquema predeterminado definido explícitamente. Creación de un esquema Para crear un esquema, utilice el Explorador de objetos de SQL Server Management Studio o utilice la instrucción CREATE SCHEMA, como se muestra en el ejemplo siguiente. Use AdventureWorks SQL Administración danielramoscastaneda@hotmail.com Pág. 39
  40. 40. Universidad Nacional de Ingeniería GO CREATE SCHEMA Sales GO Cómo funciona la resolución de nombres de objetos Cuando una base de datos contiene varios esquemas, la resolución de nombres de objetos puede resultar confusa. Por ejemplo, una base de datos podría 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 inequívocos: 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 cómo se resuelven los nombres de objetos incompletos. CÓMO FUNCIONA LA RESOLUCIÓN DE NOMBRES SQL 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 ningún esquema predeterminado, SQL Server intenta encontrar el objeto en el esquema dbo.Pág. 40 danielramoscastaneda@hotmail.com SQL Administración
  41. 41. Facultad de Ingeniería Industrial y de Sistemas Por ejemplo, un usuario que tiene el esquema predeterminado Person ejecuta la siguiente instrucción 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 ningún esquema predeterminado definido ejecuta la misma instrucción, SQL Server resolverá inmediatamente el nombre de objeto como dbo.Contact. Asignación de un esquema predeterminado Puede asignar un esquema predeterminado a un usuario utilizando el cuadro de diálogo Propiedades de Usuario de la base de datos o especificando el nombre del esquema en la cláusula DEFAULT_SCHEMA de la instrucción CREATE USER o ALTER USER. Por ejemplo, el siguiente código Transact-SQL asigna Sales como el esquema predeterminado para el usuario Angello: ALTER USER Angello WITH DEFAULT_SCHEMA = Sales SQL Administración danielramoscastaneda@hotmail.com Pág. 41
  42. 42. Universidad Nacional de Ingeniería C A PI TULO 3  Planificación de una Estrategia de Backups  Realizando el Backup de la BD  Restaurando una BD  Recuperación de datos desde SnapshotsPág. 42 danielramoscastaneda@hotmail.com SQL Administración
  43. 43. Facultad de Ingeniería Industrial y de Sistemas P L A N I F I C A C I Ó N D E U N A E S T R A T E G I A D E B A C K U P S Con frecuencia, los datos en una base de datos confirman las operaciones de una organización. Sin la base de datos, la organización no puede funcionar adecuadamente. Es importante que cada misión crítica sistema de base de datos haya sido adecuadamente definida en procedimientos de recuperación de desastres. Las operaciones de Copia de seguridad y Restauración, son una parte vital de la gestión de datos y son esenciales para la recuperación 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 rápidamente en caso de un desastre. Tipos de Backup Descripción Full 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 La porción activa del archivo de transacciones. Differential Las partes de la Base de Datos que han cambiado desde el último backup completo a la Base de Datos. File / Filegroup Archivos específicos o grupos de archivos. Partial 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 BD Uso de la Instrucción BACKUP DATABASE Realiza una copia de seguridad completa de la base de datos o de uno o varios archivos o grupos de archivos (BACKUP DATABASE). Además, con el modelo de recuperación completa o el modelo de recuperación 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 <backup_device> [ ,...n ] SQL Administración danielramoscastaneda@hotmail.com Pág. 43
  44. 44. Universidad Nacional de Ingeniería [ <MIRROR TO clause> ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ] [;] --Backup para Files o Filegroups BACKUP DATABASE { database_name | @database_name_var } <file_or_filegroup> [ ,...n ] TO <backup_device> [ ,...n ] [ <MIRROR TO clause> ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ] [;] --Creando un Backup Parcial BACKUP DATABASE { database_name | @database_name_var } READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ] TO <backup_device> [ ,...n ] [ <MIRROR TO clause> ] [ next-mirror-to ] [ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ] [;] Argumentos DATABASE Especifica una copia de seguridad completa de la base de datos. Si se especifica una lista de archivos y grupos de archivos, sólo 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 sólo 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. <file_or_filegroup> [ ,...n ] Se utiliza sólo 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 sólo lectura que se va a incluir en una copia de seguridad parcial. FILE = { logical_file_name | @logical_file_name_var } Es el nombre lógico de un archivo o una variable cuyo valor equivale al nombre lógico de un archivo que se va a incluir en la copia de seguridad. FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }Pág. 44 danielramoscastaneda@hotmail.com SQL Administración
  45. 45. Facultad de Ingeniería Industrial y de Sistemas Es el nombre lógico de un grupo de archivos o una variable cuyo valor equivale al nombre lógico de un grupo de archivos que se va a incluir en la copia de seguridad. En el modelo de recuperación simple, se permite la copia de seguridad de un grupo de archivos sólo si se trata de un grupo de archivos de sólo lectura. n Es un marcador de posición que indica que se pueden especificar varios archivos y grupos de archivos en una lista separada por comas. El número 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 sólo lectura especificados. READ_WRITE_FILEGROUPS Especifica que en la copia de seguridad parcial se copiarán todos los grupos de archivos de lectura/escritura. Si la base de datos es de sólo lectura, READ_WRITE_FILEGROUPS incluye tan sólo el grupo de archivos principal. FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } Es el nombre lógico de un grupo de archivos de sólo lectura o una variable cuyo valor equivale al nombre lógico de un grupo de archivos de sólo lectura que se va a incluir en la copia de seguridad parcial. Para obtener más información, vea "<file_or_filegroup>", anteriormente en este tema. n Es un marcador de posición que indica que se pueden especificar varios grupos de archivos de sólo lectura en una lista separada por comas. TO <backup_device> [ ,...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 más cláusulas MIRROR TO). <backup_device> Especifica el dispositivo de copia de seguridad físico o lógico que se va a utilizar para la operación de copia de seguridad. { logical_device_name | @logical_device_name_var } Es el nombre lógico del dispositivo de copia de seguridad en que se hace la copia de seguridad de la base de datos. El nombre lógico 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 lógico) 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 Administración danielramoscastaneda@hotmail.com Pág. 45
  46. 46. Universidad Nacional de Ingeniería No es necesario que exista un dispositivo de disco antes de que se especifique en una instrucción BACKUP. Si el dispositivo físico existe y no se especifica la opción INIT en la instrucción BACKUP, la copia de seguridad se anexa al dispositivo. n Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas. MIRROR TO <backup_device> [ ,...n ] Especifica un conjunto de uno o varios dispositivos de copia de seguridad que reflejarán los dispositivos de copia de seguridad especificados en la cláusula TO. La cláusula MIRROR TO debe incluir el mismo número y tipo de dispositivos de copia de seguridad que la cláusula TO. El número máximo de cláusulas MIRROR TO es tres. Esta opción sólo está disponible en SQL Server 2008 Enterprise Edition y versiones posteriores. <backup_device> Vea "<backup_device>", en un apartado anterior de esta sección. n Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas. El número de dispositivos de la cláusula MIRROR TO debe ser igual al número de dispositivos de la cláusula TO. [ next-mirror-to ] Es un marcador de posición que indica que una sola instrucción BACKUP puede contener hasta tres cláusulas MIRROR TO, además de una sola cláusula TO. Opciones de WITH Especifica las opciones que se van a utilizar con una operación de copia de seguridad. DIFFERENTIAL Se utiliza sólo con BACKUP DATABASE. Especifica que la copia de seguridad de la base de datos o el archivo sólo 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 opción 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 máximo de 255 caracteres. NAME = { backup_set_name | @backup_set_var } Especifica el nombre del conjunto de copia de seguridad. Los nombres pueden tener un máximo de 128 caracteres. Si no se especifica NAME, está en blanco. PASSWORD = { password | @password_variable } Establece la contraseña del conjunto de copia de seguridad. PASSWORD es una cadena de caracteres.Pág. 46 danielramoscastaneda@hotmail.com SQL Administración

×