Aula Macedonia


Curso de SQL bajo WindowsNT


Artículo realizado por
Emilio Rubio.





Capítulo 4.
Configuración del servidor.

4.1.- Lo que se obtiene después de la instalación.

En el capítulo anterior explicamos con un cierto nivel de detalle, el proceso de instalación de SQL Server. Como pudimos observar, muchas de las opciones de configuración las dejábamos con su valor por defecto. Debido a esta causa, una vez terminado de instalar el servidor de bases de datos, podremos ejecutarlo sin ajustar ningún parámetro adicional (es posible que si modificamos alguno de estos parámetros, el servidor no funcione correctamente, debido a esto, se prefiere realizar la instalación con las opciones que se nos dan, y más adelante, proceder a modificarlos desde el entorno de administración del sistema gestor).

Una vez finalizada la instalación, podemos observar la carpeta que se nos ha creado en el sistema, la cual, como es de suponer, contendrá programas e información relativa a SQL Server. El nombre de la carpeta va en consonancia con la versión instalada, así que no creo que tenga ningún problema para encontrarla. Sólo especificaré lo que se obtiene exteriormente, en forma de programas. Dentro del servidor también nos encontramos con objetos creados por defecto durante la instalación. Estos objetos se relacionarán y explicarán posteriormente. Una instalación básica creará los siguientes elementos de programa:

  1. ISQL_w. Intérprete de órdenes SQL. Será con esta utilidad con la que se pregunte a la base de datos y con la que se ejecuten procedimientos almacenados, entre otras cosas.

  2. SQL Client Configuration Utility. Establece por defecto la Net-Library (esta librería de funciones sirve para gestionar las conexiones de red y enrutado, cada Net-Library permite a su computadora el uso de un protocolo particular de red), y la información de conexión con el servidor por parte de los clientes. Además muestra el número de versión y busca copias de la DB-Library y Net-Library en el path.

  3. SQL Enterprise Manager. Herramienta básica para la administración y configuración del servidor, ya que a través de ella, podemos realizar, de una manera gráfica toda la gestiones que necesitemos. Es sin duda una de las mejores actualizaciones que hizo Microsoft con respecto a versiones anteriores a SQL Server 6.0,, ya que anteriormente la administración y configuración se hacía de forma totalmente escrita, bajo el gobierno de los procedimientos almacenados. Aún de esta forma, todavía quedan técnicas avanzadas de administración que no tendremos más remedio que realizarlas mediante comandos, en un interfaz de órdenes (ISQL_w, por ejemplo). Así, la potencia que nos proporciona el comando DBCC todavía no se puede comparar con la administración visual del servidor. Por cierto, esta orden es realmente recomendable aprenderla. Esta aplicación sólo se puede instalar en los clientes que ejecuten sistemas operativos de 32 bits, como Windows 95, NT WorkStation o NT Server.

  4. SQL Performance Editor. En Windows NT disponemos de un monitor de rendimiento que nos informa de como se encuentra el sistema, así de quién lo ocupa. Dicho monitor se ha migrado a SQL Server. En este punto podemos ver como realmente SQL Server se integra con Windows NT.

  5. SQL Security Manager. Mediante esta utilidad, las cuentas relativas a los usuarios del sistema pueden ser gestionadas.

  6. SQL Web Server Assistant. Esta aplicación es nueva para la versión 6.5 del servidor, y como habrá podido imaginar, está orientada al fastuoso mundo de Internet. A través de ella se nos da la oportunidad de publicar datos que tengamos almacenados en nuestras bases de datos, ya que, a través de este programa, se creará de forma totalmente automática código HTML que contendrá a nuestros datos. Puedo, por tanto, conectarse por medio de Internet a un servidor Web (¿a probado Internet Information Server?) y preguntar a SQL Server. Una vez hecho obtendremos de el una bonita página con el resultado de nuestra consulta (bueno, la verdad es que las he visto mejores :) ).

  7. SQL Service Manager. Se utiliza para comenzar, hacer una pausa o parar, tanto el servicio SQL Server (corazón del sistema) y el servicio SQL Executive (calendarios y tareas monitorizadas)

  8. SQL Setup. Como su nombre indica, se utilizará para reconfigurar nuestro sistema. Podemos utilizar este programa desde para cambiar el soporte de red, o añadir un nuevo driver de lenguaje a nuestro sistema hasta reconstruir la base de datos master o cambiar las reglas de ordenación impuestas en la primera instalación. Es como si volviésemos a instalar el producto, pero modificando sólo aquellas opciones que deseemos.

  9. SQL Trace. Nueva utilidad introducida en la versión 6.5 del producto (al igual que SQL Web Server). Es de bastante utilidad para los programadores de aplicaciones, ya que en ella se muestra en tiempo real el estado del servidor con respecto a programas que ejecuta, sentencias SQL en proceso, bases de datos accedidas y un largo etc.

  10. SQL Transfer Manager. Esta herramienta no se encuentra en la versión 6.5 del producto, pero si en las anteriores (en la nueva versión se encuentra unida al SQL Enterprise Manager). Sirve para realizar transferencias de datos entre servidores SQL, no limitados a arquitecturas hardware, es decir, podemos transferir datos de una tabla que se encuentra en un servidor SQL con procesador Intel a otro con un procesador Alpha

  11. La ayuda también aparecerá en la carpeta. Es recomendable instalar los Books Online, ya que todos los manuales físicos que se entregan, se pueden estudiar en su formato electrónico.

