Anda di halaman 1dari 25

Guía rápida SQL Server 2000 División Empresas

Unidad 1: Panorama General de SQL Server


¿Qué es SQL Server?
SQL se utiliza para manipular dos tipos de bases de datos: bases de
datos con procesamiento de transacciones en línea (OLTP) y bases de
datos con procesamiento analítico en línea (OLAP). Típicamente, el
acceso a las bases de datos lo realizan clientes separados a través de
una red de computadoras.

Introducción a SQL Server


Se puede utilizar SQL Server para realizar procesos de transacciones,
almacenar, analizar datos y crear nuevas aplicaciones.

SQL Server es una familia de productos y tecnologías que cubre los


requerimientos de almacenamiento de ambientes OLTP y OLAP. SQL
Server es un sistema administrador de bases de datos relacionales
(RDBMS) que:

• Administra el almacenamiento de datos para su transacción y


análisis.
• Responde a los requerimientos de aplicaciones de clientes.
• Utiliza los lenguajes Transact SQL, Extensible Markup Language
(XML), multidimensional expressions (MDX), o Distributed
Management Objects (SQL-DMO) para el envío de requerimientos
entre el cliente y SQL Server.

Nota: Este curso se enfoca en actividades asociadas con bases de datos


OLTP y Transact-SQL.

Sistema administrador de bases de datos relacionales (RDBMS)


El RDBMS de SQL Server es responsable de:

• Mantener relaciones entre los datos en una base de datos.


• Asegurar el correcto almacenamiento de los datos y que las reglas
definidas para las relaciones entre datos no sean violadas.
• Recuperar datos a un punto de consistencia conocida, en el caso
de que el sistema falle.

Unidad 1 -1- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

Modelos de almacenamiento de datos.


SQL Server administra bases de datos OLTP y OLAP.

Bases de datos OLTP. Los datos en una base de datos OLTP están
generalmente organizados en tablas relacionales para reducir la
información redundante y aumentar la velocidad de actualización de
datos. SQL Server permite que varios usuarios realicen transacciones y
hagan cambios en los datos en tiempo real simultáneamente en bases
de datos OLTP. Ejemplos de este tipo de bases de datos son los sistemas
de transacciones bancarias y los sistemas de emisión de reservaciones y
boletos de avión.

Bases de datos OLAP. La tecnología OLAP organiza y resume largas


cantidades de datos con el fin de que los analistas puedan evaluarlos
rápidamente en tiempo real. SQL Server 2000 y sus servicios de análisis
organizan estos datos para dar soporte a un amplio panorama de
soluciones innovadoras, desde la creación de reportes corporativos y su
análisis, hasta el soporte y modelado para la toma de decisiones.

Aplicaciones de cliente
Los usuarios acceden a SQL Server y a sus servicios de análisis a través
de aplicaciones de cliente escritas de forma separada, estas aplicaciones
acceden a SQL utilizando:
Transact-SQL. Este lenguaje de consulta, es una versión de lenguaje
de consulta estructurado (SQL), es el principal lenguaje que consulta y
programa bases de datos que utilizan los usuarios de SQL.
XML. Este formato retorna datos de consultas y procedimientos
almacenados utilizando URLs o plantillas con el protocolo de
transferencia de hipertexto (HTTP). También puede utilizar XML para
insertar, eliminar y actualizar valores en una base de datos.
MDX. La sintaxis MDX define objetos multidimensionales y consultas
que manipulan datos multidimensionales en base de datos OLAP.
OLE DB y ODBC APIs. Los clientes de aplicaciones utilizan OLE DB y
abren la conectividad de bases de datos (ODBC), programando
interfases de aplicación (APIs) para enviar comandos a una base de
datos. Comandos que usted puede enviar a través de APIs utilizando el
lenguaje Transact-SQL.

Unidad 1 -2- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

ActiveX Data Objects y ActiveX Data Object (Multidimensional)


Microsoft ActiveX Data Objects (ADO) y ActiveX Data Objects
(Multidimensional) (ADO MD) cubre OLE DB para utilizar en lenguajes
como Microsoft Visual Basic, Visual Basic para aplicaciones, Active
Server Page, y Microsoft Internet Explorer Visual Basic Scripting. Puede
utilizar ADO para acceder a datos en bases de datos OLTP. Puede utilizar
ADO MD para acceder a datos en Servicios de Análisis de datos.
English Query. Esta aplicación proporciona una API automática que
permite a los usuarios utilizar el lenguaje natural, para hacer preguntas
o escribir sentencias complejas en Transact-SQL o sentencias MDX de
información en una base de datos. Por ejemplo, los usuarios pueden
preguntar, “¿Cuál es el total de ventas de la región 5?”.

Componentes Cliente-Servidor

