manual sybase

352
Prefacio Este manual, la Guía de Administración del Sistema SQL Server de Sybase , describe cómo administrar y controlar las bases de datos de SQL Server(TM) independientemente de cualquier aplicación de base de datos específica. Audiencia Este manual está destinado a los Administradores del sistema Sybase y a los Propietarios de base de datos. Cómo utilizar este manual Este manual contiene cinco secciones. La Parte 1, "Introducción", describe los aspectos básicos de la administración del sistema: El Capítulo 1, "Introducción a la administración del sistema", describe la estructura del sistema Sybase. El Capítulo 2, "Bases de datos del sistema", trata el contenido y función de las bases de datos del sistema de SQL Server. El Capítulo 3, "Nociones de administración del sistema para principiantes", resume tareas importantes que los Administradores del sistema nuevos deben realizar. El Capítulo 4, "Diagnosis de problemas en el sistema", trata el manejo de errores en SQL Server y Backup Server(TM) y muestra cómo cerrar servidores y destruir procesos. La Parte 2, "Administración de los recursos físicos", describe cómo configurar y utilizar discos, memoria y procesadores con SQL Server: El Capítulo 5, "Introducción a los temas de recursos de disco", proporciona una descripción general de los aspectos relacionados con los recursos de disco de SQL Server. El Capítulo 6, "Inicialización de dispositivos de base de datos", describe cómo inicializar y utilizar dispositivos de base de datos. El Capítulo 7, "Duplicación de dispositivos de base de datos", describe cómo duplicar dispositivos de base de datos para una recuperación interrumpida del fallo en un disco. El Capítulo 8, "Configuración de la memoria", explica cómo configurar SQL Server para que utilice la memoria disponible en su sistema. El Capítulo 9, "Configuración de cachés de datos", trata cómo crear cachés con nombre en la memoria y vincular objetos a esos cachés. El Capítulo 10, "Administración de servidores multiprocesadores", explica cómo utilizar varias CPU con SQL Server y trata algunos aspectos de la administración del sistema que son exclusivos de los entornos de multiproceso simétrico (SMP). La Parte 3, "Configuración del comportamiento de SQL Server", explica cómo configurar y utilizar diferentes características de SQL Server:

Upload: juan-perez

Post on 19-Sep-2015

797 views

Category:

Documents


77 download

DESCRIPTION

Guía de Administración del Sistema SQL Server de Sybase