4.2.- ¿Y ahora qué?

Finalizada pues la instalación aprenderemos en este capítulo (entre otras cosas), a:

4.3.- Comenzando a ejecutar SQL Server.

Hay varias maneras de comenzar SQL Server y SQL Executive. Una forma fácil para hacerlo es usar el SQL Service Manager. Luego nos movemos a la carpeta creada y ejecutamos dicha aplicación. En ella se nos mostrará un semáforo (inicialmente sin ningún color). Este diálogo lo rellenaremos con los datos relativos al servidor que vayamos a iniciar (en el caso de que los tengamos de forma remota), así como el servicio que habilitaremos. Vemos igualmente que tiene tres estado definibles. El estado rojo significa que el servidor se encuentra parado, el estado verde significa que se encuentra ejecutándose y admitiendo peticiones por parte de los clientes. El esto de pausa (ámbar) provocará que el servidor mantenga a los clientes actualmente conectados, pero que no permita ninguna conexión adicional. Se suele utilizar como un paso anterior al cierre del sistema, es decir, se coloca el servidor en este estado, no permitiendo ninguna conexión más, y se avisa mediante un mensaje a todos los clientes conectados de que se procederá al cierre del sistema. El estado de pausa sólo lo puede adoptar el servicio MSSQL Server y no SQL Executive.

Si tuviésemos servidores remotos, nos aparecería activado un botón denominado "Connect", al lado del nombre del servidor. La conexión a un servidor remoto conlleva a que se rellene el texto "Service" con el nombre del servicio que queremos se inicien en la computadora remota. Nótese que el texto "Server", sólo aparecerá en el caso de que la opción "Remote Control" se encuentre verificada en el menú de sistema de la caja de diálogo.

Existe otra forma de comenzar SQL Server, pero esta requiere antes, que tengamos un servidor registrado. Este será precisamente nuestro punto siguiente.

4.4.- Registrar un servidor.

Cuando ejecutemos por vez primera la aplicación SQL Enterprise Manager nos encontraremos con que el sistema requiere de nuestra parte, que registremos un servidor en su lista de servidores. ¿Qué es eso de registrar a un servidor?. Aunque parezca mentira, es un concepto realmente fácil, verá, el modelo organizativo de SQL Server, requiere que primeramente, se defina un nombre lógico que identificará a un conjunto de objetos. Estos objetos podrán ser dispositivos, bases de datos, disparadores .... etc, y a ese nombre lógico se le denomina servidor. Por ejemplo, imaginesé que tenemos seis computadoras que tienen la aplicación SQL Enterprise Manager instalada, y usted quiere que desde todas ellas se pueda administrar un servidor recientemente instalado, de tal forma que desde cualquiera de esas seis computadoras se pudiese iniciar SQL Enterprise Manager y usar el procedimiento que se explica más tarde para registrar el nuevo servidor.