La arquitectura cliente-servidor
SQL Server utiliza arquitectura cliente-servidor para separar las cargas
de trabajo en tareas que se puedan ejecutar en computadoras servidor y
tareas que se puedan ejecutar en computadoras cliente:
• El cliente es responsable de la lógica de trabajo y la
representación de datos para el usuario. El cliente, típicamente se
ejecuta en una o más computadoras, pero también se puede
ejecutar en la computadora servidor junto con SQL Server.
• SQL Server administra las bases de datos y localiza recursos
disponibles de servidor, tales como memoria, ancho de banda de
redes y operaciones de disco entre otros requerimientos.

Nota: En este curso, el término cliente por sí mismo se refiere a una


aplicación del cliente.

Componentes del cliente


Los componentes de cliente en la arquitectura de comunicación
incluyen:
Aplicación cliente. Una aplicación cliente envia sentencias Transact-
SQL y recibe resultados.
Bases de datos API. Las bases de datos API (OLE, DB, ODBC) utilizan
un proveedor, driver o DLL para enviar las sentencias de Transact SQL y
recibir los juegos de resultados. Es en general una interfase que la
aplicación usa para enviar las solicitudes a SQL Server, procesar los
resultados y enviarlos de regreso.
Client Net-Library. Client-Net library administra las conexiones de red
y el enrutamiento para clientes. Este es un componente del software de
comunicación que empaqueta las consultas a la base de datos y los
resultados para la transmisión con un protocolo de red apropiado.

Unidad 1 -3- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

Componentes de servidor
Los componentes de servidor en la arquitectura de comunicación
incluyen:

Server Net-Libraries. SQL Server puede monitorear múltiples Net –


Libraries concurrentemente. Client Net-Library debe coincidir
correctamente con alguna de las Server Net-Libraries para establecer la
comunicación exitosamente. SQL Server soporta protocolos de red tales
como TCP/IP, Named Pipes, NWLink, IPX/SPX, etc.
Open Data Services. Open Data Services logra que los servicios de
SQL Server de procesamiento de datos se muestren al cliente de forma
transparente, proveyendo interfaces de trabajo en red. Este es un
componente de SQL que administra conexiones de redes, envía
solicitudes del cliente a SQL Server para su procesamiento y el regreso
de resultados y réplicas a los clientes.
Relational Engine. La máquina relacional analiza sentencias SQL,
optimiza y ejecuta planes, procedimientos de definición de lenguaje de
datos (DDL) y otras sentencias, refuerza la seguridad.
Storage Engine. La máquina de almacenamiento administra archivos y
el correcto uso del espacio en ellos, crea y escribe datos, administra los
buffer de datos y la entrada/salida física, controla la concurrencia,
realiza operaciones de inicio de sesión y operaciones de recuperación,
implementa funciones de chequeo de consistencias, respaldo y
recuperación.

El proceso de comunicación cliente-servidor


El siguiente procedimiento utiliza una consulta para ilustrar una
comunicación típica cliente-servidor:

1. Una aplicación cliente envía una consulta. El cliente llama a la API


de la base de datos y pasa la consulta.
2. El cliente Net-Library llama a un proceso de comunicación
Windows (IPC) para enviar un paquete de protocolo de red a un
servidor Net-Library utilizando la pila del protocolo de red del
sistema operativo. El apropiado servidor Net-Library extrae los
paquetes TDS de los paquetes de protocolo de red y pasa los
paquetes TDS para abrir los servicios de datos.
3. Open Data Services extrae la consulta de los paquetes y la pasa a
la máquina relacional. La máquina relacional compila la consulta
en un plan de ejecución optimizado y lo ejecutan la máquina
relacional con la máquina de almacenamiento utilizando interfaces
OLE DB:
4. La máquina de almacenamiento transfiere los datos que satisfacen
la consulta desde la base de datos hacia el buffer de salida y
después hacia la máquina relacional. La maquina relacional

Unidad 1 -4- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

combina las filas de resultados para obtener el juego de resultados


final y lo pasa a Open Data Services.

Unidad 1 -5- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

5. Open Data Services empaqueta el juego de resultados y lo regresa


a la aplicación Cliente utilizando Server Net-Library, el protocolo
de red óptimo, client Net-Library, y la API de la base datos. El
resultado puede ser obtenido en formato XML.

Servicios de SQL Server


SQL incluye cuatro servicios, los cuales son instalados en forma
predeterminada con cada nueva instalación: MSSQL Server Service, SQL
Server Agent Service, Microsoft Distributed Transaction Coordinator y
Microsoft Search.

MSSQL Server Service


MSSQL Server Service es el motor de base de datos. Es el componente
que procesa todas las sentencias Transact SQL y administra los archivos
que contienen las bases de datos en el servidor.
• Localiza los recursos del sistema.
• Previene problemas de lógica tales como tiempos de respuesta
entre usuarios que quieren actualizar los mismos datos al mismo
tiempo.
• Asegura la consistencia e integridad.

SQLServerAgent Service
SQLServerAgent Service trabaja en conjunto con SQL Server para crear y
administrar alertas o tareas multiservicios y operadores. Considere lo
siguiente acerca de SQL Server Agent Service:

• Las alertas proporcionan información acerca del status de los


