Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Módulo 3: Introducción a
Microsoft SQL Server
Contenido
Introducción 3
Introducción
Este módulo proporciona una introducción de alto nivel a las plataformas, la arquitectura, los
componentes y la seguridad de Microsoft® SQL Server™ 2000.
También identifica y define la terminología y los conceptos fundamentales de SQL Server. Este
módulo explica la integración de SQL Server con Microsoft Windows® 2000 y otras
aplicaciones de servidor de Microsoft. Concluye con una introducción a las actividades de
administración e implementación de bases de datos de SQL Server, como así también las
opciones de diseño de aplicaciones para SQL Server.
Objetivos
Describir SQL Server 2000 y las plataformas de sistemas operativos que acepta.
Describir la integración de SQL Server con Windows 2000 y otras aplicaciones de servidor.
Describir las bases de datos de SQL Server.
Describir la seguridad de SQL Server.
Módulo 3: Introducción a SQL Server 4
Utilice SQL Server para administrar dos tipos de bases de datos: proceso de transacciones en
línea (OLTP, Online Transaction Processing) y proceso analítico en línea (OLAP, Online
Analytical Processing). Normalmente, los distintos clientes tienen acceso a las bases de datos
mediante la comunicación a través de una red.
Puede escalar SQL Server para que utilice bases de datos de varios terabytes de tamaño, e
incluso, servidores y equipos portátiles de pequeñas empresas. Puede escalar SQL Server
hasta varios servidores mediante Organización por clústeres de Windows 2000.
Módulo 3: Introducción a SQL Server 5
Resultados
Resultados
Consulta OLTP
Consulta
OLAP
Puede utilizar SQL Server para realizar procesamiento de transacciones, almacenar y analizar
datos y crear nuevas aplicaciones.
SQL Server es una familia de productos y tecnologías que cumple los requisitos de
almacenamiento de datos de los entornos OLTP y OLAP. SQL Server es un sistema de
administración de bases de datos relacionales (RDBMS, Relational Database Management
System) que:
Administra el almacenamiento de datos para transacciones y análisis.
Responde a solicitudes de aplicaciones cliente.
Utiliza Transact-SQL, Lenguaje de marcado extensible (XML, Extensible Markup
Language), expresiones multidimensionales
(MDX, Multidimensional Expressions) u Objetos de administración distribuida de SQL (SQL-
DMO, SQL Distributed Management Objects) para enviar solicitudes entre un cliente y SQL
Server.
Bases de datos OLTP En una base de datos OLTP, los datos suelen estar organizados en
tablas relacionales para reducir la información redundante y aumentar la velocidad de las
actualizaciones. SQL Server permite que un gran número de usuarios realice transacciones y
modifique simultáneamente datos en tiempo real en bases de datos OLTP. Algunos ejemplos
de bases de datos OLTP serían sistemas de transacciones bancarias y de billetes de avión.
Bases de datos OLAP La tecnología OLAP organiza y resume grandes cantidades de datos,
de manera que un analista pueda evaluar los datos rápidamente en tiempo real. Analysis
Server de SQL Server 2000 organiza estos datos para permitir una amplia gama de soluciones
empresariales, desde informes y análisis corporativos hasta modelado de datos y ayuda a la
toma de decisiones.
Aplicaciones cliente
Los usuarios no tienen acceso a SQL Server y Analysis Server directamente, sino que utilizan
distintas aplicaciones cliente escritas para tener acceso a los datos. Estas aplicaciones tienen
acceso a SQL Server mediante:
English Query Esta aplicación proporciona una API de Automatización que permite a los
usuarios resolver preguntas en lenguaje natural, en lugar de escribir complejas instrucciones
Transact-SQL o MDX acerca de la información contenida en una base de datos. Esta aplicación
sólo funciona en inglés. Por ejemplo, los usuarios pueden hacer la pregunta “What are the total
sales for Region 5?” (¿cuáles son las ventas totales de la región 5?).
Módulo 3: Introducción a SQL Server 7
Componentes cliente-servidor
Aplicación
Aplicación cliente
cliente SQL
SQL Server
Server
Bibliotecas
Bibliotecas de
de red
red
del
del servidor
servidor
API
API de
de base
base de
de datos
datos
(OLE
(OLE DB,
DB, ODBC,
ODBC,
biblioteca Servicios
Servicios abiertos
abiertos
biblioteca de
de base
base de
de datos)
datos)
de
de datos
datos
Biblioteca
Biblioteca de
de red
red del
del cliente
cliente
Motor
Motor relacional
relacional
Cliente Servidor
Motor
Motor de
de
almacenamiento
almacenamiento
Procesador
Procesador
Memoria
Memoria Base de
datos local
SQL Server consta de componentes cliente y servidor que almacenan y recuperan datos. SQL
Server utiliza una arquitectura de comunicación por capas para aislar las aplicaciones de la red
y los protocolos subyacentes.
Esta arquitectura permite distribuir la misma aplicación en diferentes entornos de red.
Arquitectura cliente-servidor
SQL Server utiliza la arquitectura cliente-servidor para separar la carga de trabajo en tareas
que se ejecutan en equipos servidores y tareas que se ejecutan en equipos cliente:
SQL Server administra las bases de datos y asigna los recursos disponibles del
servidor (como la memoria, el ancho de banda de la red y las operaciones de disco)
entre las distintas solicitudes.
La arquitectura cliente-servidor permite diseñar y distribuir aplicaciones para mejorar una gran
variedad de entornos. Las interfaces de programación de los clientes proporcionan los medios
para que las aplicaciones se ejecuten en equipos cliente independientes y se comuniquen con
el servidor a través de la red.
Módulo 3: Introducción a SQL Server 8
Componentes de cliente
Aplicación cliente Una aplicación cliente envía instrucciones Transact-SQL y recibe conjuntos
de resultados. Para desarrollar una aplicación se utiliza una API de base de datos. La
aplicación no tiene conocimiento de los protocolos de red subyacentes que se utilizan para
comunicarse con SQL Server.
API de base de datos La API de base de datos (OLE DB, ODBC) utiliza un proveedor, un
controlador o un archivo DLL para pasar instrucciones Transact-SQL y recibir conjuntos de
resultados. Es una interfaz que una aplicación utiliza para enviar solicitudes a SQL Server y
procesar los resultados devueltos por SQL Server.
Biblioteca de red del cliente Una biblioteca de red del cliente administra las conexiones de
red y el enrutamiento en un cliente. Es un componente de software para comunicaciones que
empaqueta las solicitudes a la base de datos y los resultados para transmitirlos a través del
protocolo de red adecuado.
Componentes de servidor
Bibliotecas de red del servidor SQL Server puede supervisar varias bibliotecas de red
simultáneamente. La biblioteca de red del cliente debe coincidir con alguna de las bibliotecas
de red del servidor para que la comunicación sea correcta. SQL Server acepta protocolos de
red como TCP/IP, Canalizaciones con nombre, NWLink, IPX/SPX, VIA ServerNet II SAN, VIA
GigaNet SAN, Banyan VINES y AppleTalk.
Servicios abiertos de datos Servicios abiertos de datos hace que los servicios de datos
aparezcan ante un cliente como SQL Server al proporcionar una interfaz de red para el
tratamiento de los procesos de protocolo de red y las rutinas de servidor. Se trata de un
componente de SQL Server que controla las conexiones de red al pasar las solicitudes de los
clientes a SQL Server para su procesamiento, y devolver los resultados y las respuestas a los
clientes de SQL Server. Servicios abiertos de datos escucha automáticamente en todas
las bibliotecas de red que estén instaladas en el servidor.
Motor relacional El motor relacional analiza las instrucciones Transact-SQL, optimiza y ejecuta
planes de ejecución, procesa el Lenguaje de definición de datos (DDL, Data Definition
Language) y otras instrucciones, y aplica la seguridad.
1 Aplicación
Aplicación cliente
cliente SQL
SQL Server
Server
Consulta
Consulta Resultado
Resultado Bibliotecas
Bibliotecas de
de red
red
API del
del servidor
servidor
API de
de base
base de
dedatos
datos
(OLE
(OLE DB,
DB, ODBC,
ODBC,
biblioteca
biblioteca de
de base
base Servicios
Servicios abiertos
abiertos 5
de
de datos)
datos) 3 de
de datos
datos
Consulta
Consulta Resultado
Resultado
2 Biblioteca
Biblioteca de
de red
red Motor
Motor
del
del cliente
cliente relacional
relacional
Cliente Servidor
4
Motor
Motor de
de
almacenamiento
almacenamiento
Procesador
Procesador
Memoria
Memoria Base de
datos local
1. Una aplicación cliente envía una consulta. El cliente llama a la API de base de datos y
pasa la consulta. La API de base de datos utiliza un proveedor, un controlador o un
archivo DLL para encapsular la consulta en uno o más paquetes Flujo de datos tabular
(TDS, Tabular Data Stream) y pasarlos a la biblioteca de red del cliente.
2. La biblioteca de red del cliente empaqueta los paquetes TDS en paquetes de protocolo
de red. La biblioteca de red del cliente llama a una API de Comunicación entre
procesos (IPC, Interprocess Communication) de Windows para enviar los paquetes de
protocolo de red a una biblioteca de red del servidor mediante la pila de protocolos de
red del sistema operativo. La biblioteca de red del servidor adecuada extrae los
paquetes TDS de los paquetes de protocolo de red y los pasa a Servicios abiertos de
datos.
3. Servicios abiertos de datos extrae la consulta de los paquetes TDS y la pasa al motor
relacional. Entonces, el motor relacional compila la consulta en un plan de ejecución
optimizado y ejecuta el plan de ejecución. El motor relacional se comunica con el motor
de almacenamiento mediante la interfaz OLE DB.
4. El motor de almacenamiento transfiere datos desde una base de datos a búferes de
datos y, después, pasa al motor relacional, conjuntos de filas que contienen datos. El
motor relacional combina los conjuntos de filas para dar lugar al conjunto de resultados
final y lo pasa a Servicios abiertos de datos.
5. Servicios abiertos de datos empaqueta el conjunto de resultados y lo devuelve a la
aplicación cliente mediante una biblioteca de red del servidor, la pila de protocolos de
red, la biblioteca de red del cliente y la API de base de datos. El conjunto de resultados
también se puede devolver en formato XML.
Módulo 3: Introducción a SQL Server 10
Administración de datos
Servicio Proceso de transacciones
MSSQLServer y consultas
Integridad de datos
Trabajos
Servicio
SQLServerAgent Alertas
Operadores
Coordinador de Administración de
transacciones transacciones distribuidas
distribuidas de Microsoft
Servidor
Catálogos de texto
Microsoft Search Índices de texto
SQL Server incluye cuatro servicios, que se instalan de manera predeterminada con una
instalación nueva: MSSQLServer, SQLServerAgent, Coordinador de transacciones distribuidas
de Microsoft y Microsoft Search.
Servicio MSSQLServer
El servicio MSSQLServer es el motor de base de datos. Se trata del componente que procesa
todas las instrucciones Transact-SQL y administra todos los archivos que forman las bases de
datos del servidor. El servicio MSSQLServer:
Servicio SQLServerAgent
El servicio SQLServerAgent funciona junto con SQL Server para crear y administrar alertas,
trabajos locales o multiservidor y operadores. Tenga en cuenta lo siguiente acerca del servicio
SQLServerAgent:
Las alertas proporcionan información acerca del estado de un proceso, por ejemplo,
cuando un trabajo ha terminado o cuando se produce un error.
MS DTC permite que los clientes incluyan distintos orígenes de datos en una misma
transacción. MS DTC coordina la correcta ejecución de las transacciones distribuidas para
asegurar que todas las actualizaciones de todos los servidores sean definitivas; o bien, en caso
de producirse errores, que todas las modificaciones queden canceladas.
Microsoft Search
Microsoft Search es un motor de texto que se ejecuta como un servicio en Windows 2000. La
compatibilidad de texto implica la capacidad de emitir consultas sobre datos de caracteres, la
creación y el mantenimiento de los índices que facilitan estas consultas.
Cada instancia de SQL Server tiene su propio conjunto de bases de datos del sistema y de
usuario que no se comparten entre las distintas instancias. Cada instancia funciona como si
estuviera en un servidor independiente. Las aplicaciones pueden conectarse a cada instancia
de motor de base de datos de SQL Server de un equipo casi de la misma forma en que se
conectan a los motores de base de datos de SQL Server que se ejecutan en distintos equipos.
Cuando sólo especifica el nombre del equipo, está trabajando con la instancia predeterminada.
Debe especificar nombreEquipo\nombreInstancia para conectarse a una instancia con nombre.
Módulo 3: Introducción a SQL Server 12
SQL Server incluye componentes de cliente y de servidor que se integran con distintos
sistemas operativos de Microsoft, incluido Windows 2000, y otras aplicaciones de servidor de
Microsoft. Los exploradores de Internet y las aplicaciones cliente de otros fabricantes que se
ejecutan en diversos sistemas operativos también pueden tener acceso a SQL Server .
Módulo 3: Introducción a SQL Server 13
Internet
Internet
Cliente
Servidor
SQL Server incluye componentes de cliente y de servidor que se ejecutan en diversos sistemas
operativos.
Componentes de cliente
Los componentes de cliente de todas las ediciones de SQL Server 2000, excepto SQL Server
Windows CE Edition, se ejecutan en todas las ediciones de Windows 2000, versiones de
Microsoft Windows NT®, en Microsoft Windows Millennium Edition (Me), Microsoft Windows 98
y Microsoft Windows 95.
Todos los componentes de cliente de la edición SQL Server 2000 CE se ejecutan
exclusivamente en el sistema operativo Windows CE.
Componentes de servidor
Las diversas ediciones de SQL Server le permiten funcionar en todas las ediciones de Windows
2000, versiones de Windows NT, Windows Me, Windows 98 y Windows CE. Algunas versiones
de los sistemas operativos y ediciones de SQL Server limitan los componentes de servidor.
Para todas las ediciones de SQL Server 2000 es un requisito mínimo la instalación de Microsoft
Windows NT Server 4.0, Service Pack 5 (SP5) o posterior. Sólo los componentes de servidor,
como el motor de base de datos y Analysis Server, están limitados a determinadas versiones
de los sistemas operativos. Por ejemplo, aunque el motor de base de datos para Microsoft SQL
Server 2000 Enterprise Edition no funciona en Microsoft Windows 2000 Professional, Microsoft
Windows NT Workstation, Windows Me o Windows 98, puede utilizar el disco compacto de SQL
Server 2000 Enterprise Edition para instalar el software de cliente en cualquiera de estos
sistemas operativos. Windows NT 4.0 Terminal Server no es compatible con SQL Server 2000.
Los exploradores de Internet y las aplicaciones cliente de otros fabricantes que se ejecutan en
diversos sistemas operativos también pueden tener acceso a SQL Server.
Módulo 3: Introducción a SQL Server 14
Active Directory
Seguridad
Compatibilidad con multiprocesador
Visor de sucesos de Microsoft
Servicios de componentes de Windows 2000
Monitor de sistema de Windows 2000
Servicios de Microsoft Internet Information Server
Organización por clústeres de Windows
SQL Server está totalmente integrado con Windows 2000 y aprovecha muchas de sus
características.
Active Directory
Seguridad
SQL Server está integrado con el sistema de seguridad de Windows 2000. Esta integración
permite que un único nombre de usuario y contraseña tenga acceso a SQL Server y a Windows
2000. SQL Server también utiliza las características de cifrado de Windows 2000 para la
seguridad de la red, incluida la compatibilidad con Kerberos. SQL Server ofrece su propia
seguridad a los clientes que necesitan acceso a SQL Server sin autenticación por parte de
Windows 2000.
SQL Server escribe mensajes en los registros de sucesos de aplicación, seguridad y sistema
de Windows 2000, lo que proporciona un mecanismo coherente para examinar y efectuar el
seguimiento de los problemas.
Módulo 3: Introducción a SQL Server 15
Monitor de sistema de Windows 2000 SQL Server envía medidas de rendimiento al Monitor
de sistema de Windows 2000, lo que permite supervisar el rendimiento del sistema de SQL
Server.
Servicios de Microsoft Internet Information Server SQL Server utiliza Servicios de Microsoft
Internet Information Server (IIS) de manera que los exploradores de Internet puedan tener
acceso a una base de datos de SQL Server mediante el protocolo HTTP.
Host de IBM
Microsoft Exchange Server Permite que SQL Server envíe mensajes de correo
electrónico a través de Exchange Server u otros
proveedores compatibles con la Interfaz de
programación de aplicaciones de mensajería (MAPI,
Messaging Application Programming Interface).
Todos los servidores SQL Server tienen dos tipos de bases de datos: bases de datos del
sistema y bases de datos de usuario. Las bases de datos del sistema almacenan información
acerca de SQL Server de forma global. SQL Server utiliza las bases de datos del sistema para
operar y administrar el sistema. Las bases de datos de usuario son aquellas que crean los
usuarios.
Cuando se instala SQL Server, el programa de instalación crea bases de datos del sistema y
bases de datos de usuario de ejemplo. La base de datos Distribution se instala al configurar
SQL Server para realizar actividades de duplicación. En la tabla siguiente se describe cada
base de datos.
EmployeePhoneView Comprobar
Comprobar
SELECT
SELECT lastname,
lastname, firstname,
firstname, extension
extension x#####
x#####
FROM
FROM employee
employee
Una base de datos es una colección de datos, tablas y otros objetos. Los objetos de base de
datos le ayudan a estructurar los datos y a definir los mecanismos que mantienen la integridad
de los datos. En la tabla siguiente se describen los objetos de base de datos de SQL Server.
En un índice agrupado, el orden lógico o indizado de los valores de la clave, es el mismo que el
orden físico o de almacenamiento, de las filas correspondientes existentes en la tabla. En un
índice no agrupado, el orden lógico del índice no coincide con el orden físico en el que están
almacenadas las filas de la tabla.
Módulo 3: Introducción a SQL Server 20
Nombres completos
servidor.baseDeDatos.propietario.objeto
Nombres parcialmente especificados
El servidor predeterminado es la instancia actual del
servidor local
La base de datos predeterminada es la base de datos
actual
El propietario predeterminado es el nombre de usuario de
la base de datos
CREATE
CREATE TABLE
TABLE Northwind.dbo.OrderHistory
Northwind.dbo.OrderHistory
..
..
..
Puede hacer referencia a los objetos de SQL Server de varias maneras. Puede especificar el
nombre completo del objeto (su nombre completo) o especificar sólo una parte del nombre del
objeto y permitir que SQL Server determine el resto del nombre a partir del contexto de trabajo.
Nombres completos
El nombre completo de un objeto de SQL Server incluye cuatro identificadores: el nombre del
servidor, el nombre de la base de datos, el nombre del propietario y el nombre del objeto. Estos
identificadores tienen el formato siguiente:
servidor.baseDeDatos.propietario.objeto
Los nombres de objetos que especifican estas cuatro partes se conocen como nombres
completos. Todos los objetos creados en SQL Server deben tener un nombre único completo.
Por ejemplo, puede tener dos tablas denominadas Orders en la misma base de datos siempre
y cuando sus propietarios sean diferentes. Además, los nombres de las columnas tienen que
ser únicos en cada tabla o cada vista.
Módulo 3: Introducción a SQL Server 22
servidor.baseDeDatos.propietario.objeto
baseDeDatos.propietario.objeto
baseDeDatos..objeto
propietario.objeto
objeto
Cuando crea un objeto y no especifica las distintas partes del nombre, SQL Server utiliza los
siguientes valores predeterminados:
Un usuario que sea miembro de una función puede especificar explícitamente la función como
propietario del objeto. Un usuario que sea miembro de las funciones db_owner o
db_ddladmin en una base de datos debe especificar la cuenta de usuario dbo como
propietario de un objeto. Éste es el procedimiento que se recomienda.
La mayor parte de las referencias a objetos utilizan nombres con tres partes y emplean el
servidor local como predeterminado. Los nombres de cuatro partes suelen utilizarse en
consultas distribuidas o en llamadas a procedimientos remotos almacenados.
SQL Server admite una convención de nomenclatura de tres partes cuando se hace referencia
al servidor actual. El estándar SQL-92 también acepta una convención de nomenclatura de tres
partes. Los términos empleados en ambas convenciones de nomenclatura son diferentes. En la
tabla siguiente se describen las relaciones existentes entre los nombres de SQL Server y los
nombres del estándar SQL-92.
SQL Server almacena información, conocida como metadatos, acerca del sistema y los objetos
de las bases de datos para una instancia de SQL Server. Los metadatos son información
acerca de los datos.
Los metadatos incluyen información acerca de las propiedades de los datos, como el tipo de
datos de una columna (numérico, texto, etc.) o la longitud de una columna. También pueden
contener información acerca de la estructura de los datos o información que especifica el
diseño de los objetos.
Tablas del sistema La información acerca de los datos de las tablas del sistema incluye
información de configuración y definiciones de todas las bases de datos y los objetos de base
de datos existentes en la instancia de SQL Server. Los usuarios no deben modificar
directamente ninguna tabla del sistema.
Catálogo de la base de datos Cada base de datos (incluida la base de datos master)
contiene una colección de tablas del sistema que almacenan metadatos acerca de esa base de
datos específica. Esta colección de tablas del sistema es el catálogo de la base de datos.
Contiene la definición de todos los objetos de la base de datos, así como los permisos.
Módulo 3: Introducción a SQL Server 24
Catálogo del sistema El catálogo del sistema, que sólo se encuentra en la base de datos
master, es una colección de tablas del sistema que almacena metadatos acerca de todo el
sistema y todas las demás bases de datos.
La mayor parte de las tablas del sistema comienzan con el prefijo sys. En la tabla siguiente se
identifican varias tablas del sistema y vistas utilizadas frecuentemente.
Recuperación de metadatos
EXEC
EXEC sp_help
sp_help Employees
Employees
SELECT
SELECT USER_NAME(10)
USER_NAME(10)
SELECT
SELECT ** FROM
FROM INFORMATION_SCHEMA.TABLES
INFORMATION_SCHEMA.TABLES
Cuando escriba aplicaciones que recuperen metadatos de las tablas del sistema, debe utilizar
procedimientos almacenados del sistema, funciones del sistema o vistas del esquema de
información proporcionadas por el sistema.
Puede consultar una tabla del sistema de la misma forma que cualquier otra tabla de la base de
datos para recuperar información acerca del sistema. Sin embargo, no debe escribir secuencias
de comandos que consulten directamente tablas del sistema, ya que si las tablas del sistema
se modifican en versiones posteriores del producto, puede que sus secuencias de comandos
no funcionen o proporcionen información imprecisa.
Para facilitar la recopilación de información acerca del estado del servidor y de los objetos de
base de datos, SQL Server proporciona una colección de consultas predefinidas denominadas
procedimientos almacenados de sistema.
Los nombres de la mayor parte de los procedimientos almacenados de sistema empiezan con
el prefijo sp_. En la tabla siguiente se describen tres procedimientos almacenados de sistema
comúnmente utilizados.
Procedimiento almacenado
de sistema Descripción
Las funciones del sistema y de metadatos proporcionan un método para consultar tablas del
sistema desde instrucciones Transact-SQL. En la tabla siguiente se describen funciones del
sistema comúnmente utilizadas y la correspondiente información que devuelven.
SELECT USER_NAME(10)
Las vistas del esquema de información proporcionan una vista interna, independiente de las
tablas del sistema, de los metadatos de SQL Server. Estas vistas cumplen la definición del
estándar ANSI SQL para el esquema de información.
Todas las vistas del esquema de información contienen metadatos para todos los objetos de
datos almacenados en una base de datos específica. En la tabla siguiente se describen vistas
del esquema de información comúnmente utilizadas.
Ejemplo 2
El siguiente ejemplo consulta una vista del esquema de información
para recuperar una lista de las tablas de una base de datos.
SQL Server valida a los usuarios en dos niveles de seguridad: autenticación de inicio de sesión
y validación de permisos basada en las cuentas de usuario y las funciones de la base de datos.
La autenticación identifica al usuario que utiliza una cuenta de inicio de sesión y comprueba la
capacidad del usuario para conectarse con SQL Server. Si la autenticación es correcta, el
usuario se conectará a SQL Server.
El usuario debe tener permisos de acceso a las bases de datos del servidor. El administrador
de la base de datos asigna permisos específicos de la base de datos a las cuentas de usuario y
las funciones para poder tener acceso a las bases de datos del servidor. Los permisos
controlan las actividades que el usuario puede realizar en la base de datos de SQL Server.
Módulo 3: Introducción a SQL Server 28
AUTENTICACIÓN
SQL Server
comprueba la
conexión de confianza
Grupo
Grupooousuario
usuario
de
deWindows
Windows2000
2000 Windows 2000
SQL
Server
O BIEN
SQL Server
comprueba el nombre
Cuenta
Cuentadedeinicio
iniciode
de
y la contraseña
sesión
sesiónde
deSQL
SQLServer
Server
Para conectar con SQL Server, el usuario debe tener una cuenta de inicio de sesión. SQL
Server reconoce dos mecanismos de autenticación de inicio de sesión, autenticación de SQL
Server y autenticación de Windows, y 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 SQL Server, el administrador del sistema de SQL Server
define una cuenta y una contraseña de inicio de sesión para SQL Server. Los usuarios deben
proporcionar las cuentas de inicio de sesión y las contraseñas de SQL Server cuando se
conectan a SQL Server.
Modo de autenticación
Cuando SQL Server se ejecuta en Windows 2000, el administrador del sistema puede
especificar la utilización de uno de los dos modos de autenticación:
Sólo se permite la autenticación de Windows 2000. Los usuarios no pueden especificar una
cuenta de inicio de sesión de SQL Server.
Modo mixto
Los usuarios pueden conectarse a SQL Server con la autenticación de Windows o con la
autenticación de SQL Server.
Módulo 3: Introducción a SQL Server 29
SQL
Server
O BIEN
Función de base de datos
SQL Server
Cuenta de inicio comprueba el
de sesión de nombre y la
SQL Server contraseña
Después de que Windows 2000 o SQL Server autentique a los usuarios y éstos tengan permiso
para iniciar sesión en SQL Server, necesitan tener cuentas en una base de datos. Las cuentas
de usuario y las funciones identifican a los usuarios dentro de una base de datos, y controlan la
propiedad de los objetos y los permisos para ejecutar instrucciones.
Las cuentas de usuario que aplican permisos de seguridad son usuarios o grupos de Windows
2000, o cuentas de inicio de sesión de SQL Server. Las cuentas de usuario son específicas de
una base de datos.
Funciones
Las funciones le permiten agrupar usuarios en una misma unidad a la que puede aplicar
permisos. SQL Server proporciona funciones de servidor y de base de datos predefinidas para
las funciones administrativas comunes, de forma que pueda conceder fácilmente una selección
de permisos administrativos a un usuario específico. También puede crear sus propias
funciones de base de datos definidas por el usuario. En SQL Server, los usuarios pueden
pertenecer a varias funciones.
Módulo 3: Introducción a SQL Server 30
Tipos de funciones
SQL Server admite tres tipos de funciones para ayudar a administrar los permisos: funciones
fijas de servidor, funciones fijas de base de datos y funciones de base de datos definidas por el
usuario.
Las funciones fijas del servidor permiten agrupar los privilegios administrativos en el nivel del
servidor. Se administran con independencia de las bases de datos de usuario en el nivel del
servidor. En la tabla siguiente se describen las funciones fijas de servidor de SQL Server 2000.
Función Permiso
Las funciones fijas de base de datos permiten agrupar los privilegios administrativos en el nivel
de base de datos. En la tabla siguiente se describen las funciones fijas de base de datos de
SQL Server 2000.
Función Permiso
public Mantener todos los permisos predeterminados
de los usuarios de una base de datos.
También puede crear sus propias funciones de base de datos para representar las tareas
realizadas por un grupo de empleados de la organización. No necesita conceder o revocar
permisos a cada persona. Si las tareas de una función cambian, puede cambiar fácilmente los
permisos de la función y hacer que los cambios se apliquen automáticamente a todos los
miembros de la función.
Módulo 3: Introducción a SQL Server 32
Validación de permisos
22 33
11
Permisos correctos;
se ejecuta el comando
El
Elusuario
usuariode
dela
labase
basede
de
datos
datosejecuta
ejecutaelelcomando
comando SQL Server
comprueba
los permisos
SELECT
SELECT ** FROM
FROM Members
Members Permisos incorrectos;
Devuelve Error
En cada base de datos se pueden asignar permisos a las cuentas de usuario y a las funciones
para realizar (o restringir) ciertas acciones. SQL Server acepta comandos después de que un
usuario haya obtenido acceso a una base de datos.
SQL Server realiza los siguientes pasos para validar los permisos:
1. Cuando el usuario realiza una acción, como ejecutar una instrucción Transact-SQL o
elegir una opción de un menú, el cliente envía instrucciones Transact-SQL a SQL
Server.
2. Cuando SQL Server recibe una instrucción Transact-SQL, comprueba que el usuario
tiene permiso para ejecutar la instrucción.