El nombre de servidor que utilizará SQL Server se tomará del nombre que tenga la computadora, así que, aseguresé de que dicho nombre es válido para SQL (debe comenzar por una letra o un carácter underscore (_) y los restantes caracteres pueden ser letras, números o símbolos #, $, o _. No puede contener espacios en blanco).

Los pasos que debemos de seguir para registrar un servidos son los siguientes:

  1. Ejecutar SQL Enterprise Manager.

  2. En el texto "Server" deberemos escribir el nombre del servidor a registrar, o también, en el caso de que haya servidores instalados, escoger uno de ellos.

  3. Se puede escoger entre "Seguridad Standard" o "Seguridad integrada" (trusted), que establecerá el tipo de seguridad que usted quiere para su servidor. La diferencia entre ellas es clara. Mientras que la seguridad integrada es gestionada por Windows NT, la seguridad standard requiere de un identificador (login) y una contraseña (password) ya establecidos, para poder acceder al sistema De antemano le comento que se prefiere la seguridad integrada, ya que es Windows NT el que hace el trabajo sucio de comprobar permisos, liberando a SQL Server de gestionar esta tarea. Atención, esto no significa que SQL Server vaya a aumentar su rendimiento ni que Windows NT lo disminuirá.

  4. Abajo del cuadro de diálogo tenemos una opción denominada "Display Server status in Server Manager", que aparece seleccionada por defecto. Cuando terminemos de registrar el servidor, SQL Server creará una ventana en la cual se mostrarán todos los servidores que haya registrados. Estos servidores pueden tener diferentes estados, como "parados", "en pausa", o "ejecutándose". Esta opción permite que el servidor le muestre precisamente uno de estos estados.

  5. Seleccionar un grupo de servidores al cual pertenecerá el nuestro, siempre y cuando los haya definidos. Nuevamente, el modelo organizativo de SQL Server introduce el concepto de grupo de servidores, que no es más que englobar bajo un identificativo común a una conjunto de servidores registrados para, de esta forma, facilitar su administración (por ejemplo, imagine que tiene que hacer copias de seguridad de múltiples bases de datos que pertenezcan a diferentes servidores, si los agrupa, dicha tarea se podrá realizar de una manera mucho más cómoda que si estuvieran por separado).

  6. Pulsar sobre el botón "Register", y si todo va bien, habrá registrado el servidor en cuestión.

Ni que decir tiene, que si desea registrar más servidores, debe de realizar exactamente los mismo pasos. En cuanto al tema correspondiente a los grupos de servidores, le invito a que investigue por su cuenta, una vez tenga registrado un primer servidor, para que se cree sus propios grupos de servidores. Si después de mucho investigar no da con la "tecla", le remito a mi e-mail para cualquier consulta sobre el tema.

4.5.- Qué se ha instalado en el sistema

El programa de instalación ha instalado dispositivos, bases de datos, tablas, procedimientos almacenados algunos usuarios por defecto y unas reglas de ordenación en el sistema. Veamos cada uno de estos elementos.

Un dispositivo (device) es un fichero que mantiene el sistema para almacenar las bases de datos. Una base de datos puede ser almacenada en varios dispositivos. SQL Server posee dos tipos de dispositivos, dispositivos de bases de datos, en donde como se dijo anteriormente, se almacenan las bases de datos, y dispositivos de copia o volcado (dump devices), en donde se almacenan las copias de seguridad de una base de datos.

Al terminar de instalar SQL Server y ya entrado en el Enterprise Manager, vemos que se han creado por defecto tres dispositivos de bases de datos, llamados MASTER, MSDBDATA y MSDBLOG. Dentro del dispositivo MASTER se habrán creado las bases de datos master, model, tempdb y pubs. Dentro del dispositivo MSDBDATA se crearán la base de datos msdb y dentro de MSDBLOG se almacenará el diario de transacciones denominado msdb. Normalmente estos dispositivos creados por defecto no se utilizan para las nuevas bases de datos que se vayan a crear. Así pues, es recomendable que comience a crear sus propios dispositivos.

La base de datos master.

Como dijimos anteriormente, el dispositivo MASTER contendrá al a base de datos master. ¿Qué información contiene esta base de datos?, pues bien, en ella se almacenan usuarios del sistema y las totalidad de operaciones que SQL Server realiza. Además de mantener la pista de las cuentas de usuario, cuentas de usuarios remotos, servidores remotos con los que el nuestro puede comunicarse, los procesos que se encuentran ejecutándose, las variables de entorno configurables, el sistema de mensajes de errores, las bases de datos que hay en SQL Server, la cantidad de espacio reservado para cada base de datos, las unidades de cinta y discos disponibles en el sistema y todos los bloqueos activos. Esta será la base de datos por defecto para el administrador del sistema (por defecto significa que es a la que se conectará cuando entre al sistema).

Aunque es posible añadir usuarios a esta base de datos, no es precisamente lo recomendado, ya que aquí se almacenan muchos objetos que será utilizados por el administrador del sistema.

Una cuestión importante, cada vez que se altere algún objeto significativo del sistema, hay que hacer una copia de seguridad de esta base de datos. Por ejemplo cada vez que cree, modifique o elimine un dispositivo o base de datos, o cada vez que se cree altere o borre un objeto base de datos de master, o cada vez que ejecute un procedimiento almacenado que cambie dicha base de datos.

Conozco a personas que han hecho copias de seguridad de sus bases de datos pero no de la de master. Con posterioridad algún que otro sistema debió recuperarse con estas copias y se encontraron con que no podían volcarla debido a que no tenían datos acerca de los dispositivos que conformaban el sistema en esos momentos.

Base de datos model.

Igual que master, se crea por defecto durante la instalación dentro del dispositivo MASTER. Esta base de datos proporciona una plantilla o prototipo en las que se basarán las nuevas bases de datos creadas. Por tanto, cada vez que una base de datos se cree, SQL Server realiza una copia de la base de datos model en la nueva que se va a crear, es por tanto que dicha base de datos nunca será de menos tamaño que la base de datos model.

¿ Y qué contiene esta base de datos?, pues entre otras cosas contiene el sistema de tablas requerido para cada usuarios de la base de datos.

Podría ser modificada para personalizarla con una nueva estructura que se utilizará para las nuevas creaciones. Por ejemplo, algunos de los cambios que podemos realizar podrán ser :

Como era de esperar, los usurarios del sistema no tendrán permisos para modificar dicho modelo, necesitarán por tanto los permisos que concede el administrador, pero igualmente se aconseja que no se proporcionen.

Base de datos msdb.

Esta base de datos el la utilizada por el servicio SQL Executive y proporciona un área de almacenamiento para toda la información relativa a calendarios de tareas. Recordemos que SQL Executive se encarga de administrar todo tipos de tareas que forman parte de un calendario, como copias de seguridad, validaciones y chequeos de las bases de datos ... etc. Tendremos creados dos dispositivos. En el de 2 Mbytes se colocará lo relativo a la base de datos master (MSDBDATA, y el diario de transacciones se colocará en el de 1 Mbyte (MSDBLOG).

Base de datos tempdb.

Como su nombre indica, esta base de datos se utiliza para almacenar temporalmente, tablas y objetos temporales necesarios para trabajar. No se necesitan permisos para utilizarla. El tamaño inicial es de 2 Mbytes, y entre los datos temporales que puede guardar, encontramos :

Hay que dejar constancia que, esta base de datos se comporta de manera compartida a todo el sistema. Cuando el usuario (o el sistema) termine de realizar una consulta, todo lo que haya en dicha base de datos será borrada, aunque, mi experiencia personal indica, que hay algunas situaciones en las que esto no se produce (posiblemente en los casos de caída del sistema). Es pues recomendable, al finalizar una sesión con el sistema, comprobar que dicha base de datos no contiene procedimientos almacenados huérfanos ni tablas perdidas (son más comunes los primeros).

Comentamos anteriormente que el tamaño por defecto son 2mbytes. Si nos encontramos con que van a acceder más de 5 clientes a las bases de datos, y estos clientes seguramente van a realizar consultas pesadas y tendrán bastante actividad con el sistema, es conveniente y necesario ampliar el tamaño de la base de datos y de su diario de transacciones, ya que es posible que se nos quede sin espacio.

La base de datos pubs.

Esta base de datos nos la proporciona Microsoft por motivos de ejemplos. Ya que la documentación del producto se refiere bastante a ella. Cuando llegue el momento de interactuar con las bases de datos, nosotros no nos referiremos a ella, sino que nos crearemos nuestros propios objetos de bases de datos. Si por último, no se necesita, se puede borrar sin ningún problema.

Por último, estudiaremos los usuarios que el sistema crea por defecto, y que se pueden utilizar posteriormente. Veámoslos:

4.6.- Usuarios especiales de SQL Server

Hay tres tipos de usuarios que pueden administrar y controlar a SQL Server, estos son los Administradores del sistema(SA), los propietarios de bases de datos (DBO) y los propietarios de los objetos de bases de datos.

El propietario de la base de datos (DBO) es el usuario que ha creado una base de datos. Cada base de datos tiene un sólo propietario. El DBO contendrá todos los privilegios dentro de la base de datos y determinado poder para asignar permisos a otros usuarios El SA puede ser el DBO de algunas o todas las bases de datos del sistema.

El propietario de un objeto base de datos es el usuario que crea un objeto bases de datos (tablas, vistas, disparadores, reglas ...etc). Cada objeto de la base de datos tiene un sólo propietario y este contiene automáticamente todos los permisos sobre dicho objeto, además de poder otorgar permisos a otros usuarios. La propiedad de un objeto base de datos no puede ser transferida.

Cuando se instala SQL se crean por defecto tres login de usuarios, como son probe, repl_publisher y repl_subscriber, que existirán independientemente de la configuración.

El nombre de probe, se utiliza normalmente en un contexto de seguridad para algunas aplicaciones administrativas (por ejemplo, el SQL performance Monitor)

Cuando un servidor se utiliza para participar en servicios de replicación en un servidor de subscripción, se creará el login repl_publisher.

Cuando el servidor se utilice para replicación en un servidor de publicación, el login repl_subscriber se creará.

Por ahora los dejaremos apartados , y posteriormente lo estudiaremos.

Hasta aquí se ha enumerado lo que se nos ofrece por defecto. En el siguiente capítulo sabremos como se hacen los dispositivos bases de datos, procedimientos almacenados (veremos algo de SQL) que es en definitiva, lo que denominaremos "Administración del sistema".





AULA MACEDONIA
a
MACEDONIA Magazine