procesos, como y cuando se completa una tarea o cuando ocurre
un error.
• SQL Server Agent Service incluye la creación de tareas y una
máquina que planea qué tareas se realizarán automáticamente.
• SQL Server Agent Service puede enviar mensajes de correo
electrónico, o iniciar otra aplicación cuando ocurre una alerta. Por
ejemplo, puede configurar una alerta que se activará cuando una
base de datos o registro de transacción está casi lleno o cuando se
ha completado un respaldo de base de datos.

Microsoft Distributed Transaction Coordinator


MS DTC permite a los clientes incluir diferentes fuentes de datos en una
misma transacción, así como la completa y permanente actualización de
éstas.

Microsft Search

Unidad 1 -6- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

Microsoft Search es una máquina de texto completo que se ejecuta


como un servicio de Windows. Incluye soporte completo de escritura de
texto para la creación de consultas.

Instancias múltiples de SQL Server


Múltiples instancias de SQL Server pueden ejecutarse simultáneamente
en la misma computadora.
Cada instancia opera como si se estuviera ejecutándo en un servidor
separado. Cuando se especifica el nombre de la computadora en la que
se trabaja, usted estará trabajando con la instancia predeterminada. Es
necesario especificar el parámetro equipo _ nombre/instancia_nombre
para conectarse a una determinada instancia.

Integración SQL Server


SQL Server incluye componentes cliente-servidor que pueden ser
integrados con varios Sistemas operativos Microsoft, incluyendo
Windows y otros servidores de aplicaciones Microsoft.

Integrando SQL Server con los sistemas operativos


Componentes Cliente
Los componentes Cliente de todas las ediciones de SQL Server 2000,
excepto SQL Server Windows CE Edition, corren en todas las ediciones
de Windows.

Componentes Servidor.
Varias ediciones de SQL Server permiten ejecutarse en todas las
ediciones de Windows, Windows NT 4.0 Terminal Server no permite
ejecutar SQL Server 2000.

Navegadores de Internet y aplicaciones cliente de terceros


Navegadores de Internet y aplicaciones cliente de terceros
ejecutándose en varios sistemas operativos, también pueden acceder a
SQL Server.

Integrando SQL Server con Windows


SQL Server esta totalmente integrado con Windows tomando ventaja de
muchas de sus características.

Active Directory. Los servidores y sus atributos son registrados


automáticamente en el Microsoft Active Directory al iniciarse el servidor,
por medio del cuál, los usuarios pueden localizar servidores específicos
SQL Server.

Unidad 1 -7- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

Seguridad. SQL Server está integrado al sistema de seguridad de


Windows. Esta integración permite al usuario acceder a SQL Server y
Windows con su cuenta y contraseña de usuario. Se incluyen
características de encriptación y seguridad de red, incluyendo soporte
Kerberos. SQL provee seguridad propia para clientes que necesitan
acceder a SQL Server sin autenticación de Windows.

Soporte multiprocesamiento. SQL Server soporta las capacidades de


multiprocesamiento simétrico de Windows. SQL Server automáticamente
toma ventaja de cualquier procesador adicional que sea instalado en la
computadora Servidor.

Microsoft Event Viewer. SQL Server escribe mensajes en los registros


de seguridad y eventos de las aplicaciones de Windows, proveyendo un
mecanismo consistente de visualización y rastreo de problemas.

Windows Server System Monitor. SQL Server envía parámetros de


desempeño a Windows Server System Monitor, habilitando el monitoreo
del desempeño de SQL Server en el sistema.

Microsoft Internet Information Services. SQL Server utiliza


Microsoft Internet Information Services (IIS) con el fin de que los
navegadores de Internet puedan acceder a las bases de datos de SQL
Server utilizando el protocolo HTTP.

Windows Clustering. Es un componente de Windows Advanced Server


que soporta la conexión de dos servidores o nodos, en conjunto para
mejorar la disponibilidad y maniobrabilidad de los datos y las
aplicaciones.

Integrando SQL Server con otras aplicaciones Microsoft


Server
La siguiente tabla enlista algunas aplicaciones comúnmente usadas que
funcionan bien o utilizan SQL Server.

Aplicación Server Descripción


Microsoft Windows 2000 with Provee conectividad rápida y
Solution Accelerator (SA) for the segura a Internet, incluye Firewall
Internet Store Front y caché Web de alto desempeño.
Microsoft Exchange Server Permite a SQL Server enviar
mensajes de correo electrónico
utilizando Exchange Server o
cualquier otra aplicación de
mensajería.
Microsoft Host Integration Server Vincula ambientes IBM

Unidad 1 -8- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

2000 ejecutando el protocolo del


sistema de arquitectura de red
(SNA).
Microsoft Systems Manager Administra software, hardware e
Server inventarios y utiliza SQL para
almacenar las bases de datos.

Unidad 1 -9- www.icam.com.mx


Guía rápida SQL Server 2000 División Empresas

Bases de datos de SQL Server


