You are on page 1of 17

Curso SQL Server 2000 Captulo 1

CURSO SQL SERVER 2000


Dictado por Horacio Peafiel

Mdulo 1: Introduccin a SQL SERVER 2000

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

MDULO 1 INTRODUCCIN A SQL SERVER 2000 En este mdulo ser ver una introduccin al Administrador de Bases de Datos (DBMS) SQL Server 2000 Enterprise. Luego de completar este mdulo, el alumno estar en condiciones de: Diferenciar entre un Servidor de Bases de Datos y un Servidor de Archivos. Establecer los principales componentes de la arquitectura de SQL Server 2000. Comprender las bases de la seguridad en SQL Server 2000.

1.1 - SERVIDORES DE BASES DE DATOS Y SERVIDORES DE ARCHIVOS Definimos un Servidor de Base de Datos (o Sistema Administrador de Bases de Datos Database Management System - DBMS) como el software que corre en una mquina principal, llamada Servidor, y que responde a consultas provenientes de otras computadoras, llamadas Clientes. En un Servidor de Bases de Datos, se ejecuta un proceso que aisla a los procesos clientes del acceso fsico a las bases de datos. En los sistemas Servidores de archivos, en cambio, el cliente puede acceder y manipular fsicamente a los archivos de bases de datos, con los riesgos de seguridad que esto implica. En los Servidores de Bases de Datos, cuando un cliente realiza una peticin, el software del servidor se encarga de acceder a los archivos fsicos de las bases de datos, y devolver un resultado al cliente. En los Servidores de Archivos es la misma base de datos (con todos sus archivos asociados) la que viaja por la red hasta la ubicacin del cliente. No es difcil comprender que este mecanismo involucra un trfico de red mucho mayor que en el caso de un Servidor de bases de datos. Grficamente, podemos ver la diferencia entre un Servidor de Bases de Datos y un Servidor de Archivos:

Peticin SQL CLIENTE Resultados TDS

Servidor de Bases de Datos (SQL Server)

B.D.

Servidor de Bases de Datos

Peticin SQL CLIENTE Base de Datos completa Servidor de Archivos (Microsoft Access)
Sistema de Archivos

Servidor de Archivos

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

SQL Server 2000 es un Servidor de Bases de Datos, mientras que entre los Servidores de Archivos encontramos a Microsoft Access, Microsoft FoxPro, Parados, etc.

1.2 - INTRODUCCIN A SQL SERVER 2000 EL ENTORNO DE SQL SERVER El entorno tradicional de aplicaciones cliente/servidor consiste en aplicaciones cliente y un Sistema Administrador de Bases de Datos (RDBMS) que administre y guarde los datos. En este entorno tradicional, las aplicaciones cliente proporcionan la interfase a los usuarios para acceder a SQL Server 2000. Dichas aplicaciones pueden ser inteligentes (como ser una aplicacin escrita en Visual Basic .NET) o amoldarse al modelo de cliente delgado (thin client) en una aplicacin escrita para la Web. La plataforma emergente Microsoft .NET consiste en servicios Web altamente distribuidos, poco acoplados, y fuertemente programables que se ejecutan en diferentes servidores. En este entorno distribuido y descentralizado, las aplicaciones clientes corren en exploradores de Internet (como ser Microsoft Internet Explorer), los cuales acceden a SQL Server 2000 a travs de servicios Web o utilizando Microsoft Internet Information Services (IIS), el servidor de Internet de Microsoft.

EDICIONES DE SQL SERVER SQL Server 2000 se encuentra disponible en seis diferentes versiones. Cuatro de estas ediciones son para sistemas en produccin, una para desarrollo de aplicaciones, y una slo para fines de evaluacin del software. SQL Server 2000 Enterprise Edition La edicin Enterprise de SQL Server soporta todas las caractersticas de SQL Server 2000. Esta edicin est destinada a cubrir el rango de medio a grandes bases de datos en produccin, y escala tanto para arriba como para afuera para soportar los niveles de performance requeridos por los grandes sitios Web, sistemas de transacciones OLTP, y grandes Data Warehouses (OLAP). SQL Server 2000 Standard Edition La edicin Standard de SQL Server 2000 soporta muchas de las caractersticas de SQL Server, pero carece de opciones requeridas para escalar hacia arriba y hacia fuera para soportar bases de datos muy grandes, Data Warehouses, y sitios Web. Esta edicin est destinada a pequeos grupos de trabajo o departamentos. SQL Server 2000 Personal Edition La edicin Personal de SQL Server soporta todas las caractersticas soportadas por la edicin Estndar, excepto replicacin transaccional, la cual es soportada slo en modo de subscriptor. Asimismo, el soporte de bqueda de texto completo no es soportado cuando SQL Server es instalado en un equipo con Windows Me o Windows 98. Esta edicin es para aplicaciones stand-alone y usuario mviles que requieran un repositorio de datos local a la computadora cliente. SQL Server 2000 Personal Edition tiene una limitacin en cuanto a performance cuando es accedido simultneamente por ms de cinco usuarios. SQL Server 2000 Windows CE Edition La edicin para Windows CE de SQL Server 2000 (SQL Server CE) es usada como repositorio de datos para dispositivos Windows CE. La huella de memoria de SQL
FAGDUT 3 CCI

