-
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