Tipos de bases de datos
Cada SQL Server tiene dos tipos de bases de datos: Bases de datos del
sistema y bases de datos de usuario. Las bases de datos de sistema
almacenan información sobre SQL Server como un todo. SQL Server
utiliza bases de datos de sistema para operar y administrar el sistema.
Una base de datos de usuario es, una base de datos que el usuario crea.

Cuando SQL Server es instalado, SQL Server Setup crea las bases de
datos del sistema y bases de datos de ejemplo. La base de datos de
distribución es instalada cuando se configura SQL Server para
actividades de replicación. La siguiente tabla describe la aplicación de
cada base de datos.

Base de datos Descripción


Master Controla las bases de datos de
usuarios y la operación de SQL
Server como un todo, llevando un
registro de la información como
lo son las cuentas de usuario,
variables de ambiente
configurables y mensajes de
error del sistema.
Model Provee una plantilla o prototipo
para nuevas bases de datos.
Tempdb Provee un área de
almacenamiento para tablas
temporales y otras necesidades
de almacenamiento temporal de
trabajo.
Msdb Provee un área de
almacenamiento para
información de actividades e
historial.
Distribution Almacena datos de historial y
transacciones utilizados en
replicación.
Pubs Base de datos de muestra como
herramienta de aprendizaje.
Northwind Base de datos de muestra como
herramienta de aprendizaje.
User1 Identifica una base de datos
definida por un usuario.

Unidad 1 - 10 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Objetos de base de datos


Una base de datos es una colección de datos, tablas y otros objetos. Los
objetos de la base de datos ayudan a estructurar los datos y a definir los
mecanismos de integridad. La siguiente tabla describe los objetos de
una base de datos de SQL Server.

Objeto de base de Descripción


datos
Tabla Define a una colección de filas que tienen
columnas asociadas.
Tipo de dato Define los valores permitidos para los datos
en una columna o variable.
SQL Server provee algunos tipos de datos
definidos por el sistema. Pueden crearse
tipos de datos definidos por el usuario.
Restriccion Define reglas sobre los valores permitidos
en las columnas y es el mecanismo
estándar que asegura la integridad de
datos.
Default Define el valor que es almacenado en la
columna si ningún otro valor es
suministrado.
Regla Contiene información que define los valores
válidos que pueden ser almacenados en
una columna o tipo de dato.
Índice Es una estructura de almacenamiento que
provee rápido acceso a la información para
su recuperación y asegura la integridad.
Vista Provee una forma de visualizar datos de
una o más tablas o vistas en una base de
datos.
Función definida por el Puede regresar ya sea un valor escalar o
usuario una tabla. Las funciones son utilizadas para
encapsular en código una lógica
frecuentemente empleada.
Procedimiento Es una colección definida de sentencias de
almacenado Transact SQL precompiladas que se
ejecutan juntas.
Desencadenador Es una forma especial de procedimiento
almacenado que se ejecuta
automáticamente cuando el usuario
modifica datos en una tabla o vista.

Unidad 1 - 11 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Haciendo referencia a Objetos de SQL Server


Es posible hacer referencia a objetos de SQL Server de muchas formas.
Puede especificar el nombre completo del objeto (nombres calificados
por completo), o especificar sólo una parte del nombre del objeto y
permitir a SQL Server determinar el resto del nombre desde el contexto
en el cual esta trabajando.

Nombres completos calificados


El nombre completo de un objeto de SQL Server incluye cuatro
identificadores: el nombre del servidor, nombre de la base de datos,
nombre del propietario y nombre del objeto en el siguiente formato:

Servidor.database.propietario.objeto

Un nombre de objeto que especifica las cuatro partes es conocido como


Nombre completo calificado. Cada objeto que usted crea en SQL Server
debe ser único. Por ejemplo, puede tener dos tablas Orders en la
misma base de datos mientras que éstas pertenezcan a diferentes
propietarios. También, los nombres de columnas deben ser únicos en
una tabla o vista.

Nombres parciales especificados


Cuando se hace referencia a un objeto, no siempre es necesario que
especifique el servidor, la base de datos y el propietario. Estos
identificadores intermedios pueden ser omitidos, siempre y cuando sus
posiciones sean indicadas periódicamente.

La siguiente lista contiene formatos validos para nombres de objetos:

Servidor.base de datos.propietario.objeto
base de datos.propietario.objeto
base de datos.objeto
propietario.objeto
objeto

Cuando no se especifican las diferentes partes del nombre, SQL Server


utiliza los siguientes valores predeterminados:

• El servidor predeterminado para la instancia actual en el servidor


local.
• La base de datos predeterminada para la base de datos actual.
• El propietario predeterminado para el nombre de usuario en la
base de datos específica asociada con el inicio de sesión de la
conexión actual.

Unidad 1 - 12 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Ejemplo
El siguiente ejemplo crea la tabla OrderHistory en la base de datos
Northwind.

CREATE TABLE Northwind.dbo.OrderHistory


(OrderID int,
ProductID int,
UnitPrice money,
Quantity int,
Discount decimal)

La mayoría de las referencias a objetos utilizan nombres de tres partes,