Curso SQL Server 2000 Captulo 1

Server CE es de aproximadamente 1 MB. SQL Server CE se encuentra implementado como un conjunto de libreras de acceso dinmico (DLLs) que operan como un proveedor OLEDB CE. Esta implementacin habilita a SQL Server CE para soportar ActiveX Data Objects para Windows CE (ADO CE) y OLEDB CE APIs en versiones de Visual Basic y Visual C++ basadas en Windows CE. SQL Server 2000 Developer Edition La edicin Developer de SQL Server 2000 soporta todas las caractersticas de SQL Server Enterprise Edition. Sin embargo, esta edicin es para programadores que desarrollen aplicaciones que usan SQL Server como base de datos. Esta edicin se licencia para uso slo como sistema de desarrollo y testeo, no como servidor en produccin. SQL Server 2000 Enterprise Evaluation Edition La edicin Enterprise Evaluation Edition de SQL Server es una versin completa disponible para bajar de la Web de Microsoft gratis. Esta edicin est destinada slo para evaluar las caractersticas de SQL Server 2000 y deja de funcionar pasados 120 das de la instalacin. SQL Server 2000 Desktop Engine (MSDE) La edicin Desktop Engine de SQL Server (tambin conocida como MSDE) es una versin redistribuible del motor de bases de datos SQL Server. Esta edicin se encuentra destinada para aplicaciones que la usan para guardar datos sin requerir administracin desde el punto de vista del usuario final. MSDE est diseado para administrar su configuracin y uso de recursos dinmicamente, minimizando los requerimientos de administracin del motor una vez que fue instalado. MSDE no incluye las utilidades de administracin de SQL Server 2000 ni las herramientas de interfase grfica. El programador debe usar distintas APIs para crear y configurar la base de datos, y la aplicacin deber usar las mismas para realizar cualquier administracin requerida. MSDE soporta el mismo motor de base de datos y caractersticas de replicacin disponibles en la edicin Personal de SQL Server. Sin embargo, MSDE no soporta los servicios de Anlisis (SQL Server Analysis Services). Asimismo, el tamao de las bases de datos no pueden exceder los 2 GB y el motor tiene una restriccin que limita la performance del motor de base de datos cuando ms de cinco usuarios estn ejecutando sentencias SQL en forma simultnea.

1.3 - PRINCIPALES COMPONENTES DE SQL SERVER 2000 SQL Server 2000 proporciona una buena cantidad de distintos componentes. En el ncleo de SQL Server se encuentran los componentes de servidor. Estos componentes de servidor se encuentran generalmente implementados como servicios Windows de 32 bits. SQL Server 2000 proporciona herramientas basadas en el cliente y utilidades de lnea de comandos para su administracin. Estas herramientas y utilidades, al mismo tiempo que todas las restantes aplicaciones clientes, usan componentes de comunicacin proporcionados por SQL Server. Los componentes de comunicacin proporcionan diversas formas por medio de las cuales las aplicaciones cliente pueden acceder a los datos. Estos componentes de comunicacin son implementados como providers, drivers, interfases de base de datos, y libreras Net. Un componente adicional de SQL Server son los Libros en Pantalla, los cuales se encuentran en formato HTML Help.

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

COMPONENTES DEL SERVIDOR Los componentes de SQL Server 2000 del lado del servidor son implementados como servicios Windows de 32 bits. Los servicios SQL Server y SQL Server Agent pueden tambin ser ejecutados en modo standalone en cualquier sistema operativo Windows que sea compatible con SQL Server. La siguiente tabla lista los componentes del lado del servidor y describe brevemente cada una de sus funciones. Tambin especifica cmo es implementado dicho componente cuando existen mltiples instancias del servidor. Componente del Servidor SQL Server Descripcin El servicio MSSQLServer implementa la base de datos SQL Server 2000. Hay un servicio por cada instancia de la base de datos en el servidor. El servicio MSSQLServerOLAPService implementa los servicios de SQL Service para Anlisis de Datos. Hay un solo servicio para todas las instancias de SQL Server. SQLServerAgent implementa un agente que se ejecuta tareas administrativas en SQL Server. Hay un servicio por cada instancia del servidor. Microsoft Search implementa el servicio de Bsqueda de Texto completa. Hay un solo servicio para todas las distintas instancias de SQL Server. DTC administra transacciones distribuidas entre instancias de SQL Server 2000. Hay un solo servicio para todas las instancias del servidor.