TRANSCRIPT

  • Prefacio

    Este manual, la Gua de Administracin del Sistema SQL Server de Sybase , describe cmo administrar y controlar las bases de datos de SQL Server(TM) independientemente de cualquier aplicacin de base de datos especfica.

    Audiencia

    Este manual est destinado a los Administradores del sistema Sybase y a los Propietarios de base de datos.

    Cmo utilizar este manual

    Este manual contiene cinco secciones. La Parte 1, "Introduccin", describe los aspectos bsicos de la administracin del sistema:

    El Captulo 1, "Introduccin a la administracin del sistema", describe la estructura del sistema Sybase.

    El Captulo 2, "Bases de datos del sistema", trata el contenido y funcin de las bases de datos del sistema de SQL Server.

    El Captulo 3, "Nociones de administracin del sistema para principiantes", resume tareas importantes que los Administradores del sistema nuevos deben realizar.

    El Captulo 4, "Diagnosis de problemas en el sistema", trata el manejo de errores en SQL Server y Backup Server(TM) y muestra cmo cerrar servidores y destruir procesos.

    La Parte 2, "Administracin de los recursos fsicos", describe cmo configurar y utilizar discos, memoria y procesadores con SQL Server:

    El Captulo 5, "Introduccin a los temas de recursos de disco", proporciona una descripcin general de los aspectos relacionados con los recursos de disco de SQL Server.

    El Captulo 6, "Inicializacin de dispositivos de base de datos", describe cmo inicializar y utilizar dispositivos de base de datos.

    El Captulo 7, "Duplicacin de dispositivos de base de datos", describe cmo duplicar dispositivos de base de datos para una recuperacin interrumpida del fallo en un disco.

    El Captulo 8, "Configuracin de la memoria", explica cmo configurar SQL Server para que utilice la memoria disponible en su sistema.

    El Captulo 9, "Configuracin de cachs de datos", trata cmo crear cachs con nombre en la memoria y vincular objetos a esos cachs.

    El Captulo 10, "Administracin de servidores multiprocesadores", explica cmo utilizar varias CPU con SQL Server y trata algunos aspectos de la administracin del sistema que son exclusivos de los entornos de multiproceso simtrico (SMP).

    La Parte 3, "Configuracin del comportamiento de SQL Server", explica cmo configurar y utilizar diferentes caractersticas de SQL Server:

  • El Captulo 11, "Definicin de los parmetros de configuracin", resume los parmetros de sp_configure , que controlan muchos aspectos del comportamiento de SQL Server.

    El Captulo 12, "Juegos de caracteres, ordenacin e idioma de los mensajes", trata aspectos internacionales, como los archivos incluidos en los Mdulos de idioma, y cmo configurar el idioma, criterios de ordenacin y juego de caracteres para SQL Server.

    El Captulo 13, "Conversin de juegos de caracteres entre SQL Server y los clientes", trata de la conversin de juegos de caracteres entre SQL Server y los clientes en un entorno heterogneo.

    La Parte 4, "Administracin de bases de datos y de sus objetos", describe cmo crear y administrar bases de datos y segmentos:

    El Captulo 14, "Creacin de bases de datos de usuarios", trata la ubicacin fsica de las bases de datos, tablas e ndices, y la asignacin de espacio para ellos.

    El Captulo 15, "Definicin de opciones de base de datos", describe cmo definir las opciones de las bases de datos.

    El Captulo 16, "Creacin y uso de segmentos", describe cmo utilizar segmentos, que son colecciones con nombre de dispositivos de base de datos, en las bases de datos.

    El Captulo 17, "Verificacin de la consistencia de las bases de datos", describe cmo utilizar el verificador de consistencia de bases de datos, dbcc , para detectar y solucionar problemas en las bases de datos.

    La Parte 5, "Copias de seguridad y recuperacin", describe cmo desarrollar y ejecutar un plan de copia de seguridad y recuperacin del sistema SQL Server:

    El Captulo 18, "Desarrollo de un plan de copias de seguridad y recuperacin", discute las capacidades de Backup Server y cmo desarrollar una estrategia de copia de seguridad.

    El Captulo 19, "Copia de seguridad y restauracin de las bases de datos de usuario", explica cmo recuperar las bases de datos de usuario.

    El Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema", trata cmo recuperar las bases de datos del sistema.

    El Captulo 21, "Administracin de espacio libre con umbrales", trata el manejo de espacio con umbrales.

    Documentos relacionados

    La documentacin del sistema de administracin de bases de datos relacionales SQL Server est diseada para satisfacer tanto la preferencia por la simplicidad del usuario inexperto como el deseo de practicidad y amplitud del usuario experimentado. La gua del usuario y los manuales de referencia tratan las diversas necesidades de los usuarios finales, de los administradores de bases de datos y de seguridad, de los desarrolladores de aplicaciones y de los programadores.

    Otros manuales que pueden resultar de utilidad son:

  • La Gu a de instalacin y configuracin de SQL Server correspondiente a su plataforma, que describe los procedimientos de instalacin de SQL Server y las tareas de administracin especficas del sistema operativo.

    Gua de Mejora de Rendimiento y Afinacin de SQL Server , que explica cmo afinar SQL Server para obtener el mximo rendimiento. El libro incluye informacin sobre aspectos del diseo de bases de datos que afectan al rendimiento, optimizacin de consultas, cmo afinar SQL Server para bases de datos de gran tamao, aspectos de disco y cach y los efectos de los bloqueos y cursores sobre el rendimiento.

    Manual de Referencia de SQL Server , que contiene informacin detallada sobre todos los comandos y procedimientos del sistema tratados en este manual.

    Suplemento de Referencia de SQL Server , que contiene una lista de las palabras reservadas de Transact-SQL(R), definiciones de las tablas del sistema, una descripcin de la base de datos de ejemplo pubs2 , una lista de los mensajes de error de SQL Server y otra informacin de referencia que es comn a todos los manuales.

    Gua de Administracin de Seguridad de SQL Server , que explica cmo usar las funciones de seguridad proporcionadas por SQL Server para controlar el acceso de los usuarios a los datos. El manual incluye informacin sobre cmo aadir usuarios a SQL Server, cmo darles un acceso controlado a los objetos de base de datos y a los procedimientos y cmo administrar SQL Server remotos.

    Gua del Usuario de las Caractersticas de Seguridad de SQL Server, que explica cmo utilizar las funciones de seguridad de SQL Server.

    El manual de los programas de utilidad de SQL Server, que documenta los programas de utilidad de Sybase, como isql y bcp , que se ejecutan a nivel del sistema operativo.

    Gua del Usuario de Transact-SQL , que documenta Transact-SQL, la versin mejorada por Sybase del lenguaje de base de datos relacional. Este manual sirve como libro de texto para los usuarios principiantes del sistema de administracin de bases de datos.

    Novedades de SQL Server de Sybase, V ersin 11.0 , que describe las nuevas caractersticas de la versin 11.0 de SQL Server.

    Convenciones utilizadas en este manual

    Las secciones siguientes describen las convenciones estilsticas utilizadas en este manual.

    Formato de las instrucciones SQL

    SQL es un lenguaje de forma libre: no hay reglas en cuanto al nmero de palabras que pueden ponerse en una lnea o sobre dnde debe dividirse una lnea. Sin embargo, a efectos de legibilidad, todos los ejemplos e instrucciones de sintaxis de este manual se han formateado de forma que cada clusula de una instruccin comience en una nueva lnea. Las clusulas que tienen ms de una parte se extienden a lneas adicionales de forma intencionada.

    Convenciones de sintaxis SQL

    Las convenciones de las instrucciones de sintaxis de este manual son las siguientes:

  • Tabla 1: Convenciones de las instrucciones de sintaxis Clave Definicin

    comando Los nombres de comando, de opcin de comando, de utilidad, de indicador de utilidad y otras palabras clave se imprimen en Courier negrita en las instrucciones de sintaxis, y en Helvetica negrita en el texto de los prrafos.

    variable Las variables o las palabras que representan valores que debe rellenar el usuario se muestran en cursiva.

    { } Las llaves indican que el usuario debe elegir al menos una de las opciones encerradas entre ellas. No incluya las llaves en la opcin.

    [ ] Los corchetes significan que es opcional elegir una o ms de las opciones encerradas entre ellos. No incluya los corchetes en la opcin.

    ( ) Los parntesis deben utilizarse como parte del comando. | La barra vertical significa que puede seleccionar slo una de las opciones

    mostradas.

    ,

    La coma significa que puede elegir tantas de las opciones mostradas como desee, separando las elegidas con comas, que se deben introducir como parte del comando.

    Las instrucciones de sintaxis (que muestran la sintaxis y todas las opciones de un comando) se imprimen de esta forma: sp_dropdevice [ device_name ]

    o, en el caso de un comando con ms opciones:

    select column_name from table_name where search_conditions

    En las instrucciones de sintaxis, las palabras clave (comandos) aparecen en una fuente normal, y los identificadores en minscula: fuente normal para las palabras clave y cursiva para las palabras suministradas por el usuario.

    Los ejemplos que muestran el uso de comandos de Transact-SQL se imprimen de esta forma:

    select * from publishers

    Los ejemplos de salida de la computadora se imprimen de esta forma: pub_id pub_name city state ------- ------------------- ----------- -----

    0736 New Age Books Boston MA 0877 Binnet & Hardley Washington DC 1389 Algodata Infosystems Berkeley CA

    (3 rows affected)

  • Uso de maysculas o minsculas

    Las palabras clave pueden escribirse indistintamente en maysculas o minsculas:

    SELECT es lo mismo que Select y que select .

    Opciones obligatorias {debe elegir una al menos}

    Llaves y barras verticales: Elija una y slo una opcin. {die_on_your_feet | live_on_your_knees | live_on_your_feet}

    Llaves y comas: Elija una o ms opciones. Si elige varias, seprelas con comas. {cash, check, credit}

    Opciones optativas [no tiene que elegir ninguna]

    Un elemento entre corchetes: No es necesario que lo elija. [anchovies]

    Corchetes y barras verticales: Elija una sola o ninguna . [beans | rice | sweet_potatoes]

    Corchetes y comas: Elija ninguna, una o ms de una opcin. Si elige varias, seprelas con comas.

    [extra_cheese, avocados, sour_cream]

    Puntos suspensivos: Reptalo una vez (y otra)...

    Los puntos suspensivos (. . .) significan que puede repetir la ltima unidad tantas veces como desee. En esta instruccin de sintaxis, buy es una palabra clave requerida:

    buy thing = price [cash | check | credit] [, thing = price [cash | check | credit] ]...

    Debe comprar al menos una cosa y dar su precio. Puede elegir una forma de pago: una de las opciones encerradas entre corchetes. Tambin puede elegir comprar otras cosas: tantas como desee. Por cada cosa que compre, d su nombre y precio y (opcionalmente) una forma de pago.

    Los puntos suspensivos tambin sirven para indicar partes de un comando que se omiten de un ejemplo de texto. La siguiente instruccin de sintaxis representa el comando create database completo, aunque faltan palabras clave requeridas y otras opciones:

    create database...for load

    Expresiones

  • En las instrucciones de sintaxis de SQL Server, se utilizan algunos tipos diferentes de expresiones .

    Tabla 2: Tipos de expresiones usadas en instrucciones de sintaxis Uso Definicin

    expresin Puede incluir constantes, literales, funciones, identificadores de columna, variables o parmetros.

    expresin lgica Expresin que devuelve TRUE, FALSE o UNKNOWN. expresin constante

    Expresin que siempre devuelve el mismo valor, como "5+3" o "ABCDE".

    expr_flotante Cualquier expresin de coma flotante o que convierta implcitamente a un valor flotante.

    expr_entero Cualquier expresin de entero o que convierta implcitamente a un valor entero.

    expr_numrica Cualquier expresin numrica que devuelva un solo valor. expr_caract Expresin que devuelve un solo valor del tipo carcter. expr_binaria Expresin que devuelve un solo valor binario o varbinario .

    Si necesita ayuda

    Existe a su disposicin ayuda sobre el software en la forma de documentacin y Servicio de Asistencia Tcnica de Sybase.

    Cada instalacin tiene una persona designada que puede ponerse en contacto con el Servicio de Asistencia Tcnica. Si no puede resolver un problema usando los manuales o la ayuda en lnea, pida a la persona designada que contacte a dicho Servicio.

    Chapter 1

    Introduccin a la administracin del sistema

    En este captulo se presentan los temas bsicos de la administracin del sistema SQL Server. Incluye estas secciones:

    Introduccin Tablas del sistema Procedimientos del sistema Registro de los mensajes de error El archivo de interfaces

    Introduccin

    La administracin de las bases de datos de SQL Server incluye las siguientes tareas:

    Instalacin de SQL Server y Backup Server. Concesin de roles y permisos a los usuarios de SQL Server.

  • Administracin y seguimiento del uso del espacio de disco, la memoria y las conexiones.

    Copias de seguridad y restauracin de las bases de datos. Diagnstico de los problemas del sistema. Configuracin de SQL Server para lograr el mejor rendimiento.

    Adems, los Administradores del sistema pueden intervenir en ciertas labores de diseo de las bases de datos, como por ejemplo la aplicacin de ciertas normas de integridad. Esta funcin puede superponerse con el trabajo de los diseadores de las aplicaciones.

    Aunque un Administrador del sistema se concentra en tareas que son independientes de las aplicaciones que se ejecutan en SQL Server, es probable que tenga mejor perspectiva global de todas las aplicaciones. Por esta razn, un Administrador del sistema puede aconsejar a los diseadores de las aplicaciones acerca de los datos que ya existen en SQL Server, realizar recomendaciones sobre la normalizacin de las definiciones de datos en todas las aplicaciones, etctera.

    Sin embargo, la distincin entre lo que es y lo que no es especfico de una aplicacin puede ser confusa. Los propietarios de las bases de datos de usuario consultarn ciertas secciones de este manual. De forma similar, los Administradores del sistema y los Propietarios de bases de datos utilizarn la Gua del Usuario de T ransact-SQL (en especial los captulos que describen la definicin de datos, los procedimientos almacenados y los disparadores). Tanto los Administradores del sistema como los diseadores de aplicaciones leern la Gua de Mejora de Rendimiento y Afinacin .

    La Gua de Administracin del Sistema (este manual) describe aspectos del almacenamiento fsico, copias de seguridad y restauracin, configuracin de SQL Server, etc. Las funciones especficas de una aplicacin (definicin de datos y mantenimiento de la integridad de referencia) se tratan en otros manuales. La instalacin de SQL Server se explica en la gua de instalacin y configuracin de SQL Server correspondiente a cada plataforma.

    Los roles de Administrador del sistema, Propietario de la base de datos y otros usuarios de SQL Server se tratan con mayor profundidad en la Gua de Administracin de Seguridad .

    Roles requeridos para las tareas de administracin del sistema

    Muchos de los comandos y procedimientos tratados en este manual requieren el rol de Administrador del sistema o de Oficial de seguridad del sistema. Estos roles especiales de SQL Server se tratan en la Gua de Administracin de Seguridad .

    Otras secciones de este manual son importantes para los Propietarios de bases de datos. En una base de datos, el nombre de usuario de un Propietario de base de datos es "dbo". Sin embargo, no es posible tener acceso como "dbo": el Propietario de una base de datos se conecta con su nombre de login de SQL Server y se reconoce como "dbo" en SQL Server slo mientras utiliza la base de datos.

    Uso de isql para realizar tareas de administracin del sistema

  • Casi todas las tareas de administracin del sistema descritas en esta gua requieren que el Administrador del sistema se conecte a SQL Server con la utilidad isql . Esta seccin proporciona informacin bsica sobre el uso de isql . Para ms informacin sobre isql , consulte el manual de los programas de utilidad de SQL Server.

    Inicio de isql

    En la mayora de plataformas, para iniciar isql , escriba este comando en el indicador del sistema operativo:

    isql -U username -P password

    donde username y password son el nombre de usuario y contrasea del Administrador del sistema. Esto inicia isql en modo de lnea de comando, que permite introducir muchos de los ejemplos de Transact-SQL que se presentan en este manual.

    Introduccin de instrucciones

    Las instrucciones que introduzca en isql pueden abarcar varas lneas. isql no procesa las instrucciones hasta que escriba "go" en una lnea aparte. Por ejemplo: 1> select * 2> from sysobjects 3> where type = "TR" 4> go

    Los ejemplos que se presentan en este manual no incluyen el comando go en las instrucciones. Si escribe estas instrucciones, debe introducir el comando go para ver el ejemplo de salida.

    Almacenamiento y reutilizacin de instrucciones

    Este manual solicita con frecuencia que se guarden las instrucciones de Transact-SQL utilizadas para crear o modificar bases de datos de usuarios y objetos de base de datos. La forma ms sencilla de hacerlo es crear o copiar las instrucciones a un archivo con formato ASCII. As, puede utilizar el archivo para suministrar instrucciones a isql si necesita volver a crear las bases de datos u objetos de base de datos posteriormente.

    La sintaxis para utilizar isql con un archivo de formato ASCII es:

    isql -U username -P password -I filename

    donde filename es la ruta completa y el nombre del archivo que contiene instrucciones de Transact-SQL. En UNIX y otras plataformas, utilice el smbolo menor que ( < ) para redirigir el archivo.

    Las instrucciones de Transact-SQL del archivo ASCII deben utilizar una sintaxis vlida y el comando go .

    Tablas del sistema

  • La base de datos master contiene tablas del sistema que controlan la informacin sobre SQL Server de forma global. Adems, cada base de datos (incluida master ) contiene tablas del sistema que controlan informacin especfica de esa base de datos.

    Todas las tablas suministradas con SQL Server en la base de datos master (base de datos de control de SQL Server) se consideran tablas del sistema, las cuales tambin pueden denominarse diccionario de datos o catlogos del sistema. Adems, cada base de datos de usuario se crea con un subconjunto de estas tablas del sistema.

    Cuando se instala SQL Server, se crean una base de datos master y sus tablas. Las tablas del sistema de una base de datos de usuario se crean automticamente cuando se ejecuta el comando create database . Los nombres de todas las tablas del sistema comienzan con "sys". En el Suplemento de Referencia de SQL Server , se incluye una explicacin de las tablas del sistema y sus columnas. Algunas de estas tablas se describen con ms detalle en captulos posteriores de este manual.

    Consulta de las tablas del sistema

    Es posible realizar consultas en las tablas del sistema igual que en cualquier otra tabla. Por ejemplo, la instruccin siguiente devuelve los nombres de todos los disparadores de la base de datos:

    select name from sysobjects where type = "TR"

    Adems, SQL Server suministra procedimientos almacenados (llamados procedimientos del sistema ), muchos de los cuales proporcionan atajos para consultar las tablas del sistema.

    Estos procedimientos del sistema proporcionan informacin de las tablas del sistema:

    Tabla 1-1: Procedimientos que consultan las tablas del sistema sp_commonkey sp_configure sp_dboption sp_estspace sp_help sp_helpconstraint sp_helpdb sp_helpdevice sp_helpgroup

    sp_helpindex sp_helpjoins sp_helpkey sp_helplanguage sp_helplog sp_helpremotelogin sp_helprotect sp_helpsegment sp_helpserver

    sp_helpsort sp_helptext sp_helpthreshold sp_helpuser sp_lock sp_monitor sp_spaceused sp_who

    Para informacin completa sobre los procedimientos del sistema, consulte el Manual de Referencia de SQL Server .

    Claves de las tablas del sistema

    Las claves primarias, externas y comunes de las tablas del sistema se definen en las bases de datos master y model . Para obtener un informe sobre las claves definidas,

  • ejecute el procedimiento del sistema sp_helpkey . Para un informe sobre las columnas de dos tablas del sistema que pueden ser susceptibles de combinacin, ejecute sp_helpjoins . El SQL Server System Tables Diagram incluido con SQL Server muestra las relaciones existentes entre las columnas de las tablas del sistema.

    Advertencias sobre las tablas del sistema

    Las tablas del sistema de SQL Server contienen informacin que es crucial para el funcionamiento de las bases de datos. Los datos de estas tablas se insertan, actualizan y eliminan mediante comandos de Transact-SQL como create y drop o mediante procedimientos del sistema. En circunstancias normales, no es necesario realizar modificaciones directas en los datos de las tablas del sistema.

    Actualice las tablas del sistema slo cuando se lo indique el Servicio de Asistencia Tcnica o una instruccin de la Gua de Solucin de Problemas de SQL Server o de este manual.

    Cuando actualice las tablas del sistema, debe ejecutar un comando sp_configure que permita las actualizaciones de las tablas del sistema. Mientras este comando est efectivo, cualquier usuario con un permiso adecuado puede modificar una tabla del sistema. Estas son otras pautas para realizar cambios directos en las tablas del sistema:

    Modifique las tablas del sistema slo dentro de una transaccin. Utilice b egin transaction antes del comando de modificacin de datos.

    Verifique que el comando haya afectado slo a las filas que deseaba modificar y que los datos se modificaron correctamente.

    Si el comando produjo el resultado deseado, utilice un comando commit transaction . Si no fue as, ejecute rollback transaction .

    No cree disparadores en las tablas del sistema.

    Warning! Ningn usuario debe alterar ciertas tablas del sistema bajo ninguna circunstancia. Algunas se construyen dinmicamente a partir de procesos del sistema, contienen informacin codificada o muestran slo una parte de los datos que contienen cuando se realiza una consulta. Las actualizaciones ad-hoc imprudentes de ciertas tablas del sistema pueden imposibilitar la ejecucin de SQL Server, y el acceso a los objetos de base de datos, as como desordenar los permisos sobre los objetos o terminar una sesin de usuario.

    Procedimientos del sistema

    Los nombres de todos los procedimientos del sistema comienzan con "sp_", y estn situados en la base de datos sybsystemprocs , pero muchos pueden ejecutarse desde cualquier base de datos.

    Excepto por los procedimientos del sistema que actualizan slo las tablas de master, si se ejecuta un procedimiento del sistema sobre una base de datos que no sea sybsystemprocs , funciona sobre las tablas del sistema de la base de datos desde la que se ejecut. Por ejemplo, si el Propietario de la base de datos pubs2 ejecuta sp_adduser desde pubs2 , el nuevo usuario se aade en pubs2..sysusers .

  • Los permisos sobre los procedimientos del sistema se tratan en la Gua de Administracin de Seguridad y en el Manual de Referencia de SQL Server .

    Uso de los procedimientos del sistema

    Si el valor de un parmetro de un procedimiento del sistema contiene palabras reservadas, signos de puntuacin o espacios en blanco incrustados, debe ir entre comillas simples o dobles. Si el parmetro es el nombre de un objeto y se califica mediante el nombre de su base de datos o de su propietario, todo el nombre debe ir entre comillas.

    Las sesiones pueden invocar procedimientos del sistema mediante modos encadenados o no encadenados de transaccin. Sin embargo, los procedimientos del sistema que modifican datos en las tablas del sistema de master no pueden ejecutarse desde dentro de una transaccin, ya que esto podra comprometer su recuperacin. Los procedimientos del sistema que crean tablas temporales no pueden ejecutarse desde transacciones.

    Si no hay ninguna transaccin activa cuando se ejecutan procedimientos del sistema, SQL Server desactiva el modo no encadenado y define transaction isolation level 1 mientras dure el procedimiento. Antes de volver, el modo encadenado de la sesin y el nivel de aislamiento se redefinen a sus valores originales. Para ms informacin sobre los modos de transaccin y los niveles de aislamiento, consulte el Manual de Referencia de SQL Server .

    Todos los procedimientos del sistema indican un estado de retorno. Por ejemplo: return status = 0

    significa que el procedimiento se ejecut con xito.

    Tablas de procedimientos del sistema

    Los procedimientos del sistema utilizan varias tablas de procedimientos del sistema de la base de datos master para convertir valores internos del sistema (por ejemplo, bits de estado) a un formato legible para las personas. Una de ellas, spt_values , es empleada por una amplia variedad de procedimientos del sistema, incluidos sp_configure , sp_dboption , sp_depends , sp_help , sp_helpdb , sp_helpdevice , sp_helpindex , sp_helpkey , sp_helprotect y sp_lock .

    La tabla spt_values puede actualizarse slo mediante una versin mejorada; nunca debe modificarse manualmente. Para ver cmo se usa, ejecute sp_helptext y observe el texto para uno de los procedimientos del sistema a que hace referencia.

    Las dems tablas de procedimientos del sistema incluyen spt_monitor y spt_committab y las tablas necesarias para los procedimientos de catlogo. Adems, algunos de los procedimientos del sistema crean y luego omiten tablas temporales. Por ejemplo, sp_helpdb crea #spdbdesc , sp_helpdevice crea #spdevtab y sp_helpindex crea #spindtab .

  • Creacin de procedimientos del sistema

    Muchos de los procedimientos del sistema se explican en este manual en las secciones pertinentes. El Manual de Referencia de SQL Server los enumera y describe todos.

    Los administradores del sistema pueden escribir procedimientos ejecutables desde cualquier base de datos. Basta crear un procedimiento almacenado en sybsystemprocs y darle un nombre que comience con "sp_". El uid del procedimiento almacenado debe ser 1, que es el uid del propietario de la base de datos.

    Muchos de los procedimientos del sistema credos personalmente consultan tablas del sistema. Tambin puede crear procedimientos que modifiquen las tablas del sistema, aunque no es aconsejable.

    Para crear un procedimiento almacenado que modifique tablas del sistema, un oficial de seguridad del sistema debe activar antes el parmetro de configuracin allow updates to system tables . Cualquier procedimiento almacenado que se cree mientras este parmetro est "activado" podr actualizar las tablas del sistema siempre , aunque allow updates to system tables est "desactivado". Para crear un procedimiento almacenado que actualice tablas del sistema:

    1. Utilice sp_configure para activar allow updates to system tables . 2. Cree el procedimiento almacenado con el comando create procedure . 3. Utilice sp_configure para desactivar allow updates to system tables .

    Warning! Tenga un cuidado extremo cuando modifique tablas del sistema. Pruebe siempre los procedimientos que modifican tablas del sistema con bases de datos en desarrollo o de prueba, no con la base de datos de produccin.

    Registro de los mensajes de error SQL Server escribe informacin de arranque en un archivo local de diario de errores cada vez que se inicia. El nombre y ubicacin del archivo de diario de errores se determina mediante un parmetro de arranque ( -e en la mayora de plataformas). El programa de instalacin define automticamente la ubicacin del diario de errores cuando se configura un nuevo SQL Server. Consulte la gua de instalacin y configuracin de SQL Server para conocer la ubicacin y nombre de archivo predeterminados.

    Muchos mensajes de error de SQL Server van slo al terminal del usuario. Sin embargo, los mensajes de error fatales (niveles de seguridad 19 y superiores), los del kernel y los mensajes informativos de SQL Server se registran en el diario de errores.

    SQL Server mantiene abierto el archivo del diario de errores hasta que detenga el proceso del servidor. Si necesita reducir el tamao del diario de errores eliminando mensajes antiguos, detenga el proceso de SQL Server antes de hacerlo.

    Note: En algunas plataformas, como Windows NT, SQL Server tambin registra mensajes de error en el diario de eventos del sistema operativo. Para informacin

  • adicional sobre los diarios de errores, consulte la gua de instalacin y configuracin de SQL Server.

    El archivo de interfaces

    SQL Server puede comunicarse con otros SQL Server, aplicaciones Open Server y programas cliente en la red. Los clientes pueden hablar con uno o ms servidores, y los servidores pueden comunicarse entre s mediante llamadas de procedimientos remotos. Para que los productos interacten unos con otros, cada uno de ellos debe saber dnde residen los otros en la red. Esta informacin se almacena en un archivo de interfaces (que puede llamarse interfaces , interfac o sql.ini , dependiendo del sistema operativo).

    El archivo de interfaces es como una agenda de direcciones. Contiene el nombre y direccin de todos los servidores conocidos. Cuando se emplea un programa cliente para conectarse a un servidor, el programa busca el nombre del servidor en el archivo de interfaces y entonces se conecta al servidor usando la direccin, como se muestra en la Figura 1-1.

    Figure 1-1: Conexin a SQL Server

    El nombre, ubicacin y contenido del archivo de interfaces vara de un sistema operativo a otro. El formato de las direcciones de SQL Server en el archivo de interfaces tambin vara de un protocolo de red a otro.

    Al instalar SQL Server, el programa de instalacin crea un archivo de interfaces simple que se puede utilizar para las conexiones locales a SQL Server mediante uno o ms protocolos de red. Como administrador del sistema, es responsabilidad suya modificar el archivo de interfaces y distribuirlo entre los usuarios para que puedan conectarse a SQL Server por la red. Para obtener informacin sobre el archivo de interfaces correspondiente a su plataforma, consulte la gua de instalacin y configuracin de SQL Server.

    Chapter 2

    Bases de datos del sistema

    En este captulo se describen las bases de datos del sistema que residen en todos los sistemas SQL Server y las bases de datos opcionales suministradas por Sybase que pueden instalarse. Este captulo incluye las secciones siguientes:

    Introduccin a las bases de datos del sistema Base de datos master Base de datos model Base de datos sybsystemprocs Base de datos tempdb Base de datos sybsecurity Base de datos de ejemplo pubs2 Base de datos sybsyntax

    Introduccin a las bases de datos del sistema

  • Al instalarse, SQL Server incluye estas bases de datos del sistema :

    La base de datos master La base de datos model La base de datos de procedimientos del sistema, sybsystemprocs La base de datos temporal, te mpdb

    Optativamente, es posible instalar:

    La base de datos de auditora, sybsecurity. Utilice el programa de instalacin para instalarla.

    El ejemplo de base de datos, pubs2 . Utilice isql y el guin de instalacin de pubs2 (llamado installpubs2 en la mayora de plataformas) para instalarla.

    La base de datos de sintaxis, sybsyntax . Utilice isql y varios guiones de instalacin para instalarla.

    Las bases de datos master , model y temporal residen en el dispositivo indicado durante la instalacin, que se conoce como d_master . La base de datos master est contenida por completo en el dispositivo master y no puede expandirse en ningn otro. Las dems bases de datos y objetos de usuario deben crearse en otros dispositivos.

    Warning! No almacene bases de datos de usuario en el dispositivo master, pues dificultara la recuperacin de las bases de datos del sistema en caso de que resultaran daadas. Adems, es posible que no pueda recuperar bases de datos de usuario guardadas en d_master usando las instrucciones del Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema".

    La base de datos sybsecurity debe instalarse en su propio dispositivo y segmento. Esta recomendacin se explica en la gua de instalacin y configuracin de SQL Server .

    sybsystemprocs puede instalarse en un dispositivo de su eleccin . Tal vez desee modificar los guiones de instalacin de pubs2 y sybsyntax para que compartan el dispositivo creado para sybsystemprocs.

    Note: El guin installpubs2 no especifica un dispositivo en su instruccin create database , y por lo tanto se crea en el dispositivo predeterminado. En la instalacin, master es el dispositivo predeterminado. Para cambiarlo, puede editar el guin o seguir las instrucciones incluidas en este manual para aadir ms dispositivos de base de datos y designar los predeterminados.

    Base de datos master

    La base de datos master controla el funcionamiento de SQL Server en su conjunto y almacena informacin sobre todas las bases de datos de usuario, y sus dispositivos asociados. Hace el seguimiento de:

    Cuentas de usuarios (en syslogins ) Cuentas de usuarios remotos (en sysremotelogins ) Servidores remotos con los que puede interactuar este servidor (en sysservers ) Procesos en curso (en sysprocesses )

  • Variables de entorno configurables (en sysconfigures ) Mensajes de error del sistema (en sysmessages ) Bases de datos en SQL Server (en sysdatabases ) Espacio asignado a cada base de datos (en sysusages ) Cintas y discos montados en el sistema (en sysdevices ) Bloqueos activos (en syslocks ) Juegos de caracteres (en syscharsets ) e idiomas (en syslanguages ) Usuarios que tienen roles en todo el servidor (en sysloginroles ) Roles del servidor (en syssrvroles ) Mquinas SQL Server que estn en lnea (en sysengines )

    Dado que master guarda informacin sobre los dispositivos y bases de datos de usuario, es necesario estar en la base de datos master para poder ejecutar create database , alter database , disk init , disk refit , disk reinit y los comandos de duplicacin de disco.

    Control de creacin de objetos en master

    Al instalar SQL Server por primera vez, slo los administradores del sistema pueden crear objetos en la base de datos master , porque se convierten implcitamente en los "dbo" de cualquier base de datos que usen. Los objetos que se creen en el dispositivo de base de datos master deben usarse para la administracin del sistema en conjunto. Los permisos de master deben permanecer definidos para que la mayora de usuarios no puedan crear objetos en l.

    Warning! Nunca site objetos de usuario en master . Almacenarlos ah puede provocar que el diario de transacciones se llene con rapidez. Si el diario agota el espacio por completo, no podr utilizar comandos dump transaction para liberar espacio en master .

    Otra forma de dificultar que los usuarios creen objetos en master es cambiar la base de datos predeterminada de los usuarios (a la que se conectan cuando tienen acceso) con el procedimiento del sistema sp_modifylogin , que se describe en la Gua de Administracin de Seguridad .

    Si crea sus propios procedimientos del sistema, hgalo en la base de datos sybsystemprocs antes que en master .

    Proteccin de SQL Server mediante la copia de seguridad de master

    Para prevenir las consecuencias de un fallo de hardware o software en SQL Server, las dos tareas principales de mantenimiento son:

    Realizar copias de seguridad frecuentes de la base de datos master y de todas las bases de datos de usuario.

    Note: Realice una copia de seguridad de la base de datos master con dump database siempre que cree, altere u omita cualquier dispositivo, base de datos u objeto de base de datos, y siempre que ejecute un procedimiento almacenado que cambie la base de datos master . Consulte el Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema".

  • Mantener una copia (preferiblemente fuera de lnea) de estas tablas del sistema: sysusages, sysdatabases, sysdevices , sysloginroles y syslogins . Es conveniente crear un guin para ejecutar estos comandos: select * from sysusages order by vstart select * from sysdatabases select * from sysdevices select * from sysloginroles select * from syslogins

    Si dispone de copias de estas tablas y se produce un fallo del disco duro u otro problema que inutilice la base de datos, puede usar los procedimientos de recuperacin que se describen en el Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema". Si no tiene copias actualizadas, ser mucho ms difcil recuperar SQL Server cuando resulte daada la base de datos master .

    Base de datos model

    SQL Server incluye la base de datos model , que sirve de plantilla, o prototipo, de las nuevas bases de datos de usuario. Cada vez que un usuario introduce el comando create database , SQL Server realiza una copia de la base de datos model y extiende la copia al tamao especificado por el comando create database .

    Note: Una base de datos nueva no puede ser ms pequea que la model .

    model contiene las tablas del sistema necesarias para cada base de datos de usuario. Puede modificar model para personalizar la estructura de las nuevas bases de datos creadas. Todo lo que haga en model se reflejar en cada base de datos nueva. Algunos de los cambios que los administradores suelen efectuar son:

    Aadir reglas, valores predeterminados o tipos de datos definidos por el usuario. Aadir los usuarios que deben tener acceso a todas las bases de datos de SQL

    Server. Conceder privilegios predeterminados, en especial para las cuentas huspedes. Definir opciones de base de datos, como select into/bulkcopy . Los valores

    (originalmente "desactivados" en model ) se reflejarn en todas las bases de datos nuevas. El Captulo 15, "Definicin de opciones de base de datos", describe las opciones de base de datos.

    Normalmente, la mayora de los usuarios no tienen permiso para modificar la base de datos model . Tampoco tiene sentido conceder permiso de lectura, puesto que SQL Server copia todo su contenido a cada nueva base de datos de usuario.

  • El tamao de model no puede ser mayor que el de tempdb . SQL Server muestra un mensaje de error si se intenta aumentar el tamao de model sin dar a tempdb ese mismo tamao como mnimo.

    Note: Conserve una copia de seguridad de la base de datos model y efecte una nueva copia con dump database siempre que la modifique. En caso de fallo del disco, restaure model tal como hara con una base de datos de usuario.

    Base de datos sybsystemprocs

    Los procedimientos del sistema de Sybase se almacenan en la base de datos sybsystemprocs. Cuando un usuario ejecuta, desde cualquier base de datos, un procedimiento almacenado cuyo nombre comienza con "sp_", SQL Server lo busca primero en la base de datos actual del usuario. Si no est ah, SQL Server lo busca en sybsystemprocs . Si tampoco est, SQL Server busca el procedimiento en master.

    Si el procedimiento modifica tablas del sistema (por ejemplo, sp_adduser modifica la tabla sysusers), los cambios se realizan en la base de datos desde la que se ejecut el procedimiento.

    Si desea cambiar los permisos predeterminados sobre los procedimientos del sistema, debe hacerlo en sybsystemprocs.

    Note: Si modifica sybsystemprocs o aade procedimientos almacenados propios a la base de datos, realice copias de seguridad de la base de datos con regularidad .

    Base de datos tempdb

    SQL Server tiene una base de datos temporal , tempdb , que proporciona un rea de almacenamiento para tablas temporales y otras necesidades temporales (por ejemplo, resultados intermedios de group by y order by ). El espacio de tempdb se comparte entre todos los usuarios de todas las bases de datos del servidor.

    El tamao predeterminado de tempdb es 2MB. Ciertas actividades pueden requerir el incremento de su tamao. Las ms comunes son:

    Tablas temporales grandes. Mucha actividad en tablas temporales, que llena los diarios tempdb . Ordenaciones grandes o muchas ordenaciones simultneas. Las subconsultas y

    agregados con group by tambin causan cierta actividad en tempdb .

    Se puede aumentar el tamao de tempdb con el comando alter database . tempdb se crea inicialmente en el dispositivo master. Puede aadirse espacio del master o de cualquier otro dispositivo de base de datos.

    Creacin de tablas temporales

    No son necesarios permisos especiales para utilizar tempdb , es decir, para crear tablas temporales o para ejecutar comandos que precisen espacio de almacenamiento en la base de datos temporal.

  • Para crear tablas temporales anteponga el smbolo # al nombre de la tabla en una instruccin create table o especifique el prefijo "tempdb..".

    A una tabla temporal creada con el smbolo # slo puede tener acceso la sesin actual de SQL Server: los usuarios de otras sesiones no pueden tener acceso a ella. Estas tablas temporales no compartibles se destruyen al final de la sesin actual. Los 13 primeros bytes del nombre de la tabla, incluido el smbolo #, deben ser nicos. SQL Server asigna a los nombres de dichas tablas un sufijo numrico de 17 bytes. (El sufijo se ve al consultar tempdb..sysobjects .)

    Las tablas temporales creadas con el prefijo "tempdb.." se almacenan en tempdb y pueden compartirse entre varias sesiones de SQL Server. SQL Server no cambia los nombres de las tablas temporales creadas de esta forma. La tabla existe hasta que se reinicie SQL Server o hasta que su propietario la omita utilizando drop table .

    Los procedimientos del sistema (por ejemplo, sp_help ) trabajan sobre tablas temporales, pero slo si se usan desde tempdb .

    Si un procedimiento almacenado crea tablas temporales, stas se omiten cuando el procedimiento sale. Las tablas temporales tambin pueden omitirse explcitamente antes de que termine una sesin.

    Cada vez que se reinicia, SQL Server copia model a tempdb, lo cual borra la base de datos. Las tablas temporales no pueden recuperarse.

    Base de datos sybsecurity

    sybsecurity contiene el sistema auditor de SQL Server y consta de:

    La tabla sysaudits , que contiene la lista de auditora. Todos los registros de auditora se escriben en sysaudits.

    La tabla sysauditoptions , que contiene filas que describen las opciones globales de auditora.

    Las dems tablas predeterminadas del sistema que se derivan de model .

    El sistema de auditora se trata con ms detalle en la Gua de Administracin de Seguridad .

    Base de datos de ejemplo pubs2 Instalar la base de datos de ejemplo ( pubs2 ) es opcional. Diseada como utilidad de aprendizaje, pubs2 es la base de la mayora de los ejemplos presentados en la documentacin de SQL Server. Para informacin sobre su instalacin, consulte la gua de instalacin y configuracin de SQL Server.

    Mantenimiento de la base de datos de ejemplo

    La base de datos de ejemplo incluye un mecanismo de usuario invitado que permite el acceso a la base de datos a cualquier SQL Server autorizado. Este usuario tiene amplios privilegios en pubs2 , incluyendo permisos para seleccionar, insertar, actualizar y

  • eliminar tablas de usuario. Para ms informacin sobre el mecanismo de usuario invitado y una lista de permisos para el usuario de p ubs2 , consulte la Gua de Administracin de Seguridad .

    La base de datos pubs2 requiere por lo menos 2MB. Si fuera posible, d una copia limpia de pubs2 a cada usuario nuevo para que los cambios de otros usuarios no lo confundan. Si desea situar pubs2 en un dispositivo especfico de base de datos, edite el guin de instalacin antes de instalarla.

    Si hay problemas de espacio, indique a los usuarios que utilicen el comando begin transaction antes de actualizar la base de datos de ejemplo. Cuando el usuario haya terminado de actualizarla, podr ejecutar rollback transaction para anular los cambios.

    Datos image de pubs2

    SQL Server incluye un guin para instalar datos image en la base de datos pubs2 . Los datos image consisten de seis figuras, dos en cada formato de archivo por trama PICT, TIF y Sun. Sybase no incluye herramientas para mostrar datos image . Use las utilidades grficas de pantalla adecuadas para mostrar las imgenes despus de extraerlas de la base de datos.

    Consulte la gua de instalacin y configuracin de SQL Server para obtener informacin sobre instalacin de los datos image en pubs2 .

    Base de datos sybsyntax

    La base de datos sybsyntax contiene ayuda sobre la sintaxis de los comandos de Transact-SQL, los procedimientos del sistema de Sybase, las utilidades de SQL Server y las rutinas de Open Client DB-Library(TM). Los usuarios pueden recuperar esa informacin mediante el procedimiento del sistema sp_syntax . Por ejemplo, para aprender la sintaxis del comando select de Transact-SQL, escriba: sp_syntax "select"

    SQL Server incluye dos guiones para crear la base de datos sybsyntax . El primer guin, que suele llamarse ins_syn_sql , instala la ayuda para la sintaxis de los comandos de Transact-SQL, los procedimientos del sistema Sybase y las utilidades de SQL Server. El segundo guin, que suele llamarse ins_syn_dblib , instala la ayuda para la sintaxis de las rutinas de Open Client DB-Library. Pueden instalarse uno o ambos guiones.

    Para obtener instrucciones sobre cmo instalar sybsyntax , consulte la gua de instalacin y configuracin de SQL Server. Para ms informacin sobre sp_syntax , consulte el Manual de Referencia de SQL Server .

    Chapter 3

    Nociones de administracin del sistema para principiantes

    En este captulo se esbozan algunas de las tareas bsicas que los administradores del sistema realizan durante la vida de un SQL Server. Incluye las secciones siguientes:

  • Uso de los servidores de "prueba" Instalacin de productos Sybase Asignacin de recursos fsicos Copia de seguridad y recuperacin Mantenimiento continuo y solucin de problemas Mantenimiento de registros Obtencin de ayuda adicional

    Este captulo est destinado principalmente a:

    Presentar temas importantes a los nuevos administradores del sistema. Ayudar a los administradores del sistema a encontrar informacin en la

    documentacin de Sybase.

    Este captulo tambin puede ser til a los administradores experimentados para organizar sus actividades de mantenimiento.

    Ms informacin sobre las tareas presentadas en este captulo aparece en otros manuales de SQL Server o en otra documentacin de Sybase; siempre que corresponda, se incluyen referencias a libros o captulos individuales.

    Uso de los servidores de "prueba"

    Tanto para un administrador del sistema nuevo o experimentado, siempre es aconsejable instalar y utilizar un SQL Server de "prueba" y/o "desarrollo", con intenciones de quitarlo antes de crear el servidor de "produccin". En general, un servidor de prueba facilita la planificacin y verificacin de distintas configuraciones y reduce la tensin inherente a solucionar errores. Es mucho ms fcil aprender a instalar y administrar las nuevas caractersticas cuando no hay riesgo de tener que reiniciar un servidor de produccin o volver a crear una base de datos de produccin.

    Si decide utilizar un servidor de prueba, siempre es mejor hacerlo desde el momento de instalar o actualizar SQL Server, pasando por el proceso de configurar el servidor. Es en esos pasos donde deben tomarse algunas de las decisiones ms importantes sobre el sistema de produccin final. Las secciones siguientes describen las formas en que el uso de un servidor de prueba puede ayudar a los administradores del sistema.

    Comprensin de nuevos procedimientos y funciones

    Un servidor de prueba permite practicar procedimientos bsicos de administracin antes de realizarlos en un entorno de produccin. Si usted es un administrador nuevo de SQL Server, muchos de los procedimientos tratados en este libro pueden serle desconocidos, y tal vez necesite efectuar varios intentos antes de completar una tarea con xito. Sin embargo, incluso los administradores experimentados se beneficiarn de practicar las tcnicas introducidas por las nuevas caractersticas de SQL Server, versin 11.0.

    Planificacin de recursos

    Al configurar un servidor nuevo, los administradores suelen descubrir que necesitan discos, memoria o hardware adicionales para soportar sus objetivos de rendimiento y

  • capacidad. La utilizacin de un servidor de prueba ayuda a planificar los requisitos finales de recursos para su sistema y a descubrir las deficiencias que podra no haber previsto.

    En particular, los recursos de disco pueden tener un efecto decisivo sobre el diseo final del sistema de produccin. Por ejemplo, usted puede decidir que cierta base de datos requiere una recuperacin ininterrumpida en caso de un fallo de los medios. Esto requerira configurar uno o ms dispositivos adicionales para duplicar la base de datos crucial. Descubrir la necesidad de estos recursos en un servidor de prueba permite cambiar la disposicin fsica de las bases de datos y tablas sin afectar a los usuarios de las mismas.

    Tambin puede usar un servidor de prueba como entorno "seguro" para evaluar SQL Server y las aplicaciones empleando diferentes configuraciones de hardware. As podr determinar la configuracin ptima de los recursos fsicos a nivel de SQL Server y del sistema operativo, antes de habilitar todo el sistema para el uso general.

    Consecucin de los objetivos de rendimiento

    Aunque en ocasiones se puede mejorar el rendimiento de los servidores de produccin "sobre la marcha", muchos objetivos de rendimiento pueden cumplirse slo planificando cuidadosamente el diseo y configuracin de las bases de datos. Por ejemplo, usted puede descubrir que el rendimiento de insercin y E/S de cierta tabla es engorroso. En este caso, la mejor lnea de accin puede ser volver a crear la tabla en un segmento dedicado y dividir la tabla en partes. Los cambios de esta naturaleza causan trastornos en un sistema de produccin, e incluso la modificacin de un parmetro de configuracin puede requerir la reinicializacin de SQL Server.

    Instalacin de productos Sybase

    Instalar SQL Server y otros productos Sybase suele ser la tarea del administrador del sistema. Si la instalacin es responsabilidad suya, utilice las siguientes indicaciones en el proceso.

    Comprobacin de la compatibilidad de los productos

    Antes de instalar productos nuevos o versiones mejoradas de productos existentes, lea siempre el R elease Bulletin de los productos para enterarse de los aspectos relacionados con la compatibilidad que podran afectar a su sistema. Pueden producirse problemas de compatibilidad entre hardware y software y entre el mismo software de versiones diferentes. La lectura previa del Release Bulletin puede ahorrarle el tiempo y trabajo de solucionar problemas de compatibilidad conocidos.

    Lea adems las listas de problemas conocidos que se instalan con SQL Server. Para ms informacin sobre esas listas, consulte "Aprendizaje de problemas conocidos".

    Instalacin de SQL Server o de una versin mejorada

    Lea toda la gua de instalacin y configuracin de SQL Server antes de comenzar una instalacin o actualizar una versin. Ser necesario planificar partes de la instalacin y

  • configurar el sistema operativo antes de instalar SQL Server. Tambin es til consultar al administrador local de su sistema operativo para definir los requisitos del sistema operativo para SQL Server. Dichos requisitos pueden incluir la configuracin de memoria, dispositivos en bruto, E/S asincrnica y otras caractersticas, dependiendo de la plataforma empleada. Muchas de estas tareas no pueden llevarse a cabo una vez iniciada la instalacin.

    Si est instalando la versin mejorada de un servidor, efecte una copia de seguridad de todos los datos (incluyendo la base de datos master , las bases de datos de usuario, disparadores y procedimientos del sistema) fuera de lnea antes de comenzar. Despus de instalada, cree inmediatamente otra copia de seguridad completa de los datos, en especial si hay incompatibilidades entre los archivos de volcado antiguos y las versiones ms modernas.

    Instalacin de software de red adicional

    Generalmente, SQL Server incluye soporte para los protocolos de red que son habituales en cada plataforma de hardware. Si su red soporta protocolos adicionales, instale el soporte correspondiente. Como siempre, lea primero el Release Bulletin para comprobar que el software es compatible con esta versin de SQL Server.

    Configuracin y prueba de las conexiones cliente

    Una conexin cliente satisfactoria depende de la coordinacin entre SQL Server, el software cliente y los productos de red. Si utiliza uno de los protocolos de red instalados con SQL Server, consulte la gua de instalacin y configuracin de SQL Server para obtener informacin sobre la verificacin de las conexiones de red. Si emplea otro protocolo de red, siga las instrucciones incluidas con el producto. Tambin puede usar utilidades "ping", incluidas con los productos de conectividad de Sybase, para probar las conexiones cliente con SQL Server.

    Una vez configuradas satisfactoriamente las conexiones de red, realice una copia de seguridad del archivo de interfaces master y utilcelo para todas las conexiones cliente. "El archivo de interfaces" proporciona una descripcin general de dicho archivo. Para obtener ms detalles sobre el nombre y contenido del archivo de interfaces, consulte la gua de instalacin y configuracin de SQL Server.

    Asignacin de recursos fsicos

    La asignacin de recursos fsicos es el proceso de dar la memoria, espacio en disco y capacidad de la CPU a SQL Server necesarios para alcanzar los objetivos de rendimiento y recuperacin. Todo administrador de sistema debe tomar decisiones en cuanto al uso de los recursos cuando instala un nuevo servidor. Tambin deber cambiar la asignacin de recursos de SQL Server si posteriormente realiza una mejora de su plataforma de hardware aadiendo nueva memoria, controladores de disco o CPU, o cuando cambie el diseo del sistema de base de datos. O bien, la evaluacin previa de SQL Server y las aplicaciones puede ayudarle a identificar deficiencias en los recursos de hardware que crean atascamientos en el rendimiento.

  • Consulte el Captulo 5, "Introduccin a los temas de recursos de disco", de este manual para conocer los tipos de recursos de disco que SQL Server requiere. Consulte tambin el Captulo 8, "Configuracin de la memoria", y el Captulo 10, "Administracin de servidores multiprocesadores", para obtener informacin sobre la memoria y los recursos de la CPU.

    Las secciones siguientes proporcionan indicaciones prcticas para determinar los requisitos de recursos fsicos.

    Servidores dedicados o compartidos

    El primer paso en la planificacin de los recursos de SQL Server es comprender qu recursos necesitan las o tras aplicaciones que se ejecutan en la misma mquina. Habitualmente, los administradores de sistema "dedican" una mquina exclusivamente al uso de SQL Server, es decir, slo el sistema operativo y el software de red consumen recursos que, de lo contrario, deberan estar reservados a SQL Server. En un sistema "compartido", otras aplicaciones, como programas clientes de SQL Server o servidores de impresin, se ejecutan en la misma mquina que SQL Server. Puede ser difcil calcular los recursos disponibles para SQL Server en un sistema compartido, ya que los tipos de programas y su forma de uso pueden cambiar a lo largo del tiempo.

    En cualquier caso, es responsabilidad del administrador del sistema tener en cuenta los recursos empleados por los sistemas operativos, programas clientes, sistemas de ventanas y otros, cuando configura recursos para SQL Server. Configure SQL Server para que emplee slo los recursos disponibles. De lo contrario, el servidor puede funcionar con un rendimiento mediocre o simplemente no iniciarse. El Captulo 8, "Configuracin de la memoria", describe cmo estimar la memoria que utiliza SQL Server. Consulte tambin el Captulo 5, "Introduccin a los temas de recursos de disco", y el Captulo 10, "Administracin de servidores multiprocesadores", para comprender cmo el servidor utiliza los recursos de disco y de CPU.

    Aplicaciones de apoyo a decisiones y OLTP

    Determine, con antelacin, la combinacin requerida entre la cantidad de trabajo del proceso de transacciones en lnea (OLTP) y el trabajo de apoyo a decisiones que se espera que realice SQL Server. SQL Server contiene muchas caractersticas que optimizan el rendimiento para OLTP, apoyo de decisiones y entornos mixtos. Sin embargo, usted debe determinar los requisitos de las aplicaciones de su sistema para poder hacer un uso ptimo de esas caractersticas.

    Para sistemas mixtos de trabajo, elabore una lista con las tablas individuales que cree que sern ms utilizadas para cada tipo de aplicacin. Esta lista puede ser til al configurar cachs con nombre o crear particiones de datos para lograr el mximo rendimiento de las aplicaciones.

    Planificacin anticipada del uso de recursos

    Es de extrema importancia comprender y planificar el uso de recursos con antelacin. En el caso de los recursos de disco, por ejemplo, una vez que inicialice y asigne un dispositivo a SQL Server, ese dispositivo no puede usarse para ningn otro propsito

  • (aunque SQL Server nunca lo llene con datos). De forma similar, SQL Server se reserva automticamente la memoria para la que est configurado, y ninguna otra aplicacin puede utilizar esa memoria.

    Estas sugerencias pueden ayudarle a planificar el uso de recursos:

    A efectos de recuperacin, siempre es aconsejable situar el diario de transacciones de una base de datos en un dispositivo fsico distinto a donde se encuentran sus datos. Consulte el Captulo 14, "Creacin de bases de datos de usuarios".

    Tenga presente la posibilidad de duplicar los dispositivos que contienen datos de mxima importancia. Consulte el Captulo 7, "Duplicacin de dispositivos de base de datos". Tambin puede usar arreglos y la duplicacin de discos para los datos de SQL Server si el sistema operativo lo permite.

    Si trabaja con un SQL Server de prueba, puede inicializar los dispositivos de base de datos como archivos del sistema operativo para su comodidad, y no como dispositivos en bruto. Esto le ayuda a determinar tamaos exactos de los dispositivos en bruto que crear para el servidor de produccin. Para obtener informacin sobre la configuracin de archivos del sistema operativo o de dispositivos en bruto, consulte la gua de instalacin y configuracin de SQL Server.

    Tenga en cuenta que la modificacin de las opciones de configuracin puede afectar a la forma en que SQL Server consume los recursos fsicos. Esto es especialmente vlido para los recursos de memoria. Consulte el Captulo 11, "Definicin de los parmetros de configuracin", para ms informacin sobre cunta memoria utilizan los parmetros individuales.

    Configuracin del sistema operativo

    Muchas veces, es necesario configurar recursos fsicos a nivel del sistema operativo antes de que puedan estar disponibles para SQL Server. Tras determinar qu recursos estn disponibles y cules son necesarios, configrelos a nivel del sistema operativo:

    Inicialice los dispositivos en bruto con los tamaos que requiera SQL Server. Si inicializa un dispositivo en bruto para SQL Server, no podr utilizarse para ningn otro propsito (por ejemplo, para contener archivos del sistema operativo). Solicite asistencia a su administrador de UNIX para inicializar y configurar dispositivos en bruto con los tamaos requeridos.

    Configure el nmero de conexiones de red. El parmetro number of user connections controla el nmero mximo de conexiones con SQL Server. Sin embargo, debe asegurarse de que la mquina en que se ejecute SQL Server soporta en realidad tantas conexiones. Para ello, normalmente se define una variable en un archivo de arranque del sistema operativo. Consulte la documentacin de su sistema operativo.

    Puede ser necesario configurar otros parmetros para su sistema operativo y las aplicaciones que emplee. La gua de instalacin y configuracin de SQL Server describe los requisitos del sistema operativo para SQL Server. Lea tambin la documentacin del software cliente o consulte a sus tcnicos para comprender los requisitos del sistema operativo de sus aplicaciones.

  • Copia de seguridad y recuperacin

    La realizacin de copias peridicas de seguridad de las bases de datos es un factor clave para mantener la integridad del sistema de base de datos. Aunque SQL Server se recupera automticamente de los fallos del sistema (por ejemplo, cortes de corriente) o del servidor, slo el administrador puede resolver la prdida de datos provocada por un fallo del disco. Siga las pautas bsicas que se indican a continuacin para realizar copias de seguridad del sistema.

    Los captulos 17 a 20 de este manual describen cmo desarrollar e implementar un plan de copia de seguridad y recuperacin.

    Mantenimiento de copias de seguridad actualizadas de master

    La copia de seguridad de la base de datos master es la piedra angular de cualquier plan de copia de seguridad y recuperacin. La base de datos master contiene detalles sobre la estructura de todo el sistema de bases de datos. La misma controla las bases de datos de SQL Server, los dispositivos y los fragmentos de dispositivos que constituyen esas bases de datos. Dado que SQL Server necesita esa informacin durante una recuperacin, es crucial mantener una copia de seguridad actualizada de la base de datos master siempre.

    Para garantizar que la copia de seguridad de master est siempre actualizada, realcela despus de cada comando que afecte a los discos, almacenamiento, bases de datos o segmentos. Es decir, realice una copia de seguridad de master despus de cualquiera de los procedimientos siguientes:

    Crear o eliminar bases de datos. Inicializar nuevos dispositivos de bases de datos. Aadir nuevos dispositivos de volcado. Utilizar cualquier comando de duplicacin de dispositivos. Crear u omitir procedimientos almacenados del sistema, si estn en master. Crear, omitir o modificar un segmento. Aadir nuevos logins de SQL Server.

    Para realizar una copia de seguridad de master en un dispositivo de cinta, inicie isql e introduzca el comando:

    dump database master to " tape_device "

    donde tape_device es el nombre del dispositivo de cinta (por ejemplo, /dev/rmt0 ).

    Mantenimiento de copias fuera de lnea de las tablas del sistema

    Adems de realizar copias de seguridad de master regularmente, mantenga copias fuera de lnea del contenido de las siguientes tablas del sistema: sysdatabases , sysdevices , sysusages , sysloginroles y syslogins . Para ello, emplee la utilidad defncopy , que se describe en el manual de los programas de utilidad de SQL Server, y guarde una copia impresa del contenido de cada tabla del sistema. Cree dicha copia imprimiendo la salida de las consultas siguientes:

  • select * from sysusages order by vstart select * from sysdatabases select * from sysdevices select * from sysloginroles select * from syslogins

    Si dispone de esas copias y se produce un fallo del disco duro u otro problema que inutilice la base de datos, podr emplear los procedimientos de recuperacin descritos en el Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema".

    Tambin mantenga copias de todos los guiones del lenguaje de definicin de datos (DDL) para los objetos de los usuarios, como se describe en "Mantenimiento de registros".

    Automatizacin de las copias de seguridad

    La creacin de un procedimiento automatizado de copias de seguridad elimina dudas sobre la realizacin de dichas copias y agiliza y simplifica la ejecucin del procedimiento. La automatizacin de las copias de seguridad puede ser tan simple como usar un guin o una utilidad del sistema operativo (por ejemplo, la utilidad cron de UNIX) para ejecutar los comandos de copia de seguridad necesarios. O bien, se puede automatizar el procedimiento an ms mediante umbrales, que se explican en el Captulo 21, "Administracin de espacio libre con umbrales".

    Aunque los comandos necesarios para crear un guin automatizado varan en funcin del sistema operativo que se emplee, todos los guiones deben llevar a cabo los mismos pasos bsicos:

    1. Iniciar isql y volcar el diario de transacciones a un rea de almacenamiento (por ejemplo, un archivo temporal).

    2. Cambiar el nombre del archivo de volcado por uno que contenga la fecha y hora del volcado y el nombre de la base de datos.

    3. Anotar la nueva copia de seguridad en un archivo de historial. 4. Registrar los errores que se produzcan durante el volcado en un archivo de

    errores aparte. 5. Enviar correo automticamente al administrador del sistema informndole de las

    situaciones de error.

    Un guin que efecte estas tareas simplifica el proceso de realizar copias de seguridad incrementales. Peridicamente, tambin se debe verificar la consistencia de la base de datos mediante dbcc , volcar toda la base de datos a cinta y purgar los archivos de diario incrementales.

    Verificacin de la consistencia de los datos antes de hacer una copia de seguridad de la base de datos

    Tener copias de seguridad de una base de datos puede no ser suficiente es necesario disponer de copias de seguridad coherentes y exactas (en especial de master ). Si realiza una copia de una base de datos con errores internos, tendr los mismos errores cuando la restaure.

  • Utilizando los comandos dbcc , podr comprobar la presencia de errores en una base de datos antes de realizar su copia de seguridad. Los comandos dbcc verifican que el contenido de una base de datos o de un objeto de base de datos "tenga sentido" con SQL Server. Utilice siempre los comandos dbcc para verificar la integridad de una base de datos antes de volcarla. Si dbcc detecta errores, corrjalos antes de proceder con el volcado.

    Con el tiempo, podr pensar en ejecutar dbcc como seguro para sus bases de datos. Si encontr pocos o ningn error al ejecutar dbcc en el pasado, puede decidir que el riesgo de corrupcin de la base de datos es pequeo y ejecutar dbcc slo ocasionalmente. O, si las consecuencias de perder datos son graves, contine ejecutando comandos dbcc cada vez que realice una copia de seguridad.

    Note: Por razones de rendimiento, muchos administradores prefieren ejecutar las verificaciones dbcc fuera de las horas pico o en servidores aparte.

    Consulte el Captulo 17, "Verificacin de la consistencia de las bases de datos", para obtener informacin sobre el comando dbcc .

    Control del tamao del diario

    Si el diario de transacciones est casi lleno, puede resultar imposible usar procedimientos estndar para volcar las transacciones y recuperar espacio. El administrador del sistema debe controlar el tamao del diario y realizar volcados peridicos del diario de transacciones (adems de los volcados habituales de las bases de datos) para garantizar que nunca se produzca esa situacin. Utilice el mtodo que prefiera para definir un procedimiento almacenado de umbral que le notifique automticamente (o que vuelque el diario automticamente) cuando el diario llega a cierta capacidad. Consulte el Captulo 21, "Administracin de espacio libre con umbrales", para obtener informacin sobre el uso de los procedimientos de umbral. Tambin es aconsejable volcar el diario de transacciones inmediatamente antes de un volcado completo de la base de datos para abreviar el tiempo necesario de volcado y carga de la misma.

    Tambin puede controlarse el espacio utilizado en el segmento de diario manualmente, por medio del procedimiento almacenado sp_helpsegment , como se describe en "Obtencin de informacin sobre los segmentos".

    Mantenimiento continuo y solucin de problemas

    Adems de realizar copias de seguridad programadas peridicamente, el administrador del sistema realiza las siguientes actividades de mantenimiento durante la vida de un servidor.

    Inicio y detencin de SQL Server

    Muchos administradores automatizan el procedimiento para iniciar SQL Server de forma que coincida con el arranque de la mquina servidora. Para hacerlo as, edite los guiones de inicio del sistema operativo o srvase de otros procedimientos del sistema

  • operativo. Para determinar cmo iniciar y detener SQL Server, consulte la gua de instalacin y configuracin de SQL Server.

    Visualizacin y poda del diario de errores

    El administrador del sistema debe examinar el contenido del diario de errores de forma peridica para comprobar si se ha producido algn error grave. Tambin se pueden emplear guiones del sistema operativo para buscar ciertos mensajes en el diario de errores y notificar al administrador del sistema cuando se detectan ciertos errores. La verificacin peridica del diario de errores ayuda a determinar si hay problemas continuos de la misma naturaleza o si cierto dispositivo de base de datos resulta problemtico. Consulte el Captulo 4, "Diagnosis de problemas en el sistema", para obtener ms informacin sobre los mensajes de error y su gravedad.

    El archivo del diario de errores puede llegar a ser muy grande, ya que SQL Server aade mensajes informativos y de estado en el diario cada vez que se inicia. Puede "podar" el diario peridicamente abrindolo y eliminando los registros antiguos. Si mantiene el diario con un tamao manejable, ahorrar espacio en el disco y facilitar la localizacin de errores actuales.

    Mantenimiento de registros

    Mantener registros del sistema SQL Server es una parte importante de su labor como administrador del sistema. Un registro preciso de los cambios y problemas experimentados puede ser una valiosa referencia cuando se ponga en contacto con el Servicio de Asistencia Tcnica o recupere bases de datos. Y ms importante an, proporcionan informacin vital para los administradores a cargo del sistema SQL Server en su ausencia. Las secciones siguientes esbozan los tipos de registros cuyo mantenimiento es ms importante.

    Informacin de contactos

    Mantenga una lista de personas de contacto para su uso (como administrador del sistema) y para el oficial de seguridad del sistema, el operador y los usuarios de las bases de datos de su sistema. Adems, registre personas de contacto secundarias para cada rol. Ponga esta informacin a disposicin de todos los usuarios de SQL Server para que las personas adecuadas reciban solicitudes de mejoras e informes de problemas.

    Informacin de la configuracin

    En condiciones ideales, usted deber crear bases de datos y objetos de base de datos, y configurar SQL Server mediante archivos de guin que posteriormente guardar en un lugar seguro. Esta prctica le permitir volver a crear todo el sistema si se produjese un desastre. Tambin le permitir recrear sistemas de bases de datos con rapidez en nuevas plataformas de hardware, para su evaluacin. Si utiliza una herramienta proporcionada por terceros para realizar la administracin del sistema, recuerde generar guiones equivalentes despus de llevar a cabo las tareas de administracin.

    Considere registrar los siguientes tipos de informacin:

  • Comandos empleados para crear bases de datos y objetos de base de datos (guiones DDL).

    Comandos que aaden nuevos logins y usuarios de base de datos de SQL Server. El archivo de configuracin actual de SQL Server, como se describe en "Uso de

    sp_configure con un archivo de configuracin". El nombre, ubicacin y tamao de todos los archivos y dispositivos en bruto

    inicializados como dispositivos de base de datos.

    Tambin es til mantener un diario fechado de todos los cambios efectuados en la configuracin de SQL Server. Marque cada cambio con una breve descripcin de cundo y por qu lo realiz, as como un resumen del resultado final.

    Programas de mantenimiento

    Mantenga un calendario de eventos para las actividades regulares de mantenimiento programadas. Dicho calendario debe enumerar todos los procedimientos que realice en el lugar:

    Uso de dbcc para verificar la consistencia de las bases de datos. Copia de seguridad de las bases de datos de usuario y de sistema. Control del espacio disponible en los diarios de transacciones (si no se hace

    automticamente). Volcado peridico del diario de transacciones. Examen del contenido de los diarios de errores de SQL Server, Backup

    Server(TM) y SQL Monitor Server(TM). Ejecucin del comando update statistics (consulte "Index Statistics" de la Gua

    de M ejora de R endimiento y A finacin ). Examen de la informacin de auditora, si ha instalado la opcin de auditora. Recompilacin de los procedimientos almacenados. Control de la utilizacin de los recursos de la mquina servidora.

    Informacin del sistema

    Registre informacin sobre el equipo y sistema operativo en que se ejecuta SQL Server. Puede incluir:

    Copias de los archivos de configuracin o de inicio del sistema operativo. Copias de los archivos de configuracin de la red (por ejemplo, los archivos

    hosts y services ). Nombres y permisos para los archivos ejecutables y los dispositivos de base de

    datos de SQL Server. Nombre y ubicacin de los dispositivos de cinta utilizados para las copias de

    seguridad. Copias de los guiones o programas del sistema operativo para copias de

    seguridad automatizadas, inicio de SQL Server u otras actividades de administracin.

    Plan de recuperacin de desastres

  • Haga una lista concisa de pasos de recuperacin para su sistema reuniendo los procedimientos bsicos de copia de seguridad y recuperacin, las sugerencias proporcionadas en "Copia de seguridad y recuperacin", y sus experiencias personales en recuperacin de datos. Esto puede serle til a usted o a otros administradores del sistema que deban recuperar un sistema de produccin si se produce una emergencia.

    Obtencin de ayuda adicional

    La cantidad de nueva informacin que los administradores deben aprender puede parecer abrumadora en ocasiones. Sin embargo, hay varias utilidades de software que pueden ayudarle a aprender y simplificar las tareas bsicas de administracin. Entre ellas, se incluyen SQL Server Monitor, que sirve para controlar el rendimiento del servidor y otras actividades, y SQL Server Manager(TM), que puede ayudarle en muchas tareas de administracin diferentes. Adems, hay muchos paquetes de software de terceros diseados para ayudar a los administradores del sistema a realizar las actividades de mantenimiento diario.

    Chapter 4

    Diagnosis de problemas en el sistema

    En este captulo se explica la diagnosis y solucin de problemas en el sistema. Los temas tratados incluyen:

    Cmo responde SQL Server a problemas en el sistema Diario de errores de Backup Server Destruccin de procesos Cierre de servidores Aprendizaje de problemas conocidos

    Cmo responde SQL Server a problemas en el sistema Cuando SQL Server encuentra un problema (causado por el usuario o por el sistema) muestra informacin sobre el problema, su gravedad y cmo puede solucionarse. Esta informacin consta de:

    Un nmero de mensaje , que identifica en forma exclusiva el mensaje de error. Un nmero de nivel de gravedad entre 10 y 24. Un nmero de estado de error , que permite la identificacin de la lnea de

    cdigo de SQL Server en que se produjo el error. Un mensaje de error , que indica cul es el problema y puede sugerir una forma

    de solucionarlo.

    Esto es lo que sucede si, por ejemplo, usted comete un error mecanogrfico e intenta tener acceso a una tabla que no existe:

    select * from editores Msg 208, Level 16, State 1: Invalid object(table) name editores

  • En algunos casos, puede haber ms de un mensaje de error para una sola consulta. Si hay ms de un error en un lote o consulta, SQL Server suele comunicar el primero solamente. Los errores subsiguientes se anotan la prxima vez que ejecute el lote o consulta.

    Los mensajes de error se almacenan en master..sysmessages , que se actualiza con cada nueva versin de SQL Server. Estas son las primeras filas (de un SQL Server con us_english definido como idioma predeterminado): select error, severity, description from sysmessages where error >=101 and error

  • 101 Ligne %1!: erreur de syntaxe SQL. 1 101 Zeile %1!: SQL Syntaxfehler. 2

    (3 rows affected)

    El texto del mensaje de error es una descripcin del problema y suele incluir un nmero de lnea, una referencia a un tipo de objeto de base de datos (tabla, columna, procedimiento almacenado, etc.) o el nombre de un objeto de base de datos en particular.

    En el campo description de sysmessages , un signo de porcentaje (%) seguido por un carcter o una cadena de caracteres sirve como un marcador de lugar de estos datos, que SQL Server suministra cuando encuentra el problema y genera el mensaje. "%d" es el marcador de lugar de un nmero; "%S_MSG" lo es de un tipo de objeto de base de datos; "%.*s" (todo entre comillas) es un marcador de lugar del nombre de cierto objeto de base de datos. La Figura 4-1 enumera los sustitutos y lo que representan.

    Por ejemplo, el campo description del mensaje nmero 103 es: El %1! que comienza con '%2!' es demasiado largo. La longitud mxima es %3!.

    El mensaje de error real que lee el usuario podra ser: El columna que comienza con 'title' es demasiado largo. La longitud mxima es 80.

    Cuando comunique errores, es importante que incluya los nmeros, tipos de objeto y nombres de objeto. (Consulte "Comunicacin de errores".)

    Variables en el texto de los mensajes de error

    La tabla siguiente explica las abreviaturas que aparecen en el texto de los mensajes de error junto con su explicacin:

    Tabla 4-1: Clave de las abreviaturas en los textos de error Smbolo Representa

    %d, %D Nmero decimal %x, %X, %.*x, %lx, %04x, %08lx Nmero hexadecimal

    %s Cadena terminada en nulo

    %.*s, %*s, %*.s Cadena, normalmente el nombre de cierto objeto de base de datos %S_ type Estructura definida por SQL Server %c Un solo carcter %f Nmero de coma flotante %ld Decimal largo %lf Nmero doble de coma flotante

  • Registro de los errores

    Muchos mensajes de error de SQL Server se envan slo a la pantalla del usuario.

    El rastreo inverso de los mensajes de error fatal (niveles de gravedad 19 y superiores) y los mensajes de error del kernel tambin se envan a un archivo de diario de errores. El nombre de este archivo vara; consulte la gua de instalacin y configuracin de SQL Server o el manual de los programas de utilidad de SQL Server.

    Note: El archivo del diario de errores es propiedad del usuario que instal SQL Server (o de quien lo inici despus de quitar un diario de errores). Los problemas de permiso o propiedad con el diario de errores a nivel del sistema operativo pueden impedir el arranque satisfactorio de SQL Server.

    SQL Server crea un diario de errores automticamente si no existe uno. La ubicacin de este diario depende de cmo se inicia el servidor:

    Si se usa startserver y el archivo de ejecucin del servidor creado por el proceso de instalacin de SQL Server, el comando dataserver incluye una opcin que indica la ubicacin del diario de errores.

    Si se escribe el comando dataserver (o sqlsrvr en plataformas PC) desde el sistema operativo, puede incluirse la opcin que especifica la ubicacin del diario de errores ( -e en plataformas UNIX y PC; /errorfile en OpenVMS).

    Si no se incluye la opcin de diario de errores, el diario se crea en el directorio donde se inicia SQL Server.

    Note: Para poder localizar los diarios de errores, inicie SQL Server siempre desde el mismo directorio, con el archivo de ejecucin del servidor o con el indicador de diario de errores.

    Cada vez que se inicia un servidor, los mensajes del diario de errores proporcionan informacin sobre el xito (o fracaso) del arranque y la recuperacin de cada base de datos del servidor. Los sucesivos mensajes de error fatal y todos los del kernel se aaden al final del archivo del diario de errores. Si necesita reducir el tamao de ese diario eliminando mensajes antiguos o innecesarios, deber "podar" el diario mientras SQL Server est cerrado.

    Formato del diario de errores

    Las entradas del diario de errores incluyen la informacin siguiente:

    La mquina implicada para cada entrada del diario. El nmero de mquina se indica al principio de cada lnea, con un nmero de dos cifras seguido por un signo de dos puntos.

    La fecha, mostrada en el formato aa/mm/dd , que permite ordenar los mensajes de error por fecha.

    La hora, en formato de 24 horas, con segundos y centsimas de segundo. El mensaje de error en s.

    El siguiente es un ejemplo de una lnea de un diario de errores:

  • 00: 95/02/18 13:40:28.13 server: Recovery complete.

    La entrada "00:" al comienzo de la lnea muestra que la mquina nmero 0 produjo el mensaje. La fecha es 18 de febrero de 1995, y la hora es 1:40 p.m., 28 segundos y 13 centsimas de segundo.

    Niveles de seguridad

    El nivel de seguridad proporciona informacin sobre el tipo de problema encontrado por SQL Server. Para una mxima integridad, cuando SQL Server responde a las situaciones de error, muestra mensajes de sysmessages , pero acta en funcin de una tabla interna. Algunos mensajes similares varan en niveles de gravedad, por lo que es posible que note una diferencia en el comportamiento esperado si desarrolla aplicaciones o procedimientos que hacen referencia a los mensajes y niveles de gravedad de SQL Server.

    Warning! Usted puede crear sus propios nmeros y mensajes de error basados en los nmeros de error de SQL Server (por ejemplo, sumando 20.000 al valor de SQL Server), pero no altere los mensajes del sistema suministrados por SQL Server en sysmessages .

    Aada mensajes de error definidos por el usuario a sysusermessages con el procedimiento almacenado sp_addmessage . Para ms informacin, consulte el Manual de Referencia de SQL Server .

    En isql y Data Workbench(R), los mensajes con nivel de gravedad 10 (de estado o informativos) no muestran un nmero de mensaje ni un nivel de gravedad. En las aplicaciones de Open Client(TM), SQL Server devuelve "0" para el nivel de gravedad 10.

    Los niveles de gravedad 1 a 16 indican problemas causados por errores introducidos por los usuarios.

    Los niveles de gravedad 16 y superiores indican errores de software o hardware. Si el nmero es 17 18, podr continuar con el trabajo pero quiz no pueda ejecutar algn comando.

    Los niveles de gravedad 19 y superiores indican errores fatales, lo cual implica que el proceso (el cdigo del programa que se est ejecutando para lograr la tarea especificada en el comando) ya no est en ejecucin. El proceso congela su estado antes de detenerse, registrando informacin sobre lo que suceda. Luego se destruye y desaparece.

    Los errores fatales (niveles 19 y superiores) cortan la conexin del usuario con SQL Server. Dependiendo del problema, es posible que el usuario pueda volver a conectarse y reanudar su trabajo. Algunos problemas con niveles de gravedad en este intervalo afectan slo a un usuario y a un proceso. Otros afectan a todos los procesos de la base de datos. En algunos casos ser necesario reiniciar SQL Server. Aunque estos problemas no necesariamente daan una base de datos o sus objetos, pueden hacerlo. Los daos tambin pueden ser consecuencia de daos anteriores a una base de datos o

  • sus objetos. Otros problemas son resultado de los fallos en el funcionamiento del hardware.

    Un rastreo inverso de los mensajes de error fatal del kernel se enva al diario de errores, donde el administrador del sistema puede revisarlo.

    Debe instruirse a los usuarios para que informen al administrador del sistema siempre que se produzcan problemas con niveles de gravedad 17 y superiores. El administrador es responsable de resolverlos y controlar su frecuencia, y debe supervisar todos los problemas con niveles de gravedad 17 a 24.

    Si el problema afect a toda una base de datos, es posible que el administrador del sistema tenga que utilizar el verificador de consistencia de bases de datos ( dbcc ) para determinar el alcance del dao. dbcc puede identificar algunos objetos que deben quitarse. Tambin puede reparar algunos daos, pero probablemente haya que volver a cargar la base de datos.

    Para ms informacin, consulte lo siguiente:

    dbcc se explica en el Captulo 17, "Verificacin de la consistencia de las bases de datos".

    La carga de una base de datos de usuario se trata en el Captulo 19, "Copia de seguridad y restauracin de las bases de datos de usuario".

    La carga de las bases de datos del sistema se describe en el Captulo 20, "Copias de seguridad y restauracin de las bases de datos del sistema".

    En los apartados siguientes, se trata cada nivel de gravedad.

    Niveles 10 a 18

    Los mensajes de error con niveles de gravedad 10 a 16 se generan por problemas causados por errores del usuario. Estos problemas siempre pueden ser corregidos por el usuario. Los niveles de gravedad 17 y 18 no terminan la sesin del usuario.

    Los mensajes con niveles 17 y superiores deben comunicarse al administrador del sistema o al propietario de la base de datos.

    Nivel 10: Informacin de estado

    Los mensajes cuyo nivel de gravedad es 10 no son errores. Muestran informacin adicional despus de ejecutarse ciertos comandos y, habitualmente, no muestran el nmero de mensaje ni el nivel de gravedad. Por ejemplo, despus de ejecutar un comando create database , SQL Server muestra un mensaje indicando al usuario qu cantidad del espacio solicitado se ha asignado a la nueva base de datos.

    Nivel 11: No se encuentra el objeto de base de datos especificado

    Los mensajes con nivel de gravedad 11 indican que SQL Server no puede encontrar un objeto al que se hizo referencia en el comando.

  • Esto suele deberse a que el usuario ha escrito mal el nombre de un objeto de base de datos, a que no especific el nombre del propietario del objeto o a una confusin sobre cul es la base de datos actual. Verifique que los nombres de objeto no contengan errores, utilice el nombre del propietario si el objeto no es suyo o del "dbo", y compruebe que est en la base de datos correcta.

    Nivel 12: Se ha encontrado un tipo de datos errneo

    Los mensajes cuyo nivel de gravedad es 12 indican un problema con los tipos de datos. Por ejemplo, el usuario puede haber intentado introducir un valor con un tipo de datos equivocado en una columna, o comparar columnas de tipos distintos (e incompatibles).

    Para corregir los problemas de comparacin, utilice la funcin convert con select . Para obtener informacin sobre convert , consulte el Manual de Referencia de SQL Server o la Gua del U suario de Transact-SQL .

    Nivel 13: Error de sintaxis de transaccin

    Los mensajes de nivel 13 indican que hay