y de forma predeterminada el servidor local. Los nombres con cuatro
partes son generalmente utilizados para consultas distribuidas o
llamadas a procedimientos almacenados remotos.

Tablas del sistema


SQL Server almacena cierta información, llamada Metadato, sobre el
sistema y los objetos en las bases de datos para una instancia de SQL
Server. Los Metadatos son información sobre los datos.

Los Metadatos incluyen información sobre las propiedades de los datos,


tales con el tipo de datos en una columna (numeric, text, etc…), o el
tamaño de la columna. Puede también ser información sobre la
estructura del dato o información que especifique el diseño de los
objetos.

Tablas del sistema. La información sobre los datos en las tablas del
sistema incluye información sobre la configuración y la definición de
todas las bases de datos y los objetos de la base de datos en una
instancia de SQL Server. Los usuarios no deberán modificar
directamente ninguna de las tablas de sistema.

Catálogo de bases de datos. Cada base de datos (incluyendo a


master), contiene una colección de tablas de sistemas que almacenan
metadatos sobre esa base de datos específica. Esta colección de tablas
de sistema es el catálogo de base de datos el cual contiene la definición
de todos los objetos de la base de datos y los permisos establecidos.

Catálogo del sistema. El catálogo del sistema, que se encuentra sólo


en la base de datos master, es una colección de tablas de sistema que
almacena metadatos sobre el sistema completo y todas las demás bases
de datos.

Unidad 1 - 13 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

La mayoría de las tablas de sistema comienzan con el prefijo sys. La


siguiente tabla identifica algunas tablas de sistema frecuentemente
utilizadas:

Tabla de Base de Función


sistema datos
Syslogins Master Contiene una fila por cada cuenta
de inicio de sesión que se puede
conectar a SQL Server.
Sysmessages Master Contiene una fila por cada error
del sistema o alerta que SQL
pueda regresar.
Sysdatabases Master Contiene una fila por cada base
de datos en SQL Server.
Sysusers All Contiene una fila por cada usuario
de Windows Server o grupo de
Windows Server.
Sysobjects All Contiene una fila por cada objeto
en una base de datos.

Recuperación de metadatos
Cuando escribe aplicaciones que recuperan metadatos de tablas de
sistema, deberá utilizar procedimientos almacenados de sistema o
funciones de sistema.

Cuidado: no altere directamente las tablas de sistema. Cambiar una


tabla de sistema hará imposible que SQL Server se recupere
adecuadamente de una caída en el sistema.

Procedimientos almacenados de sistema


Para hacer más fácil el procedimiento de obtención de información sobre
el estado del servidor y los objetos de la base de datos. SQL Server
provee una colección de consultas preescritas llamadas Procedimientos
almacenados de sistema.

Los nombres de la mayoría de los procedimientos almacenados


comienzan con el prefijo sp_. La siguiente tabla describe tres de estos
procedimientos comúnmente usados.

Procedimiento Descripción
almacenado de sistema
Sp_help [object_name] Provee información de un objeto de la
base de datos especificado.
Sp_helpdb Provee información de la base de datos
[database_name] especificada.

Unidad 1 - 14 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Sp_helpindex[table_name] Provee información sobre el índice de la


tabla especificada.
Ejemplo
El siguiente ejemplo ejecuta un procedimiento almacenado de sistema
que obtiene información de la tabla Employees.
Para ejecutar un procedimiento almacenado anteponga el comando
EXEC.

EXEC sp_help Employees

Funciones de sistema y metadatos


Estas proveen un método para consultar tablas de sistema desde una
sentencia Transact-SQL. La siguiente tabla describe las funciones de
sistema comúnmente usadas y la información correspondiente que
regresan.

Función de Parámetro Resultado


sistema suministrado
DB_ID Nombre Regresa la ID de la base de datos
USER_NAME ID Regresa el nombre de usuario
COL_LENGTH Column Regresa el ancho de columna
STATS_DATE Index Regresa la fecha en la cual las
estadísticas para el índice
especificado fueron actualizadas
DATALENGTH Data type Regresa la longitud actual de una
expresión de cualquier tipo de
dato

Ejemplo 1
El siguiente ejemplo utiliza una función de sistema en una consulta que
recupera el nombre de usuario para el usuario con ID = 10.
Para ejecutar una función de sistema, anteponga en comando SELECT.

SELECT USER_NAME(10)

Vista – Esquema de información


Una Vista - Esquema de información contiene metadatos de todos los
objetos de datos almacenados en una base de datos en particular. La
siguiente tabla describe las Vistas-Esquema de información
comúnmente utilizadas.

Vista – Esquema de información Descripción

INFORMATION_SCHEMA.TABLES Muestra las tablas de la


base de datos
INFORMATION_SCHEMA.COLUMNS Información de las

Unidad 1 - 15 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

columnas definidas en la
base de datos
INFORMATION_SCHEMA.TABLES_PRIVILEG Información de seguridad
ES para las tablas en la base
de datos.