SQL Server 2000 Analysis Services

SQL Server Agent

Microsoft Search

MS DTC Coordinator)

(Distributed

Transaction

Nota: Los servicios MSSQLServer y SQLServerAgent corren como aplicaciones en Windows 98 y Windows Me. Los servicios Microsoft Search y MS DTC no pueden correr bajo estos sistemas operativos y son deshabilitados en el momento de la instalacin.

HERRAMIENTAS DE CLIENTE Las Herramientas de Administracin de SQL Server y la utilidades asociadas son implementadas como clientes, lo que significa que deben establecer una conexin ya sea local o a travs de la red al servidor SQL Server usando componentes de comunicacin del lado del cliente. Utilidades Grficas La siguiente tabla lista las utilidades grficas de 32 bits proporcionadas por SQL Server 2000: Utilidad Grfica Administrador Corporativo (SQL Server Enterprise Manager) Descripcin La principal herramienta de administracin del servidor y bases de datos. Proporciona una consola administrativa basada en MMC (Microsoft Management Console). Usado para crear y administrar objetos de base de datos y para ejecutar sentencias Transact-SQL, lotes, y scripts en forma interactiva.
5 CCI

Analizador de Consultas (SQL Server Query Analyzer)

FAGDUT

Curso SQL Server 2000 Captulo 1

Analizador (SQL Profiler)

Administrador de Servicios (SQL Server Service Manager) Herramienta de Red del Cliente Herramienta de Red del Servidor

Usado para monitorear y capturar las sentencias SQL que se ejecutan sobre el servidor tanto para anlisis como para auditora. Una aplicacin de la barra de tareas, permite iniciar, detener y pausar o modificar los servicios de SQL Server. Utilizado para administrar las libreras de acceso a SQL Server del lado del cliente. Utilizado para administrar las libreras de acceso a SQL Server del lado del servidor.

Utilidades de lnea de comando La siguiente tabla lista las utilidades de lnea de comando proporcionadas por SQL Server:

Utilidad de lnea de comando oSql

Scm (Service Control Manager) Sqldiag Bcp Dtsrun Sqlmaint

Descripcin Esta utilidad permite consultar una instancia de SQL Server 2000 interactivamente usando sentencias Transact-SQL, procedimientos del sistema, y archivos de script. Esta utilidad reemplaza a iSql, el cual fuera usado por ediciones de SQL Server anteriores a SQL Server 7.0. Esta utilidad nos permite arrancar, detener y pausar los servicios de SQL Server. Obtiene y guarda informacin de diagnstico. Esta utilidad copia datos entre SQL Server y un archivo de datos en un formato especfico. Permite ejecutar paquetes DTS. Esta utilidad permite realizar un conjunto especfico de operaciones de mantenimiento sobre nuestras bases de datos. Estas operaciones incluyen tests de consistencia con DBCC, backups de datos y archivos de transacciones, actualizar estadsticas, y reconstruir ndices.

Cada una de las aplicaciones cliente se conecta a SQL Server 2000 de diversas formas. Es importante para nosotros, los administradores de las bases de datos, tener un conocimiento bsico de cmo las aplicaciones cliente acceden al servidor. Ciertas tareas de configuracin estn relacionadas a componentes de comunicacin del cliente que elegimos durante la instalacin o configuramos despus de la misma. Protocolos Net El proveedor OLE DB o el driver ODBC usan libreras especficas, llamadas Libreras o Protocolos Net para comunicarse con el servidor SQL Server. La comunicacin puede ser hacia la misma computadora o a travs de la red. Las libreras Net encapsulan peticiones entre clientes y servidores para la transmisin por los protocolos de red correspondientes. La comunicacin entre los protocolos cliente y servidor puede ser encriptada usando SSL (Secure Sockets Layer). Los clientes SQL Server as como el servidor SQL Server pueden ser configurados utilizando una de las libreras que detallamos a continuacin:

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

Librera Net Memoria Compartida (Shared Memory)

Canalizaciones con Nombre (Named Pipes)

Sockets TCP/IP

NWLink (IPX/SPX)

Multiprotocolo

AppleTalk ADSP

Banyan VINES

Descripcin Utilizada para conectar a SQL Server en una misma mquina usando un segmento compartido de memoria. Este es uno de los protocolos por defecto de SQL Server. Usada para comunicarse con SQL Server a travs de canalizaciones con nombre. Una canalizacin (pipe) es un mecanismo de comunicacin inter-proceso que utiliza el sistema de archivos. Este tambin es uno de los protocolos por defecto en SQL Server. Usada para conectar a SQL Server a travs de TCP/IP. Es uno de los protocolos por defecto. Usado en entornos Novell Netware, principalmente entornos Netware que no soportan TCP/IP. Soporta cualquier mtodo de comunicacin entre servidores usando RPCs (Remote Procedure Calls) en Windows NT/2000. En versiones anteriores este protocolo era requerido para habilitar encriptacin y soporte de autenticacin Windows. En SQL Server 2000, es utilizado principalmente por razones de compatibilidad. Protocolo usado en entornos Apple Macintosh y redes Apple. Los clientes Apple se conectan a SQL Server a travs del protocolo Apple Talk. Protocolo usado en entornos Banyan VINES. Este protocolo corre al nivel del SQL Server 7.0 y no se encuentra soportado completamente en SQL Server 2000.

Open Data Services Las libreras Net (Net-Libraries) se comunican en la capa del Open Data Services del motor de base de datos, el cual es una interfase entre el motor relacional y las libreras Net. Los Open Data Services transforman paquetes recibidos por las libreras Net en eventos que son pasados a un componente puntual del motor de base de datos. El motor de base de datos, a su vez, utiliza ODS para enviar una respuesta a los clientes a travs de las libreras Net. Comunicacin Cliente-Servidor La figura siguiente ilustra la comunicacin entre componentes del servidor en una conexin con un cliente cuando este cliente se encuentra en la misma computadora que el servidor:

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

Cliente OLE DB

Cliente ODBC

Cliente DBLibrary

Proveedor OLEDB

Driver ODBC

DLL DBLibrary

Memoria compartida

Memoria compartida

Memoria compartida

Memoria compartida

Librera Net Memoria compartida

Open Data Services

SQL Server

La siguiente figura nos muestra la misma interaccin esta vez involucrando distintas computadoras:

Cliente OLE DB

Cliente ODBC

Cliente DBLibrary C L I E N T E

Proveedor OLEDB

Driver ODBC

DLL DBLibrary

Librera Net Canalizaciones con nombre

Librera Net Multiprotocolo

Librera Net TCP/IP

Protocolo NWLink

Protocolo NetBeui

Protocolo TCP/IP

Librera Net NWLink del Servidor

Librera Net Multiprotocolo del Servidor Open Data Services

Librera Net TCP/IP del Servidor

SQL Server

S E R V I D O R

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

1.4 - ARQUITECTURA DE BASE DE DATOS DE SQL SERVER Los datos en SQL Server 2000 se encuentran guardados en bases e datos. Fsicamente, una base de datos consiste en uno o ms archivos en uno o ms discos. La implementacin fsica es visible slo para los administradores de dicha base de datos, y es completamente transparente a los usuarios. La optimizacin fsica de la base de datos es la primera responsabilidad de los administradores. Desde el punto de vista lgico, una base de datos es estructurada en componentes que son visibles a los usuarios, como ser tablas, vistas, y procedimientos almacenados. La optimizacin lgica de la base de datos (como ser el diseo de tablas e ndices) es responsabilidad primaria del diseador de la base de datos. Bases de datos de Usuario y de Sistema Cada instancia de SQL Server 2000 tiene como mnimo cuatro bases de datos de sistema. La siguiente tabla nos muestra una descripcin de cada una de ellas: Base de datos de sistema Master Descripcin Registra toda la informacin a nivel de sistema para un sistema SQL Server 2000, incluyendo un registro de bases de datos instaladas en el sistema, cuentas de login, y configuracin general del servidor. Guarda todas las tablas y procedimientos almacenados temporarios creados tanto por el usuario como por SQL Server. Sirve como plantilla para la creacin de nuevas bases de datos. El servicio SQLServerAgent usa esta base de datos para registrar alertas y trabajos.

Tempdb

Model Msdb

A su ver, cada instancia de SQL Server 2000 contiene dos bases de datos de usuario, creadas con fines didcticos: pubs y Northwind. Estas bases de datos son bases de datos de ejemplo, y pueden ser eliminadas del servidor sin causar ningn problema.

1.5 - ESTRUCTURA FSICA DE UNA BASE DE DATOS Cada base de datos consiste en al menos un archivo de datos y un archivo de registro (transaction log). Estos archivos no son compartidos con otras bases de datos. Para optimizar la performance y proporcionar tolerancia a fallos, los archivos de datos y de registro se encuentran tpicamente separados en diferentes discos y muchas veces usan un RAID (Redundant Array of Independent Disks). Extents y Pginas SQL Server 2000 reserva espacio en un archivo de datos para tablas e ndices en bloques de 64 KB llamados extents. Cada extent consiste en 8 pginas contiguas de 8 KB cada una. Hay dos tipos de extents: extents uniformes, llenados por un solo objeto, y extents mixtos, que son compartidos por hasta ocho objetos. La pgina es la unidad fundamental de almacenamiento en SQL Server 2000, y su tamao es de 8 KB. En general, las pginas de datos guardan las distintas filas que componen una tabla. La cantidad mxima de datos que puede contener una pgina es 8060 bytes. Las filas de datos se encuentran organizadas en algn orden basado en una clave primaria con un ndice agrupado, o pueden existir en la base de datos sin ningn ndice asociado. Al comienzo cada pgina contiene un encabezado de 96 bytes que es utilizado para guardar informacin de sistema, como ser la cantidad de espacio libre en la pgina.

FAGDUT

CCI

Curso SQL Server 2000 Captulo 1

Archivos de Registro de Transacciones El Registro de Transacciones (Transaction Log) reside en uno o ms archivos fsicos separados de los archivos de datos, y contiene una serie de registros de transacciones, como ser las pginas alocadas en extents. Para optimizar la performance, los archivos del registro de transacciones se suelen encontrar en diferentes discos separados de los archivos de datos (usualmente utilizando un RAID).

1.6 - ESTRUCTURA LGICA DE UNA BASE DE DATOS Los datos en SQL Server 2000 se encuentran organizados en objetos de bases de datos que son visibles a los usuarios cuando se conectan a las mismas. La siguiente tabla lista dichos objetos y brevemente describe sus funciones: Objeto Tablas Descripcin Una tabla generalmente consiste de columnas y filas de datos en un formato similar a una planilla de clculo. Cada fila en una tabla representa a un nico registro, y cada columna representa un campo dentro del registro. Un tipo de datos especifica qu informacin puede ser guardada en una columna. Las vistas pueden restringir las filas o las columnas de una tabla que son visibles, o pueden combinar datos de mltiples tablas para aparentar ser una sla tabla. Una vista tambin puede agregar columnas. Un ndice es una estructura asociada a una tabla o vista que acelera la recuperacin de filas de una tabla o vista. Los ndices de una tabla pueden ser agrupados o no agrupados. Agrupado significa que los datos son fsicamente ordenados basndose en la clave del ndice. Una clave es una columna o grupo de columnas que identifican unvocamente a una fila (PRIMARY KEY), define una relacin entre dos tablas (FOREIGN KEY), o es usada para construir un ndice. Un tipo definido por el usuario es un tipo de datos personalizado, basado en un tipo predefinido de SQL Server 2000. Es utilizado para que la estructura de las tablas sean ms representativas para los programadores, a la vez que aseguran que dichas columnas contengan clases similares de datos con el mismo tipo de datos. Un Procedimiento Almacenado es un grupo de instrucciones Transact-SQL compilados en un solo plan de ejecucin. El procedimiento es utilizado para optimizacin de performance y control de acceso. Una restriccin define reglas relacionadas a valores permitidos en columnas y son el mecanismo estndar para forzar la integridad de los datos. Un default especifica qu valores son usados por una columna en caso de no especificar un valor para la columna cuando se inserta una fila. Un trigger es una clase especial de procedimiento almacenado que se ejecuta automticamente cuando una sentencia UPDATE, INSERT o DELETE es ejecutada sobra una tabla o vista. Una funcin definida por el usuario es una subrutina compuesta por uno o ms sentencias Transact-SQL utilizada para encapsular cdigo para reusarlo. Una funcin puede tener un mximo de 1024 parmetros. Las funciones definidas por el usuario pueden ser utilizadas en lugar de vistas y procedimientos almacenados.

Vistas

Indices

Claves

Tipos definidos por el usuario

Procedimientos Almacenados Restricciones Defaults Triggers

Funciones definidas por el usuario

1.7 ARQUITECTURA DE SEGURIDAD SQL Server usa dos niveles de seguridad a la hora de validar a un usuario. El primer nivel de seguridad es Autenticacin. Autenticacin determina si el usuario posee un login vlido para conectarse a una instancia de SQL Server 2000. El segundo nivel de seguridad es Autorizacin, tambien llamada Validacin de Permisos. Autorizacin determina qu actividades puede hacer el usuario y en qu bases de datos luego de ser autenticados por SQL Server 2000.
FAGDUT 10 CCI

Curso SQL Server 2000 Captulo 1

AUTENTICACIN Un usuario no puede conectarse a una instancia de SQL Server sin primero especificar un ID de login vlido. Un ID de login es un identificador de cuenta que controla el acceso a una instancia de SQL Server 2000. Las instancias en SQL Server deben verificar que el ID de login especificado para cada solicitud de conexin es autorizado para acceder a la instancia. La verificacin del ID de login se llama autenticacin. SQL Server 2000 usa dos tipos de autenticacin: Autenticacin de Windows y Autenticacin de SQL Server. Cuando un usuario intenta conectarse a SQL Server, primero especifica qu tipo de autenticacin requiere la conexin. Autenticacin de Windows Un administrador de bases de datos puede garantizar permisos para conectarse a una instancia de SQL Server 2000 a usuarios y grupos de Windows 2000, Windows NT 4.0. Si una conexin intentada especifica Autenticacin de Windows, SQL Server usa las facilidades de Windows para determinar el nombre de red validado. SQL Server verifica la identidad del usuario, y entonces permite o niega accesos de login basados en el nombre de red solamente, sin requerir separadamente login y password. Esto es lo que se llama conexin de confianza (Trusted Connection). La Autenticacin de Windows incluye las funciones de seguridad de Windows 2000 y Windows NT 4.0, como se validacin y encriptacin de contraseas, auditora, longitud mnima de las contraseas, y bloqueo de las cuentas luego de mltiples logins no vlidos. Autenticacin de SQL Server Un administrador de bases de datos puede crear cuentas de inicio de sesin de SQL Server y contraseas. Estas cuentas son completamente independientes de las cuentas y grupos de Windows 2000 y Windows NT 4.0. Si una conexin especifica Autenticacin de SQL Server, SQL Server 2000 realiza la autenticacin l mismo, controlando que la cuenta de inicio de sesin de SQL Server existe y que la contrasea coincida con la previamente registrada en SQL Server. Nota: La Autenticacin de SQL Server es requerida en instancias de SQL Server 2000 instaladas en sistemas operativos como Windows Me y Windows 98, y por conexiones de clientes que no son validadas por Windows 2000 y Windows NT 4.0.Modos de Autenticacin SQL Server 2000 puede operar en dos modos distintos de autenticacin. La autenticacin por defecto es la Autenticacin de Windows. Cuando SQL Server 2000 se encuentra operando en este modo, un usuario puede conectarse a SQL Server 2000 slo con una cuenta previamente autenticada por Windows 2000 o Windows NT 4.0. SQL Server 2000 tambin puede operar el Modo Mixto. Cuando SQL Server opera en este modo, un usuario puede conectarse a SQL Server con una cuenta previamente validada por Windows 2000 o Windows NT 4.0, o puede usar un inicio de sesin y contrasea vlida para SQL Server. La siguiente figura ilustra el rbol de decisin para validad un inicio de sesin en SQL Server:

FAGDUT

11

CCI

Curso SQL Server 2000 Captulo 1

Conectar a SQL Server usando una aplicacin cliente.

Modo de Autenticacin

Autenticacin de Windows

Modo Mixto

Conectar usando una cuenta de Windows?

Conectar usando una cuenta de SQL?

Permiso para conectar?

Inicio de sesin vlido?

Contrasea vlida?

Conexin rechazada por SQL Server

Conexin rechazada por SQL Server

Conexin aceptada por SQL Server

AUTORIZACIN Una vez que SQL Server 2000 autentica al usuario, SQL Server determina si el ID de inicio de sesin ha sido autorizado para realizar actividades en alguna base de datos. Un ID de inicio de sesin por s mismo no otorga al usuario permiso para acceder a objetos en las bases de datos. Solamente permite al usuario proceder al siguiente paso, el cual es la Autorizacin o Validacin de Permisos. Esto impide a un inicio de sesin el acceso automtico a todas las bases de datos en una instancia de SQL Server.

FAGDUT

12

CCI

Curso SQL Server 2000 Captulo 1

Cuentas de Usuario En general, el administrador de la base de datos debe asociar un ID de inicio de sesin con un ID de usuario en una base de datos antes de que un usuario con un inicio de sesin vlido puede realizar operaciones en esa base de datos. El administrador de la base de datos aplica permisos a cada objeto (por ejemplo tablas, vistas, procedimientos almacenados) en una base de datos a cada cuenta de usuario. La Cuenta Invitado Si un ID de inicio de sesin no ha sido explcitamente asociado con un usuario en una base de datos, se lo asocia con el usuario Invitado en esa base de datos, si el mismo existe. Si una base de datos tiene una cuenta de usuario invitado, el inicio de sesin se limita a aquellos derechos garantizados por el usuario Invitado. Si la base de datos no tiene una cuenta de usuario Invitado, un inicio de sesin no puede acceder a la base de datos a menos que se la asocie una cuenta de usuario vlida. Por defecto, todas las bases de datos creadas por defecto no tienen la cuenta invitado activada. Funciones (Roles) Un administrador de bases de datos usa las funciones para agrupar usuarios en una sla unidad contra un nico conjunto de permisos. Las funciones son usadas de la misma forma que los grupos en Windows 2000 o Windows NT 4.0. SQL Server 2000 proporciona funciones de servidor estndar y funciones de base de datos estndar con permisos prefijados. Un administrador puede tambin crear sus propias funciones definidas por el usuario. Cada usuario en una base de datos pertenece a la funcin de base de datos Public, y hereda todos los permisos que se le hayan asignado a dicha funcin, a menos que el usuario tenga especficamente negados ciertos permisos. Derechos adicionales deben ser garantizados explcitamente al usuario o al grupo al cual pertenece el usuario.

FAGDUT

13

CCI

Curso SQL Server 2000 Captulo 1

PRACTICA 1.1 EXPLORANDO SQL SERVER En la siguiente prctica, vamos a explorar la instalacin de SQL Server 2000. Vamos a ver cules son los principales componentes de SQL Server y cmo interactan entre s: Explorando el Administrador de Servicios 1. En Windows, hacemos click en el botn Inicio, Programas, Microsoft SQL Server, y finalmente click en Administrador de Servicios (Service Manager). 2. Observemos la ventana que se nos abre. Desde esta aplicacin podemos iniciar, pausar o detener los distintos servicios que componen SQL Server. Entre los servicios includos podemos encontrar a MSSQLServer, SQL Server Agent, Microsoft Search, y MS DTC. Tambin podemos establecer que un servicio en particular se inicie automticamente al iniciar el Sistema Operativo. 3. Detenemos y volvemos a iniciar los servicios SQL Server y SQL Server Agent. Explorando el Adminstrador Corporativo (Enterprise Manager) 1. En Windows, hacemos click en Inicio, Programas, Microsoft SQL Server y Administrador Corporativo. 2. Se nos aparece la ventana de MMC con una interfase parecida al Explorador de Windows. Expandimos el nodo Servidores de Microsoft SQL Server, expandimos Grupo de SQL Server y <NOMBRE_SERVIDOR> donde encontramos el nombre de nuestro servidor local que estamos administrando. 3. Se nos aparecer el siguiente rbol de administracin:

4. Aqu tenemos los siguiente nodos de administracin del servidor SQL Server: Bases de Datos.

Aqu tenemos una lista de todas las bases de datos que componen nuestro servidor SQL Server. Podemos encontrar las bases de datos del sistema (como ser Master, Model, Tempdb y Msdb) as como las bases de datos de usuario (Pubs, Northwind, etc). Servicios de Transformacin de datos.

Aqu agrupamos todos los objetos propios de MS DTS (Data Transformation Services Servicios de Transformacin de Datos). Administracin.

Dentro de este nodo encontramos objetos de administracin del servicio SQL Server Agent, as como trabajos de backup, registros de actividades, etc.

FAGDUT

14

CCI

Curso SQL Server 2000 Captulo 1

Duplicacin. En caso de tener activadas las opciones de Replicacin (Duplicacin), podremos ver los distintos objetos asociados a dicha funcin (Publicaciones, Subscripciones, etc).

Seguridad. Aqu encontramos los Inicios de Sesin, las Funciones del Servidor (Roles), y los Servidores Vinculados y Remotos del servidor SQL Server actual.

Servicios de Compatibilidad. Engloba los servicios de SQL Mail, Bsqueda de Texto, y el Coordinador de Transacciones Distribuidas (MS DTC).

Meta Data Services. Utilizamos esta opcin para explorar metadatos de SQL Server. Los metadatos en SQL Server son datos sobre los datos, una especie de repositorio de metadatos.

Explorando en Analizador de Consultas (Query Analyzer) 1. Hacemos click en Inicio, Programas, Microsoft SQL Server, y Analizador de Consultas. 2. Se nos abre ante todo la ventana de Conectar a SQL Server. Aqu debemos especificar el tipo de autenticacin deseado, as como en nombre de servidor y, de ser necesario, un nombre de inicio de sesin y password. 3. En la caja de texto Servidor de Sql Server, ingresaremos (local). Seleccionaremos Autenticacin de SQLServer, e ingresaremos en Nombre de Usuario = sa y Contrasea en blanco. 4. Se nos abre una ventana de consulta desde la que podemos ejecutar distintas sentencias SQL sobre nuestro servidor. 5. Observemos la barra de tareas. Desde aqu podemos seleccionar una base de datos en particular (seleccionaremos la base de datos Pubs), comprobar la sintaxis de una sentencia o lote SQL, o ejecutar SQL. 6. Si hacemos click en el botn Examinador de Objetos o presionamos la tecla F8, el Analizador de Consultas nos abrir la ventana del Examinador de Objetos. Dentro de esta ventana podemos observar un rbol con las distintas bases de datos, donde podemos observar su composicin, y una lista de Objetos comunes, que no son ms que variables y funciones globales a nivel del servidor que podemos arrastrar hacia nuestro cdigo en la ventana de edicin. 7. En la ventana de edicin, tipearemos las siguientes sentencias SQL: USE PUBS GO SELECT * FROM AUTHORS GO 8. Usamos la palabra clave GO para dividir la ejecucin de los diferentes lotes. En este caso no es estrictamente necesario, pero hay algunas sentencias SQL que obligan a tipearlas en un lote por separado, por eso usamos GO. 9. Podemos revisar la sintaxis del texto ingresado haciendo click en el botn correspondiente en la barra de herramientas (el que aparece con una tilde) o tipeando CTRL-F5. Si la sintaxis esta OK, nos aparecer el mensaje Comandos completados con xito. 10. Para ejecutar lo ingresado, hacemos click en el botn correspondiente a la barra de herramientas, o pulsando F5. Obtendremos el conjunto de resultados que deseamos de esta manera.

FAGDUT

15

CCI

Curso SQL Server 2000 Captulo 1

PRCTICA 1.2 CUENTAS DE USUARIO Y PERMISOS 1. Intentemos abrir el Analizador de Consultas y seleccionar Autenticacin de SQL Server seguido de un usuario no registrado. SQL Server nos mostrar la siguiente ventana de error:

2. Vamos a crear un nuevo inicio de sesin para nuestro nombre en el Adminstrador Corporativo: a. Iniciamos el Administrador Corporativo, expandimos los nodos hasta llegar a nuestro servidor, expandimos el servidor y expandimos la opcin Seguridad. b. Encontraremos dentro de Inicios de Sesin una lista de los inicios de sesin ya registrados en el servidor. Recordemos que necesitamos de un inicio de sesin para poder loguearnos con SQL Server. Por defecto, SQL Server ya crea los inicios de sesin llamados sa (Login propio de SQL Server se mapea con la funcin sysadmin (Administrador del Sistema), y BUILTIN\Administradores, cuenta que obtiene del entorno de seguridad de Windows. c. Hacemos click derecho sobre Inicios de sesin, y seleccionaremos Nuevo Inicio de Sesin. Nos aparecer la siguiente ventana:

d. Ingresamos en esta ventana un Nombre para la cuenta de inicio de sesin, el Tipo de Autenticacin (Windows o SQL Server). Si seleccionamos la primera,
FAGDUT 16 CCI

Curso SQL Server 2000 Captulo 1

deberemos especificar tambin el nombre del Dominio al que pertenece la cuanta personal del usuario, asi como si concedemos o denegamos acceso al servidor. Estas opciones equivalen a los procedimientos almacenados sp_grantlogin y sp_denylogin. Nota Importante: La cuenta que creamos en este paso no nos asegura de por s el poder acceder a privilegios en una base de datos. Una vez que configuramos nuestro usuario debemos mapearlo a una cuenta en cada base de datos a acceder para poder asignarle permisos. e. Podemos ver dos pestaas adicionales: Funciones de Servidor y Acceso a Bases de Datos. Estas opciones nos permiten asignar usuarios a una funcin especfica del servidor (los nombres de funciones de servidor son fijos), as como asignar permisos de acceso a las bases de datos. Aqu podemos mapear nuestro nuevo inicio de sesin con un usuario de la base de datos. Nosotros agregaremos soporte slo para la base de datos Pubs, y nos loguearemos sobre dicha base de datos con los permisos de dbo (Database Owner db_owner). f. Finalmente, pulsaremos Aceptar. Otra Nota Importante: Si seleccionamos Autenticacin de Windows, podemos elegir de entre una lista la cuentas de usuario involucrada en el inicio de sesin de entre las registradas por Windows.

FAGDUT

17

CCI

You might also like