Unidad 1 - 16 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Ejemplo 2
El siguiente ejemplo utiliza una Vista – Esquema de información para
recuperar una lista de todas las tablas en una base de datos.
Anteponga el comando SELECT * FROM para utilizar Vista – Esquema de
información.

SELECT * FROM INFORMATION_SCHEMA.TABLES

Seguridad en SQL Server


Autenticación de inicio de sesión
Es indispensable que el usuario tenga una cuenta de usuario para
conectarse a SQL Server. SQL Server reconoce dos mecanismos de
autenticación: La autenticación de Windows y la autenticación de SQL
Server. Cada uno de ellos tiene un tipo de cuenta de inicio de sesión
diferente.

Autenticación de Windows
Cuando se utiliza la autenticación de Windows, es una cuenta de
Windows Server la que permite acceder al SQL Server. El usuario no
provee una cuenta de inicio de sesión de SQL Server cuando se conecta.
El administrador de SQL Server deberá definir si el inicio de sesión será
válido por medio de una cuenta de Windows Server o por medio de una
cuenta de SQL Server.

Autenticación de SQL Server


Cuando se utiliza la autenticación de SQL Server, el Administrador de
SQL Server definirá un nombre y contraseña para la cuenta de inicio de
sesión. Este nombre y contraseña deberán ser suministrados para
conectarse a SQL Server.

Modo de autenticación
Cuando se ejecuta SQL Server en Windows Server, el administrador del
sistema puede especificar uno de los dos tipos de autenticación
siguientes:

Modo de autenticación Windows. Sólo la autenticación de Windows


es permitida, el usuario no puede especificar una cuenta de inicio de
sesión de SQL Server.

Modo mixto. Los usuarios pueden conectarse a SQL Server con


Autenticación de Windows o autenticación de SQL Server.

Unidad 1 - 17 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Cuentas de usuario y funciones de bases de datos


Después de que los usuarios han sido identificados por Windows o SQL
Server y se les ha permitido iniciar sesión en SQL Server, éstos tendrán
una cuenta de usuario en la base de datos. Las cuentas de usuario y las
funciones identifican al usuario dentro de la base de datos, controlan la
propiedad de los objetos y permisos para ejecutar sentencias.

Base de datos de cuentas de usuarios


Las cuentas de usuario que aplican permisos de seguridad son usuarios
de o grupos de Windows o cuentas de inicio de sesión de SQL Server.
Las cuentas de usuario son especificadas a una base de datos.

Funciones
Las funciones le permiten acomodar a los usuarios en una unidad
independiente a la cuál le pueda aplicar permisos. SQL Server provee
roles predefinidos de servidor y bases de datos para funciones comunes
de administración, con los cuáles podrá otorgar de forma fácil una
selección de permisos administrativos para un usuario en particular.

Tipos de funciones
SQL Server permite tres tipos de roles para ayudar a administrar
permisos: rol establecido de servidor, rol establecido de bases de datos
y roles de bases de datos definidos por el usuario.

Funciones del servidor


Este tipo de función provee grupos de privilegios administrativos a nivel
de servidor. Son manejadas independientemente de las bases de datos
de usuario a nivel de servidor. La siguiente tabla describe las funciones
del servidor en SQL Server 2000.

Rol Permisos
Creador de base de datos Crear y alterar bases de datos
(dbcreator)
Administradores de Administrar archivos de disco
disco(diskadmin)
Administradores de Administrar procesos de SQL Server
procesos/processadmin)
Administradores de seguridad Administración y auditoria de inicios de sesión
(securityadmin)
Administradores de servidor Configuraciones avanzadas de servidor
(serveradmin)
Administradores de instalación Instalación de replicación
(setupadmin)
Administradores de Realizar cualquier actividad
sistema(sysadmin)
Administradores de BULK Ejecutar la sentencia BULK INSERT
(bulkadmin)

Unidad 1 - 18 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Funciones de acceso a base de datos


Estas funciones proveen agrupaciones de privilegios administrativos a
nivel de la base de datos, la siguiente tabla describe algunas de estas
funciones.

Función Permisos
Public Mantiene todos los permisos
predeterminados para los usuarios de la base
de datos
Db_owner Realiza cualquier rol o actividad en la base de
datos
Db_accessadmin Agrega o elimina usuarios, grupo o roles de la
base de datos
Db_dbddladmin Agrega, modifica o elimina objetos de la base
de datos
Db_securityadmin Asigna sentencias y permisos a objetos
Db_backupoperator Respalda bases de datos
Db_datareader Lee datos de cualquier tabla
Db_datawriter Escribe, cambia o elimina datos en todas las
tablas
Db_denydatareade No puede leer datos de ninguna tabla
r
Db_denydatawriter No puede cambiar datos de ninguna tabla

Funciones de bases de datos definidas por el usuario


Es posible crear su propio grupo de funciones que representen el trabajo
realizado por un grupo específico de trabajadores en su organización, de
esta manera no tendrá que delegar y revocar permisos persona por
persona. Si la actividad de una función cambia, puede fácilmente
cambiar los permisos de cada función y aplicarlas automáticamente a
cada miembro del grupo con esa función.

Validación de permisos
Dentro de cada base de datos, los permisos y las funciones se asignan a
cuentas de usuario para realizar ciertas acciones. SQL Server acepta
comandos después de que un usuario ha entrado con éxito a la base de
datos.

SQL Server realiza los siguientes pasos cuando está validando los
permisos:
1. Cuando algún usuario realiza una acción, como la ejecución de una
sentencia Transact SQL, el cliente envía la sentencia Transact SQL
a SQL Server.
2. Cuando SQL Server recibe la sentencia Transact SQL, revisa que el
usuario tenga permiso para ejecutar la sentencia.
3. SQL Server realiza una de dos opciones:

Unidad 1 - 19 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

a. Si el usuario no tiene los permisos adecuados, SQL Server


regresa un error.
b. Si el usuario tiene los permisos adecuados, SQL Server
realiza la acción.

Trabajando con SQL Server


El trabajar con SQL Server involucra administrar e implementar bases de
datos, el desarrollo de una aplicación o la selección de su arquitectura y
su diseño con SQL Server.

Administrando bases de datos de SQL Server


SQL Server provee utilidades gráficas y de línea de comandos para
administrarlo, así como ayuda para asistir al usuario.

Tareas administrativas comunes


Administrar una base de datos de SQL Server incluye:
• Instalar, configurar y asegurar SQL Server
• Crear bases de datos
• Administrar y utilizar las bases de datos.

SQL Server Enterprise Manager (Administrador corporativo)


SQL Server Enterprise Manager es la consola de administración de
Microsoft (MMC) para SQL Server, la cual es una interfase de usuario
para la administración de las aplicaciones de servidor de Microsoft.

Herramientas administrativas y asistentes de SQL Server


SQL Server ofrece las siguientes herramientas administrativas y
asistentes para asistirlo en aspectos particulares de la administración:

Herramienta gráfica Propósito


Herramienta de red de Utilidad para la administración de las
cliente configuraciones de cliente.
Herramienta de red de Utilidad para la administración y
servidor configuración del servidor.
Analizador Utilidad para la captura y registro
continúo de la actividad del servidor y
capacidades de auditoria.
Analizador de consultas Herramienta gráfica para el análisis de
consultas, proporciona información
estadística y administra múltiples
consultas en ventanas deferentes de
manera simultánea.
Administrador corporativo Utilidad gráfica para comenzar, detener
y pausar los servicios de SQL Server
SQL Server Setup Aplicación para instalar y configurar

Unidad 1 - 20 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

SQL Server
Asistentes de SQL Server Colección de herramientas que guían a
los usuarios a través de tareas
complejas.

Herramientas de la línea de comandos de SQL Server


SQL Server ofrece las siguientes herramientas administrativas de línea
de comandos que le permiten escribir Sentencias de Transact SQL y
ejecutar archivos de Scripts.

Utilidad Descripción
Osql Utilidad que usa Conectividad Abierta de Bases de
Datos (ODBC) para comunicarse con SQL Server.
Siendo usado en primer lugar, para ejecutar archivos
por lotes que contengan una o más sentencias SQL.
Bcp Utilidad para la importación y exportación de datos
de archivos de usuario hacia y desde SQL Server.

La Ayuda de SQL Server y los libros en pantalla


SQL Server ofrece tres tipos de ayuda. La siguiente tabla describe cada
uno de los tipos.

Tipo de Ayuda Descripción


Herramientas de ayuda Las herramientas de SQL Server
proporcionan ayuda en la interfaz. Clic en
el botón Ayuda o en el comando del menú
Ayuda
Ayuda de Transact-SQL Cuando Utiliza el Analizador de consultas,
seleccione el nombre de alguna sentencia
y presione SHIFT+F1.
Documentación SQL Server Los libros en pantalla proporcionan acceso
en línea a la documentación de SQL
Server.

Implementando una base de datos en SQL Server


Independientemente de la complejidad y el tamaño de la base de datos,
implementarla generalmente involucra:

• Diseñar la base de datos de tal forma que la aplicación utilice el


hardware eficientemente y permita el crecimiento futuro.
Identificar y modelar los objetos de la base de datos y la lógica de
la aplicación, especificar los tipos de información para cada objeto
y el tipo de relaciones.

Unidad 1 - 21 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

• Creando la base de datos, sus objetos, incluir tablas, mecanismos


de integridad de datos, objetos de suministro y salida de datos
(comúnmente son procedimientos), índices y seguridad
apropiados.
• Probar y afinar el funcionamiento de la aplicación y de la base de
datos, asegurándose que las funciones importantes se realizan
rápida y correctamente.
• Planear el despliegue que tendrá la base de datos, esto incluye
analizar las cargas de trabajo recomendadas para una
configuración de trabajo óptima de la base de datos en SQL
Server.

Seleccionando una arquitectura de aplicaciones para SQL


Server

Planear el diseño de una base de datos requiere del conocimiento de las


funciones del negocio que se quieren modelar así como también conocer
los conceptos y características de las bases de datos que deseen
emplearse para representar las funciones del negocio en la aplicación de
la base de datos.

Arquitectura de Software
Es posible utilizar una de varias de las arquitecturas para implementar
aplicaciones cliente/servidor. De cualquier forma, La arquitectura de
aplicación en capas siempre ofrecerá flexibilidad y una amplia gama de
opciones de administración. Las aplicaciones de software pueden
dividirse en tres capas lógicas las cuales pueden residir físicamente en
uno o más servidores.

Capa lógica Descripción


Presentación Incluye la lógica de presentación de datos y
aplicaciones para los usuarios. Esta capa es
generalmente implementada en una computadora
cliente.
Negocios Incluye reglas de lógica y estatutos del negocio
(capa generalmente involucrada con SQL Server).
Data Incluye definiciones de la base de datos, lógica de
integridad de datos, procedimientos almacenados
y otras operaciones que están cercanamente
asociadas con datos (capa generalmente
involucrada con SQL Server).

Diseño de la Arquitecturas
Las opciones típicas de despliegue de aplicaciones incluyen:

Unidad 1 - 22 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Intelligent Server (2-Tier) La mayoría del procesamiento ocurre en el


servidor mientras que el cliente maneja los servicios de presentación.

Intelligent Client (2-Tier) La mayoría del procesamiento ocurre en el


cliente, mientras que el servidor maneja los servicios de datos.

N-Tier El procesamiento es dividido entre el servidor de bases de datos,


el servidor de aplicaciones y el cliente.

Internet El procesamiento esta dividido en tres capas, con los servicios


de negocios y presentación residiendo en el servidor Web y los clientes
utilizando navegadores de Internet. SQL Server puede soportar cualquier
cliente que tenga un navegador y no se requiere que el software sea
mantenido en el cliente.
Diseñando aplicaciones utilizando API´s en bases de datos

Puede desarrollar aplicaciones de bases de datos que accedan a SQL


Server mediante una API (interfase de programa de aplicación). Una API
contiene dos partes:

• Sentencias de lenguaje Transact SQL enviadas a la base de datos.


• Un conjunto de funciones o interfaces orientadas a objetos y
métodos usados para enviar sentencias Transact SQL a la base de
datos y procesar los resultados regresados por la misma.

Unidad 1 - 23 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Práctica A: panorama general de SQL Server


Después de completar esta práctica, será capaz de ver el contenido de
la ayuda, hacer uso del índice y buscar información en la ayuda de
instalación de Microsoft SQL Server, así como guardar la posición de la
información en la etiqueta Favoritos.

Ejercicio 1
Utilizando la ayuda de SQL Server

En este ejercicio, utilizará la ayuda de SQL Server para recuperar


información relativa a la arquitectura de SQL Server.

Para ver el contenido de la ayuda de SQL Server

1. Inicie sesión en el dominio NWTraders utilizando la información de


la siguiente tabla.

Opción Valor
Nombre de SQLAdminx (donde x corresponde al nombre
usuario de su computadora el cual fue especificado en
el dominio nwtraders.msft
Contraseña password

2. Inserte el disco compacto con la etiqueta Microsoft SQL Server


2000 en el drive CD-ROM, cuando el cuadro de diálogo Microsoft
SQL Server 2000 Developer Edition aparezca, haga clic en
examinar ayuda de instalación/actualización.
3. En la consola de árbol, revise la organización de la ayuda de
instalación.
4. En la consola de árbol, expanda Temas relacionados y haga clic
en arquitectura de bases de datos.
5. Revise la información en el panel de Detalles.

Utilizando el índice de la ayuda de instalación de SQL Server


para obtener información sobre la arquitectura de SQL Server.

1. Haga clic en la ficha Índice, escriba la palabra Arquitectura y


después haga doble clic en Arquitectura de base de datos
cliente -servidor .
2. Haga clic en la ficha de Favoritos y después clic en Agregar.
3. Haga clic en la etiqueta Contenido, después en la consola de
árbol, expanda Arquitectura de bases de datos, expanda
Componentes lógicos de una base de datos, y observe los
temas disponibles.

Unidad 1 - 24 - www.icam.com.mx
Guía rápida SQL Server 2000 División Empresas

Buscando información relativa a una palabra o frase en la ayuda


de instalación de SQL Server.

En este procedimiento, utilizará la ayuda de instalación SQL Server para


buscar información sobre la arquitectura de SQL Server

1. Haga clic en la etiqueta Busqueda, teclee arquitectura y


después haga clic en Buscar.
2. Haga clic en Arquitectura de bases de datos.
3. Haga clic en cualquier parte del panel detalles y presiones CTRL +
F.
4. En la caja Buscar, escriba tempdb y haga clic en Buscar
siguiente.
5. Haga clic en Cancelar y cierre la ventana de diálogo de ayuda de
instalación de SQL Server.
6. Cierre la ventana de dialogo de Microsoft SQL Server 2000
Developer Edition.

Unidad 1 - 25 - www.icam.com.mx

Anda mungkin juga menyukai