Lo nuevo en Sybase Adaptive Server Enterprise

Anuncio
Lo nuevo en Sybase Adaptive
Server Enterprise
Adaptive Server Enterprise
12.5
ID de documento : 32961-01-1250-01
Última revisión : Junio De 2001
Copyright © 1989-2001, Sybase Inc. Reservados todos los derechos.
Esta publicación forma parte del software de gestión de base de datos Sybase y a cualquier versión posterior, hasta que se indique lo
contrario en nuevas ediciones o notas técnicas. La información contenida en este documento puede sufrir modificaciones sin previo aviso.
El software aquí descrito está cubierto por un acuerdo de licencia y sólo puede utilizarse o copiarse según los términos de ese acuerdo.
Para solicitar documentación adicional, los clientes de los EE.UU. y Canadá deben contactar con Customer Fulfillment en el número de
teléfono (800) 685-8225, fax (617) 229-9845.
Los clientes de otros países con un acuerdo de licencia de EE.UU. pueden contactar con Customer Fulfillment en el número de fax
anterior. El resto de clientes de otros países deben contactar con su distribuidor de software o delegación de Sybase más cercana. Las
actualizaciones sólo se proporcionan en intervalos regulares según los lanzamientos de software. Ninguna parte de esta publicación
puede reproducirse, transmitirse o traducirse de ninguna forma ni por ningún medio, ya sea electrónico, mecánico, manual, óptico o
cualquier otro sin el permiso expreso escrito de Sybase Inc.
Sybase, el logotipo de Sybase, ADA Workbench, Adaptable Windowing Environment, Adaptive Component Architecture, Adaptive
Server, Adaptive Server Anywhere, Adaptive Server Enterprise, Adaptive Server Enterprise Monitor, Adaptive Server Enterprise
Replication, Adaptive Server Everywhere, Adaptive Server IQ, Adaptive Warehouse, AnswerBase, Anywhere Studio, Application
Manager, AppModeler, APT Workbench, APT-Build, APT-Edit, APT-Execute, APT-FORMS, APT-Translator, APT-Library, Backup
Server, ClearConnect, Client-Library, Client Services, Data Pipeline, Data Workbench, DataArchitect, Database Analyzer, DataExpress,
DataServer, DataWindow, DB-Library, dbQueue, Developers Workbench, Direct Connect Anywhere, DirectConnect, Distribution
Director, E-Anywhere, E-Whatever, Embedded SQL, EMS, Enterprise Application Studio, Enterprise Client/Server, Enterprise Connect,
Enterprise Data Studio, Enterprise Manager, Enterprise SQL Server Manager, Enterprise Work Architecture, Enterprise Work Designer,
Enterprise Work Modeler, EWA, Financial Fusion, Financial Fusion Server, Gateway Manager, ImpactNow, InfoMaker, Information
Anywhere, Information Everywhere, InformationConnect, InternetBuilder, iScript, Jaguar CTS, jConnect for JDBC, KnowledgeBase,
MainframeConnect, Maintenance Express, MAP, MDI Access Server, MDI Database Gateway, media.splash, MetaWorks, MySupport,
Net-Gateway, Net-Library, ObjectConnect, ObjectCycle, OmniConnect, OmniSQL Access Module, OmniSQL Toolkit, Open Client,
Open ClientConnect, Open Client/Server, Open Client/Server Interfaces, Open Gateway, Open Server, Open ServerConnect, Open
Solutions, Optima++, PB-Gen, PC APT Execute, PC DB-Net, PC Net Library, Power++, power.stop, PowerAMC, PowerBuilder,
PowerBuilder Foundation Class Library, PowerDesigner, PowerDimensions, PowerDynamo, PowerJ, PowerScript, PowerSite,
PowerSocket, Powersoft, PowerStage, PowerStudio, PowerTips, Powersoft Portfolio, Powersoft Professional, PowerWare Desktop,
PowerWare Enterprise, ProcessAnalyst, Report Workbench, Report-Execute, Replication Agent, Replication Driver, Replication Server,
Replication Server Manager, Replication Toolkit, Resource Manager, RW-DisplayLib, RW-Library, S-Designor, SDF, Secure SQL
Server, Secure SQL Toolset, Security Guardian, SKILS, smart.partners, smart.parts, smart.script, SQL Advantage, SQL Anywhere, SQL
Anywhere Studio, SQL Code Checker, SQL Debug, SQL Edit, SQL Edit/TPU, SQL Everywhere, SQL Modeler, SQL Remote, SQL
Server, SQL Server Manager, SQL SMART, SQL Toolset, SQL Server/CFT, SQL Server/DBM, SQL Server SNMP SubAgent, SQL
Station, SQLJ, STEP, SupportNow, Sybase Central, Sybase Client/Server Interfaces, Sybase Financial Server, Sybase Gateways, Sybase
MPP, Sybase SQL Desktop, Sybase SQL Lifecycle, Sybase SQL Workgroup, Sybase User Workbench, SybaseWare, Syber Financial,
SyberAssist, SyBooks, System 10, System 11, System XI (logo), SystemTools, Tabular Data Stream, Transact-SQL, Translation Toolkit,
UNIBOM, Unilib, Uninull, Unisep, Unistring, URK Runtime Kit for UniCode, Viewer, Visual Components, VisualSpeller, VisualWriter,
VQL, WarehouseArchitect, Warehouse Control Center, Warehouse Studio, Warehouse WORKS, Watcom, Watcom SQL, Watcom SQL
Server, Web Deployment Kit, Web.PB, Web.SQL, WebSights, WebViewer, WorkGroup SQL Server, XA-Library, XA-Server y XP
Server son marcas comerciales de Sybase Inc.
Unicode y el logotipo de Unicode son marcas comerciales registradas de Unicode Inc.
Todos los demás nombres de compañías y productos utilizados pueden ser marcas comerciales o marcas comerciales registradas de sus
respectivas compañías.
Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of DFARS 52.227-7013
for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.
Sybase Inc., 6475 Christie Avenue, Emeryville, CA 94608.
Contenido
Prefacio.......................................................................................................................................... ix
CAPÍTULO 1
Nuevas funciones en Adaptive Server versión 12.5 .................... 1
Nuevas características de la versión 12.5........................................ 1
Límites de servidor flexibles ............................................................. 2
Varios tamaños de páginas lógicas........................................... 2
Número de columnas y tamaños de columnas ......................... 3
Longitud máxima de expresiones, variables y argumentos
de procedimientos almacenados........................................ 3
Número de logins ...................................................................... 4
Consecuencias sobre el rendimiento de los nuevos límites...... 4
Reconfiguración dinámica ................................................................ 4
Asignación dinámica de memoria ............................................. 5
Cambios en el modo de asignar la memoria ............................. 5
Procedimientos almacenados y funciones SQLJ (Java) .................. 6
XML en la base de datos ................................................................. 6
El operador union en las vistas ........................................................ 7
Servicios de directorio de Internet (LDAP) ....................................... 7
Secure Socket Layer (SSL).............................................................. 8
Enterprise Java Beans (EJB Server)................................................ 9
Compatibilidad con sistema externo de archivos ............................. 9
Control de acceso en el nivel de fila .............................................. 10
Suspensión y reanudación de actualizaciones a bases de datos .. 11
Compatibilidad con Java.net .......................................................... 11
Copias de seguridad comprimidas ................................................. 12
Compatibilidad con Unichar ........................................................... 13
Modificaciones a CIS ..................................................................... 13
Utilidad de depuración de SQL ...................................................... 14
Utilidad de conversión .................................................................... 14
CAPÍTULO 2
Cambios de sistema en Adaptive Server versión 12.5 .............. 17
Cambios de sistema de la versión 12.5 ......................................... 17
Cambios en los parámetros de configuración ......................... 17
iii
Contenido
Cambios en los comandos de Transact-SQL..........................
Procedimientos de sistema nuevos y modificados..................
Nuevos programas de utilidades.............................................
Cambios en los programas de utilidades actuales..................
Cambios en las bases de datos y tablas de sistema ..............
Nuevas palabras reservadas...................................................
Variables globales nuevas ......................................................
Cambios en la documentación ................................................
Cambios que pueden afectar a las aplicaciones ya instaladas......
Palabras clave de Transact-SQL nuevas................................
Columnas anchas y truncado de datos ...................................
Cambios que pueden afectar a las aplicaciones
cliente-servidor .................................................................
Número máximo de expresiones en una instrucción select ....
CAPÍTULO 3
iv
20
22
23
23
23
26
27
27
28
28
28
29
30
Nuevas funciones y cambios del sistema en Adaptive Server
versión 12.0 ............................................................................. 31
Nuevas funciones de la versión 12 ................................................ 32
Sybase Failover para entornos de alta disponibilidad.................... 33
Reconstrucción de índices ............................................................. 35
Nuevas funciones de Backup Server ............................................. 35
Copia de seguridad y restauración de alto rendimiento .......... 35
Cintas sin rebobinado.............................................................. 36
Compatibilidad con el sistema de archivos UNIX .......................... 36
Modificación del esquema de una tabla existente con alter table .. 37
Suspensión de actualizaciones de base de datos con quiesce
database........................................................................... 37
Desconexión de los motores de Adaptive Server .......................... 38
Información de procesos configurable por el usuario .................... 38
Rango de números de identificación para tablas ........................... 39
Base de datos de diagnóstico ........................................................ 39
Uso de Java en Adaptive Server Enterprise .................................. 40
Posibilidades del uso de Java en Adaptive Server ................. 40
Número de tablas en una consulta ................................................ 41
Mejoras en el procesamiento y optimización de las consultas ...... 42
Uniones de fusión.................................................................... 42
Mejoras en el coste de las consultas ...................................... 43
Uniones ANSI................................................................................. 43
Ejecución dinámica de Transact-SQL............................................ 44
Mejoras de los tipos de datos text e image.................................... 45
Planes abstractos........................................................................... 45
Desactivación de disparadores ...................................................... 46
Particiones de caché ...................................................................... 47
Administración de transacciones distribuidas ................................ 47
Contenido
Mejoras en Component Integration Services (CIS)........................
Seguridad de red............................................................................
Consideraciones de rendimiento.............................................
Funciones de seguridad admitidas en Adaptive Server 12 .....
Seguridad de login definido por el usuario.....................................
Aumento del número máximo de usuarios e logins ................
Definición y cambio del número máximo de intentos de login
Bloqueo y desbloqueo de logins y funciones ..........................
Visualización de la información de contraseña .......................
Comprobación de las contraseñas en un carácter al menos ..
Definición y cambio de la longitud mínima de la contraseña ..
Definición del intervalo de caducidad para una contraseña ....
Identificación concreta ...................................................................
Cambios del sistema en la versión 12 ...........................................
Cambios en los parámetros de configuración .........................
Modificaciones en los comandos de Transact-SQL ................
Procedimientos del sistema nuevos y modificados.................
Nuevos programas de utilidades.............................................
Modificaciones introducidas en las bases de datos
y las tablas del sistema ....................................................
Nuevas palabras reservadas...................................................
Cambios en la documentación ................................................
Cambios que pueden afectar a las aplicaciones existentes....
CAPÍTULO 4
Nuevas funciones en Adaptive Server versión 11.9.2 ...............
Nuevos esquemas de bloqueo.......................................................
Cambios en el bloqueo de nivel de tabla .......................................
Cambios en la optimización de estadísticas y consultas ...............
Mejoras del comando create index ................................................
Cambios y adiciones en la sintaxis de Transact-SQL ....................
Nueva opción de simultaneidad readpast ...............................
Nuevo comando lock table ......................................................
Especificación del tiempo de espera para los bloqueos .........
Aislamiento de la transacción de lectura repetible ..................
Orden configurable de recuperación de bases de datos ...............
Verificación de error para los fallos de dbcc checkstorage ............
Control de utilización de licencia ....................................................
Afinidad tarea-motor.......................................................................
Mejoras de rendimiento de Dynamic SQL .....................................
Actualizaciones directas por medio de uniones .............................
Cambios de Component Integration Services................................
Cambios del juego de caracteres...................................................
Cambios que pueden afectar a las aplicaciones existentes ..........
Efectos de cambiar al bloqueo sólo de datos..........................
48
49
49
50
50
51
51
52
52
53
53
54
54
55
55
57
59
60
61
63
63
64
65
66
67
67
68
69
69
69
69
70
70
70
70
71
71
71
72
72
72
73
v
Contenido
Cambios en la optimización de consultas y planes
de consulta forzados ........................................................ 74
Ordenación de los resultados con tablas de bloqueo
sólo de datos .................................................................... 75
Retardo de compilación de cursores hasta el cursor abierto .. 75
CAPÍTULO 5
vi
Nuevas funciones en Adaptive Server versión 11.5................... 77
Nuevas características de la versión 11.5 ..................................... 77
Recuperación previa asíncrona ..................................................... 78
Mejoras en el sistema de auditoría ................................................ 80
Nuevos procedimientos de sistema ........................................ 80
Expresión CASE ............................................................................ 82
Servicios de integración de componentes ..................................... 82
Comandos nuevos .................................................................. 84
Nuevos procedimientos de sistema ........................................ 84
Procedimientos de sistema modificados ................................. 85
Mejoras en create index................................................................. 85
Mejoras de dbcc............................................................................. 86
Ventajas de utilizar dbcc checkstorage ................................... 86
Procedimientos almacenados y de sistema para
la creación de dbccdb....................................................... 87
Procedimientos almacenados para el mantenimiento
de dbccdb ......................................................................... 87
Procedimientos almacenados para la generación
de informes en dbccdb ..................................................... 88
Optimización de exploración con índice descendente ................... 89
Servicios de directorio .................................................................... 89
Afinidad de motor y precedencia de ejecución .............................. 90
Nuevos procedimientos de sistema ........................................ 91
Registro ampliado de errores ......................................................... 92
Nuevos procedimientos de sistema ........................................ 92
Procedimientos de sistema modificados ................................. 93
Procedimientos almacenados extendidos (ESP) ........................... 93
XP Server ................................................................................ 94
Procedimientos ESP definidos por el sistema......................... 95
Nuevos procedimientos de sistema para ESP ........................ 95
Comandos compatibles........................................................... 96
Límites de integridad referencial aumentados ............................... 96
Administración de caché de metadatos ......................................... 97
Control del acceso a texto SQL por lotes....................................... 97
Asignación de memoria para texto por lotes ........................... 98
Nuevas columnas en sysprocesses ........................................ 98
Copia masiva paralela.................................................................... 99
Consultas paralelas y particiones mejoradas............................... 100
Contenido
Recuperación a un momento dado ..............................................
Autorización proxy........................................................................
Aislamiento de fallos de recuperación .........................................
Nuevos procedimientos de sistema ......................................
Efectos secundarios del aislamiento de fallos
de recuperación..............................................................
Política de sustitución de caché LRU flexible ..............................
Límites de recursos......................................................................
Nuevos procedimientos de sistema ......................................
Comandos compatibles .........................................................
Verificación y cifrado de texto fuente ...........................................
Sybase Central.............................................................................
sp_sysmon ...................................................................................
Mejoras de ejecución en dos fases..............................................
spt_comittab ha pasado a sybsystemdb ...............................
El identificador de la ejecución ha cambiado a
un valor aleatorio ............................................................
Roles definidos por el usuario ......................................................
Integración de Registro de eventos de Windows NT ...................
Procedimientos de sistema y procedimientos almacenados
extendidos compatibles ..................................................
Compatibilidad con la interfaz MAPI de Windows NT..................
Procedimientos de sistema y procedimientos almacenados
extendidos compatibles ..................................................
Integración del Monitor de rendimiento de Windows NT .............
Procedimiento de sistema compatible...................................
CAPÍTULO 6
Nuevas funciones de SQL Server versión 11.0........................
Nuevas funciones de la versión 11.0 ...........................................
Cachés definidos por el usuario ............................................
Cambios en el almacenamiento de datos .............................
Cambios del diario de transacciones ....................................
Nivel 0 de aislamiento ...........................................................
Cambios del administrador de bloqueos ...............................
Tarea housekeeper ...............................................................
Configuración de SQL Server ...............................................
Promoción de bloqueos.........................................................
Motores múltiples de red .......................................................
Mejoras introducidas en showplan ........................................
Cambios introducidos en las consultas y la modificación
de datos..........................................................................
Actualización de los volcados de base de datos...................
Determinación del dispositivo de cinta por Backup Server ...
Cambios en la columna IDENTITY .......................................
101
102
103
104
105
105
106
107
107
108
108
109
109
110
110
111
111
112
112
113
113
114
115
115
116
119
122
123
124
126
127
128
128
128
130
130
131
132
vii
Contenido
Nuevas variables globales text e image................................
Cambios del sistema en la versión 11.0 ......................................
Nuevo comando online database .........................................
Cambios introducidos en los comandos existentes ..............
Nuevas opciones set .............................................................
Nuevos procedimientos del sistema......................................
Cambios introducidos en los procedimientos del sistema.....
Nuevas tablas del sistema ....................................................
Cambios introducidos en las tablas del sistema existentes ..
Cambios que pueden afectar a las aplicaciones existentes ........
Nuevas palabras de Transact-SQL en la versión 11.0..........
Cambios introducidos en la configuración de SQL Server....
Cambios introducidos en las subconsultas ...........................
Cambios introducidos en la salida showplan
en la versión 11.0 ...........................................................
Las nuevas estrategias de caché pueden afectar
el rendimiento .................................................................
Actualización de los volcados de base de datos...................
Particiones y posición física de los datos..............................
133
133
134
134
135
135
136
136
137
138
138
139
142
147
147
148
148
Index ........................................................................................................................................... 149
viii
Prefacio
Destinatarios
Este manual está pensado para aquellos clientes que vayan a actualizar
Adaptive Server™ a la versión 12.5.
Utilización de este
manual
Lo nuevo enAdaptive Server Enterprise es una introducción a las
características nuevas de Sybase® Adaptive Server Enterprise y los
comandos, procedimientos de sistema, tablas de sistema y documentación
que las complementan.
Este manual también trata las características nuevas añadidas y los cambios
realizados al sistema en las versiones 11.0, 11.5, 11.9.2 y 12.0. Esta
información se proporciona para los usuarios que vayan a actualizar
versiones anteriores de Adaptive Server a la versión 12.5.
Este manual contiene los siguientes capítulos:
•
El capítulo 1, "Nuevas funciones en Adaptive Server versión 12.5"
describe las características añadidas en la versión 12.5.
•
El capítulo 2, "Cambios de sistema en Adaptive Server versión 12.5"
describe las características añadidas y los cambios realizados al
sistema en la versión 12.5, así como el modo en que éstos pueden
afectar a las aplicaciones ya instaladas.
•
El capítulo 3, "Nuevas funciones y cambios del sistema en Adaptive
Server versión 12.0" describe los cambios realizados al sistema para
activar las nuevas características. También explica el modo en que las
adiciones y cambios pueden afectar a las aplicaciones ya instaladas.
•
El capítulo 4, "Nuevas funciones en Adaptive Server versión 11.9.2"
describe las características añadidas y los cambios realizados al
sistema en la versión 11.9.2.
•
El capítulo 5, "Nuevas funciones en Adaptive Server versión 11.5"
describe las características añadidas y cambios realizados al sistema
en la versión 11.5, así como el modo en que estos pueden afectar a las
aplicaciones ya instaladas.
•
El capítulo 6, "Nuevas funciones de SQL Server versión 11.0"
describe las características añadidas y cambios realizados al sistema
en la versión 11.0.
ix
Documentos
relacionados
Los siguientes manuales forman parte de la documentación de Sybase
Adaptive Server Enterprise:
•
El Boletín de lanzamiento para cada plataforma: contiene información de
última hora que no pudo incluirse en los manuales.
También es posible encontrar una versión más reciente del boletín en el
World Wide Web. Utilice la Sybase Technical Library para ver la última
información de la documentación o actualizaciones críticas añadidas
después del lanzamiento del producto en CD.
x
•
La documentación de instalación de Adaptive Server para cada plataforma:
describe la instalación, actualización y configuración de todos los productos
Adaptive Server y Sybase relacionados.
•
Lo nuevo en Adaptive Server Enterprise: describe las nuevas
características de la versión 12 de Adaptive Server, los cambios añadidos
al sistema para activar estas características y los cambios que pueden
afectar a las aplicaciones ya instaladas.
•
Manual del usuario de Transact-SQL: los documentos de la versión
mejorada del lenguaje de base de datos relacional de Sybase, Transact-SQL.
Este manual sirve de libro de consulta para usuarios nuevos de este sistema
de administración de base de datos. Contiene además las descripciones de
las bases de datos de ejemplo pubs2 y pubs3.
•
Manual de administración del sistema: proporciona información detallada
sobre la administración de servidores y bases de datos. Este manual incluye
instrucciones y directrices para la administración de recursos físicos, la
seguridad, las bases de datos de usuario y del sistema y detalles sobre la
conversión de caracteres, los idiomas adicionales y las opciones de
ordenación.
•
Manual de referencia de Adaptive Server: contiene información detallada
sobre los comandos, las funciones, los procedimientos y los tipos de datos
de Transact-SQL. Este manual también contiene una lista de las palabras
reservadas de Transact-SQL y las definiciones de las tablas del sistema.
•
Manual de rendimiento y mejoras: explica cómo mejorar Adaptive Server
para obtener el máximo rendimiento. Este manual incluye información
sobre temas relacionados con el diseño de bases de datos que afectan al
rendimiento, la optimización de consultas, la forma de mejorar Adaptive
Server para bases de datos de gran tamaño, problemas de disco y caché,
y los efectos sobre el rendimiento de bloqueos y cursores.
•
Manual de utilidades: documentación de las utilidades de Adaptive Server,
como isql y bcp, que se ejecutan en el nivel de sistema operativo.
Prefacio
Otras fuentes de
información
•
Manual de mensajes de error y resolución de problemas: explica la forma
de resolver los mensajes de error más habituales y muestra soluciones
a problemas de sistema que pueden surgir.
•
Manual del usuario de Component Integration Services: explica cómo
utilizar la característica de servicios de integración de componentes
(Component Integration Services) de Adaptive Server para conectarse con
bases de datos remotas, ya sean bases de datos Sybase u otras.
•
Uso de Java en Adaptive Server Enterprise: describe la forma de instalar
y utilizar clases de Java como tipos de datos y funciones definidas por el
usuario en la base de datos de Adaptive Server.
•
Utilización de Sybase Failover en un sistema de alta disponibilidad:
proporciona instrucciones sobre cómo utilizar Failover de Sybase para
configurar Adaptive Server como servidor acompañante en un sistema de
alta disponibilidad.
•
Utilización de las características de la Administración de transacciones
distribuidas (DTM) en Adaptive Server: explica cómo configurar, utilizar
y resolver los problemas de las características DTM de Adaptive Server en
entornos de procesamiento de transacciones distribuidas.
•
Manual de integración de la interfaz XA para CICS, Encina y TUXEDO:
proporciona instrucciones de uso de la interfaz DTM XA de Sybase con
los administradores de transacciones X/Open XA.
•
Glosario de Adaptive Server: define los términos técnicos utilizados en la
documentación de Adaptive Server.
Utilice el CD de la Sybase Technical Library y el sitio Web de los manuales de
producto para obtener más información sobre su producto.
•
El CD Technical Library contiene los manuales de producto y se incluye
en el software. El explorador DynaText (que puede descargar en Product
Manuals en http://www.sybase.com/detail/1,3693,1010661,00.html) le
permite obtener acceso a la información técnica sobre su producto en un
formato fácil de utilizar.
Consulte las instrucciones sobre instalación e inicio de Technical Library
en el Manual de instalación de Technical Library de su documentación.
•
El sitio Web Technical Library Product Manuals es una versión HTML del
CD Technical Library al que puede tener acceso mediante un explorador de
Web estándar. Además de los manuales de producto, dispone de vínculos con
el sitio Web Technical Documents (anteriormente denominado Tech Info
Library), la página Solved Cases y grupos de noticias de Sybase y Powersoft.
Para obtener acceso al sitio Web Technical Library Product Manuals, vaya
a Product Manuals en http://www.sybase.com/support/manuals/.
xi
Certificados de
Sybase en el World
Wide Web
La documentación técnica del sitio Web de Sybase se actualiza con
regularidad.
❖
❖
❖
Para ver la última información sobre certificados de productos
1
En el explorador de Web, seleccione Technical Documents en
http://www.sybase.com/support/techdocs/.
2
En la barra de navegación de la izquierda, seleccione Products
(Productos).
3
Seleccione un producto de la lista.
4
Seleccione el filtro Certification Report (Informe de certificados),
especifique un intervalo de fechas y haga clic en Go (Continuar).
5
Haga clic en un título de Certification Report (Informe de certificados)
para abrirlo.
Para ver la última información sobre correcciones y actualizaciones
1
En el explorador de Web, seleccione Technical Documents en
http://www.sybase.com/support/techdocs/.
2
Seleccione EBFs/Updates (Correcciones/Actualizaciones). Escriba el
nombre de usuario y contraseña, si el sistema lo solicita (cuenta Web
definida) o genere una cuenta nueva (servicio gratuito).
3
Especifique un intervalo de fechas y haga clic en Go (Continuar).
4
Seleccione un producto.
5
Haga clic en un título de EBF/Updates (Correcciones/Actualizaciones)
para abrirlo.
Para crear una vista personalizada del sitio Web de Sybase (incluidas
las páginas de asistencia técnica)
Defina un perfil MySybase. MySybase es un servicio gratuito que le permite
crear una vista personalizada de las páginas Web de Sybase.
Si necesita ayuda
xii
1
En el explorador de Web, seleccione Technical Documents en
http://www.sybase.com/support/techdocs/
2
Haga clic en MySybase y cree un perfil MySybase.
Cada instalación de Sybase que ha adquirido un contrato de soporte técnico,
cuenta con una o más personas autorizadas a ponerse en contacto con el equipo
de soporte técnico de Sybase. Si no puede resolver un problema mediante los
manuales o la ayuda en línea, pida a la persona autorizada que se ponga en contacto
con el equipo de soporte técnico de Sybase o la oficina de Sybase más cercana.
Prefacio
Convenciones
En este manual se utilizan las siguientes convenciones de estilo:
•
En una pantalla de ejemplo, los comandos que debe escribir exactamente
como aparecen están en:
esta fuente
•
En una pantalla de ejemplo, las palabras que debe sustituir con el valor
correspondiente a su instalación están en:
esta fuente
•
En el texto habitual de este documento, los nombres de archivos y directorios
están en cursiva:
/usr/u/sybase
•
Los nombres de programas, utilidades, procedimientos y comandos están
en negrita:
bcp
•
Este documento especifica los comandos tanto para el shell C como para
el shell Bourne, si son diferentes. El archivo de inicialización del shell C
se denomina .cshrc. El archivo de inicialización del shell Bourne se
denomina .profile. Si utiliza otro shell, por ejemplo el shell Korn, consulte
la sintaxis correcta de comando en la documentación correspondiente.
Las convenciones para las instrucciones de sintaxis utilizadas en este manual
son las siguientes:
Tabla 1: Convenciones de sintaxis SQL
Clave
Definición
comando
Los nombres de comandos, opciones de comandos, utilidades,
indicadores de utilidades y otras palabras clave se muestran en la
fuente Arial negrita.
variable
Las variables o palabras que corresponden a valores que debe
especificar el usuario, se muestran en cursiva.
{ }
Los símbolos de llave indican que debe elegir como mínimo una de
las opciones delimitadas por éstas. No incluya llaves en la opción.
[ ]
Los corchetes indican que puede elegir una o más de las opciones
delimitas por estos. No incluya corchetes en la opción.
Los paréntesis forman parte del comando.
( )
|
La barra vertical indica que debe seleccionar sólo una de las opciones
mostradas.
,
La coma indica que puede elegir tantas opciones como desee y que
debe escribirlas en el comando separadas por comas.
xiii
Si necesita ayuda
xiv
Cada instalación de Sybase que ha adquirido un contrato de soporte técnico,
cuenta con una o más personas autorizadas a ponerse en contacto con el equipo
de soporte técnico de Sybase. Si no puede resolver un problema mediante los
manuales o la ayuda en línea, pida a la persona autorizada que se ponga en contacto
con el equipo de soporte técnico de Sybase o la oficina de Sybase más cercana.
CA P Í TUL O
1
Nuevas funciones en Adaptive
Server versión 12.5
Este capítulo describe las nuevas funciones y los cambios realizados al
sistema en la versión 12.5 de Sybase Adaptive Server Enterprise.
Además de admitir varios tamaños de páginas lógicas, columnas más
anchas y un número mayor de filas, Adaptive Server versión 12.5
introduce varias funciones nuevas con licencia para uso especializado.
Son las siguientes:
•
Extended Full-Text Search Engine (motor de búsqueda de texto
ampliada)
•
Protocolo SSL (Secure Sockets Layer)
•
Extended File System
•
Java
•
EJB Server
Para utilizar estas funciones, debe adquirir la licencia correspondiente
y configurar la función mediante el sistema de administración de licencias
SySAM. Consulte el Manual de instalación para obtener instrucciones.
Para adquirir una o más de las funciones con licencia, póngase en contacto
con su comercial.
Nuevas características de la versión 12.5
Las nuevas características de Adaptive Server versión 12.5 son:
Nombre
"Límites de servidor flexibles", en la página 2
"Reconfiguración dinámica", en la página 4
"Procedimientos almacenados y funciones SQLJ (Java)", en la página 6
"XML en la base de datos", en la página 6
"El operador union en las vistas", en la página 7
1
Límites de servidor flexibles
Nombre
"Servicios de directorio de Internet (LDAP)", en la página 7
"Secure Socket Layer (SSL)", en la página 8
"Enterprise Java Beans (EJB Server)", en la página 9
"Compatibilidad con sistema externo de archivos", en la página 9
"Control de acceso en el nivel de fila", en la página 10
"Suspensión y reanudación de actualizaciones a bases de datos", en la
página 11
"Compatibilidad con Java.net", en la página 11
"Copias de seguridad comprimidas", en la página 12
"Compatibilidad con Unichar", en la página 13
"Utilidad de depuración de SQL", en la página 14
"Utilidad de conversión", en la página 14
Límites de servidor flexibles
Adaptive Server versión 12.5 incluye incrementos de los siguientes límites:
•
Número de tamaños de páginas lógicas disponibles
•
Número de columnas y tamaños de columnas
•
Número de argumentos para procedimientos almacenados
•
Número de expresiones en una instrucción select
•
Número de usuarios por base de datos
•
Número de logins por servidor
Varios tamaños de páginas lógicas
Adaptive Server versión 12.5 no utiliza el comando binario buildmaster para
generar el dispositivo master. En lugar de esto, Sybase ha incorporado la
función buildmaster en el comando binario dataserver.
2
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
El comando dataserver le permite crear dispositivos master y bases de datos
con tamaños de páginas lógicas de 2 K, 4 K, 8 K o 16 K. Las páginas lógicas
de mayor tamaño le permiten crear filas de mayor tamaño, que a su vez mejoran
el rendimiento porque Adaptive Server tiene acceso a más datos cada vez que
lee una página. Por ejemplo, una página de 16 K puede almacenar 8 veces la
cantidad de datos que una página de 2 K, una página de 8 K almacena 4 veces
los datos de una página de 2 K, etc.
Número de columnas y tamaños de columnas
El número máximo de columnas que se pueden crear en una tabla es:
•
1.024 para columnas de longitud fija tanto en tablas con bloqueo all-pages
(APL) como tablas con bloqueo sólo de datos (DOL)
•
254 para columnas de longitud variable en una tabla APL
•
1.024 para columnas de longitud variable en una tabla DOL
El tamaño máximo de una columna depende de:
•
Si la tabla incluye columnas de longitud variable o fija.
•
El tamaño de página lógica de la base de datos. Por ejemplo, en una base
de datos con páginas lógicas de 2 K, el tamaño máximo de una columna
en una tabla APL puede ser igual al de una fila, unos 1.962 bytes, menos
el espacio general correspondiente al formato de la fila. De igual modo,
en una base de datos con páginas lógicas de 4 K, el tamaño máximo de una
columna en una tabla APL puede ser de unos 4.010 bytes, menos el espacio
general correspondiente al formato de la fila. Consulte la tabla 1-1 para
obtener más información.
Longitud máxima de expresiones, variables y argumentos
de procedimientos almacenados
El tamaño máximo de expresiones, variables y argumentos para procedimientos
almacenados es 16.384 bytes (16 K), para cualquier tamaño de página. Estos
datos pueden ser binarios o de carácter. Puede insertar variables y literales hasta
este tamaño máximo en columnas de texto sin utilizar el comando writetext.
3
Reconfiguración dinámica
Número de logins
La tabla 1-1 muestra los límites del número de logins, usuarios y grupos para
Adaptive Server.
Tabla 1-1: Límite del número de login, usuarios y grupos
Elemento
Límite de la versión 12.0
Número de logins
64 K
por servidor (SUID)
Número de usuarios 48 K
por base de datos
Número de grupos
16 K
por base de datos
Límite de la versión 12.5
Nuevo intervalo
2 mil millones más 32 K
De –32.768 a 2 mil
millones
2 mil millones menos
1.032.193
De –32.768 a 16.383; de
1.048.577 a 2 mil millones
1032193
De 16.384 a 1.048.576
Consecuencias sobre el rendimiento de los nuevos límites
Los nuevos límites de Adaptive Server significan que el servidor puede tener
que gestionar grandes volúmenes de datos para una sola consulta, operación
DML (Data Manipulation Language, lenguaje de tratamiento de datos) o comando.
Por ejemplo, si utiliza una tabla con bloqueo sólo de datos con una columna de
caracteres (2000), Adaptive Server debe asignar memoria para realizar la copia
de la columna mientras explora la tabla. El aumento de peticiones de memoria
durante la ejecución de una consulta o comando supone una posible reducción
del rendimiento.
Reconfiguración dinámica
Adaptive Server 12.5 modifica el modo en que Adaptive Server asigna
memoria.
4
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
Asignación dinámica de memoria
Adaptive Server versión 12.5 le permite asignar la memoria física total de
forma dinámica. La mayoría de los parámetros de configuración que consumen
memoria eran estáticos en las versiones anteriores de Adaptive Server y el
servidor tenía que reiniciarse cuando era necesaria más memoria. Por ejemplo,
cuando se modificaba el parámetro number of user connections (número de
conexiones de usuario), tenía que reiniciar el servidor para que el cambio
tuviera efecto. La mayoría de los parámetros de configuración que afectan a la
memoria son ahora dinámicos y no es necesario reiniciar el servidor para que
éstos tengan efecto. Para ver una lista completa de los parámetros de configuración
que han pasado de estáticos a dinámicos consulte la Tabla en el capítulo 2,
"Cambios de sistema en Adaptive Server versión 12.5".
Cambios en el modo de asignar la memoria
En versiones anteriores de Adaptive Server, el tamaño del caché de
procedimientos se basaba en un porcentaje de la memoria disponible. Una vez
configurado el caché de datos, se asignaba el resto al caché de procedimientos.
En Adaptive Server 12.5, se especifican ambos cachés de datos y de
procedimientos como valores absolutos. Los tamaños de los cachés no varían
a menos que los vuelva a configurar.
El nuevo parámetro de configuración, max memory (memoria máxima), le
permite definir un valor máximo, que no puede superar la configuración de
memoria física total de Adaptive Server.
Si actualiza Adaptive Server a la versión 12.5 o posterior, se utilizan los valores
de configuración de la versión anterior de Adaptive Server para calcular los
nuevos valores para el parámetro procedure cache size (tamaño de caché de
procedimientos). Adaptive Server calcula el tamaño del caché de datos
predeterminado durante la actualización y escribe este valor en el archivo de
configuración. Si los tamaños calculados de los cachés de datos o de
procedimientos son inferiores a los tamaños predeterminados, se restablecen
los valores predeterminados. Durante la actualización, se define el valor total
logical memory (memoria lógica total) especificado en el archivo de
configuración para el parámetro max memory.
5
Procedimientos almacenados y funciones SQLJ (Java)
Procedimientos almacenados y funciones SQLJ (Java)
Adaptive Server versión 12.0 permite instalar clases de Java en la base de datos
y hacer referencia a éstas como tipos de datos en SQL. La versión 12.0 también
permite invocar métodos estáticos de Java directamente desde SQL.
Adaptive Server versión 12.5 amplía estas capacidades. En esta versión puede
ajustar métodos estáticos de Java en nombres SQL y generar procedimientos
almacenados o funciones SQLJ que puede utilizar como si fuesen procedimientos
almacenados Transact-SQL o funciones incorporadas. Estas nuevas funciones:
•
Permiten a los métodos de Java devolver parámetros de salida y conjuntos
de resultados al entorno de llamada.
•
Permiten aprovechar las funciones de la sintaxis SQL tradicional,
metadatos y permisos.
•
Cumplen con la Parte 1 de la especificación del estándar ANSI SQLJ.
•
Le permiten utilizar métodos de Java como procedimientos y funciones
SQLJ en el servidor, cliente y en cualquier base de datos de terceros
compatible con el estándar SQLJ.
XML en la base de datos
Adaptive Server versión 12.5 suministra una introducción de XML, el lenguaje
de marcado extensible, adecuado para el intercambio de datos por ser más
completo y ordenado que SGML. XML le permite definir sus propias etiquetas
orientadas a aplicaciones. Esta función, escrita en Java en su totalidad, también
incluye métodos para el almacenamiento de documentos XML y su generación
a partir de datos SQL. Puede:
6
•
Seleccionar datos sin formato de Adaptive Server, mediante XQL y
mostrarlos como documento XML. También puede almacenar
documentos XML y los datos extraídos de estos en Adaptive Server, así
como utilizar Adaptive Server para buscar documentos XML
almacenados en el World Wide Web.
•
Utilizar el analizador XML de Java que proporciona Sybase, que le
permite instalar el motor de consulta como programa independiente o
dentro de Adaptive Server. También puede utilizar cualquier motor de
consultas compatible con SAX 2.0.
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
•
Utilizar las consultas de ejemplo de la clase OrderXML, una aplicación Java
de ejemplo suministrada por Sybase, que utiliza documentos XML para
consultar, analizar y guardar información sobre pedidos de clientes. La
clase OrderXML se ha escrito con el fin específico de procesar documentos
XML para buscar información sobre pedidos.
•
Utilice la clase ResultSetXML, una subdivisión de la clase JXml, que Sybase
suministra para ayudarle a generar un documento XML que represente un
conjunto de resultados SQL. También puede tener acceso y actualizar
documentos XML que representen conjuntos de resultados SQL. Puede
generar un ResultSet tanto en el entorno cliente como dentro de Adaptive
Server, así como buscarlo y almacenarlo.
El operador union en las vistas
Las versiones anteriores de Adaptive Server, no admitían los operadores union
en las instrucciones select que definan vistas. Adaptive Server versión 12.5
elimina esta restricción.
Puede utilizar esta función, por ejemplo, para dividir una tabla de gran tamaño
en subtablas. Los datos pueden dividirse entre las subtablas en función de los
intervalos de valores de datos de una de las columnas. A continuación, puede
definir una vista que utilice union all para combinar selects de todas las subtablas
en un solo grupo de resultados. Después puede ejecutar instrucciones select en
la vista que contiene el operador union.
Por ejemplo, puede crear vistas que hagan referencia a tablas de Oracle, DB2
e Informix; además de tablas locales.
Servicios de directorio de Internet (LDAP)
El protocolo ligero de acceso a directorios (LDAP, Lightweight Directory
Access Protocol) es un estándar del sector para el acceso a servicios de directorio,
que permite a los componentes consultar información de un servidor LDAP
que almacena y gestiona información de servidor, usuario y software utilizada
en toda la empresa o en una red.
7
Secure Socket Layer (SSL)
Los directorios LDAP constituyen una infraestructura que proporciona:
•
Una alternativa basada en red del archivo de interfaces tradicional de
Sybase.
•
Una única vista jerárquica de información que incluye usuarios, software,
recursos, redes, archivos, etc.
Los archivos libtcl.cfg y libtcl64.cfg sirven para especificar un nombre de
servidor LDAP, número de puerto, DIT base, nombre de usuario y contraseña
para autenticar la conexión a un servidor LDAP. LDAP define el protocolo de
comunicación y el contenido de los mensajes intercambiados entre los clientes
y servidores.
Secure Socket Layer (SSL)
SSL es un estándar del sector para el envío de datos cifrados en el nivel de cable
o socket mediante conexiones de redes seguras.
La implantación del protocolo SSL por parte de Adaptive Server aporta varios
niveles de seguridad.
•
El servidor se autentica, es decir, se comprueba que es el servidor con el
que intenta conectar y se inicia una sesión SSL cifrada antes de transmitir
los datos.
•
Una vez establecida la sesión SSL, el cliente que solicita una conexión
puede enviar su nombre de usuario y contraseña a través de la conexión
segura cifrada.
•
Una comparación de la firma digital del certificado del servidor puede
determinar si los datos recibidos por el cliente se modificaron antes de
alcanzar el destinatario correspondiente.
Adaptive Server implementa el protocolo SSL en formato de filtro que se
añade a las líneas master y query del archivo de interfaces. La dirección
y números de puerto donde Adaptive Server acepta conexiones se pueden
configurar de modo que pueda especificar varias redes, protocolos distintos
y puertos alternativos.
8
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
Enterprise Java Beans (EJB Server)
Sybase proporciona Enterprise JavaBean (EJB) Server, un servidor de transacción
de componentes, con la versión 12.5 de Adaptive Server. EJB Server suministra
el marco para la creación, lanzamiento y gestión de la lógica empresarial de
nivel medio en formato de EJB en un entorno de varios niveles.
En un entorno de tres niveles, el cliente proporciona la lógica de interfaz de
usuario, las normas empresariales se separan en el nivel medio y la base de
datos es el depósito de información. El cliente no tiene acceso directo a la base
de datos. En vez de esto, el cliente llama al servidor EJB Server en el nivel
medio que, a su vez, obtiene acceso a la base de datos.
EJB Server se ha diseñado con el fin de que resida en el mismo equipo que
la base de datos a la que sirve. Si los servidores están en el mismo equipo,
EJB Server puede comunicarse con la base de datos mediante el controlador
JDBC de gran velocidad y memoria compartida de Adaptive Server. Este
enfoque garantiza:
•
Comunicaciones y transferencias de datos de gran velocidad, incluso para
grandes volúmenes de datos
•
Transmisiones de datos seguras porque la transferencia de información de
la base de datos al nivel medio no tiene lugar en la red
Compatibilidad con sistema externo de archivos
Adaptive Server permite el acceso de SQL a directorios de sistema de archivos
y sus archivos subyacentes. La sintaxis admitida es:
create [existing] table nombre_archivo
external file at "ruta_directorio" column delimiter "delimitador"
La ruta del directorio debe hacer referencia al directorio del sistema de
archivos que sea visible y en el que pueda buscar Adaptive Server. Una tabla
proxy establece la correspondencia de nombres de columnas a atributos de
archivos que existen en el directorio. Cada columna, excepto la última, está
delimitada por el delimitador especificado en la sintaxis de creación de la tabla.
Puede especificar un máximo de 16 bytes. Si no especifica ninguno, se utiliza
el carácter tabulador como predeterminado.
9
Control de acceso en el nivel de fila
Control de acceso en el nivel de fila
Los propietarios de bases de datos y tablas pueden restringir el acceso a las filas
de datos de una tabla mediante la definición de reglas de acceso y la vinculación
de dichas reglas a la tabla. El acceso a los datos se puede controlar todavía más
mediante la definición de contextos de aplicación y creación de disparadores
de login.
Estas funciones se pueden agrupar bajo el concepto de control de acceso en el
nivel de fila. El control de acceso en el nivel de fila permite al propietario de la
base de datos o tabla controlar las filas de una tabla a las que pueden tener
acceso los usuarios, en función de su identificación o perfil y los privilegios
que tiene el usuario del nivel de aplicación. Adaptive Server requiere control
de acceso en el nivel de fila para todos los lenguajes de tratamiento de datos
(DML), que evitan que los usuarios omitan el control de acceso para llegar
a los datos.
Las reglas de dominio permiten a los propietarios de tablas controlar los
valores que pueden especificar los usuarios en una columna concreta que
utiliza un tipo de datos base o cualquier columna que utiliza un tipo de datos
definido por el usuario. Las reglas se aplican durante inserciones y
actualizaciones.
Adaptive Server activa la protección en el nivel de fila mediante reglas de
acceso. Las reglas de acceso se aplican en operaciones select, update y delete.
Adaptive Server aplica las reglas de acceso en todas las columnas que se leen
en una consulta, incluso si las columnas no se incluyen en la lista select. Dicho
de otro modo, en una consulta dada, Adaptive Server aplica la regla de dominio
en la tabla que se actualiza y la regla de acceso en las tablas que se leen. La
utilización de reglas de acceso no supone ningún deterioro del rendimiento.
10
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
Suspensión y reanudación de actualizaciones a bases
de datos
El comando quiesce database ...hold le permite retrasar las actualizaciones
a una o más bases de datos mientras lleva a cabo un comando disk unmirrorring
o copia externa de cada base de datos. Durante este tiempo no se realizan
operaciones de escritura, por lo tanto, la copia externa (la segunda imagen) de
la base de datos es idéntica a la imagen principal. Mientras la base de datos está
en el estado de inactividad, pueden realizarse transacciones de lectura de la
base de datos. Para reanudar las actualizaciones a la base de datos, ejecute el
comando quiesce database...release. Puede ejecutar el comando quiesce database
desde una conexión isql y, a continuación, iniciar otra conexión isql y ejecutar
el comando quiesce database...release.
La sintaxis del comando quiesce database es:
quiesce database nombre_etiqueta hold nombre_basededatos
[, nombre_basededatos]
[for external copy]
o
quiesce database nombre_etiqueta release
Donde nombre_etiqueta es una etiqueta definida por el usuario que identifica
a la lista de bases de datos que desea retener o liberar y nombre_basededatos
es el nombre de la base de datos para la que va a suspender las actualizaciones.
Compatibilidad con Java.net
Con java.net, Adaptive Server versión 12.5 le permite crear aplicaciones de
redes Java en el equipo cliente desde el servidor. Puede crear una aplicación
cliente de red Java que se conecte a cualquier servidor, lo que permite
a Adaptive Server funcionar como un cliente para los servidores externos.
Puede:
•
Descargar documentos desde cualquier dirección URL en el World Wide
Web.
•
Enviar mensajes de correo electrónico desde el servidor.
•
Conectar a un servidor externo para guardar o editar un documento.
•
Tener acceso a documentos en XML.
Sybase admite ciertas clases java.net y suministra ejemplos que le permiten
configurar java.net como proceso cliente o servidor.
11
Copias de seguridad comprimidas
Copias de seguridad comprimidas
Adaptive Server Enterprise versión 12.5 proporciona una función que le
permite comprimir bases de datos y diarios de transacciones mediante el
servidor Backup Server. Esta nueva función forma parte del comando dump
a través de su nueva opción compress.
La sintaxis parcial para el comando dump database ... compress y dump
transaction ... compress es la siguiente:
dump database nombrebd
to [compress::[nivel_compresión::]]dispositivo_extracción
…[stripe on [compress::[nivel_compresión::]]dispositivo_extracción] …
dump database nombrebd
to [compress::[nivel_compresión::]]dispositivo_extracción
…[stripe on [compress::[nivel_compresión::]]dispositivo_extracción] …
El nivel predeterminado de compresión es 1. No obstante, puede utilizar la
variable nivel_compresión para especificar un nivel máximo de compresión 9
a fin de ajustarse a los distintos requisitos y especificaciones.
Adaptive Server también le permite cargar bases de datos y diarios de
transacciones volcados con la opción dump ... compress, mediante la opción
load ... compress.
La sintaxis parcial para el comando load database .. compress y load transaction
.. compress es la siguiente:
load database nombrebd
from [compress::]dispositivo_extracción
…[stripe on compress::dispositivo_extracción]…
load transaction nombrebd
from [compress::]dispositivo_extracción
…[stripe on compress::dispositivo_extracción]…
12
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
Compatibilidad con Unichar
Adaptive Server versión 12.5 añade dos tipos de datos nuevos que utilizan la
codificación UTF-16 de caracteres Unicode. Los nuevos tipos de datos unichar
y univarchar son independientes de los tipos de datos ya existentes char y
varchar, aunque su comportamiento es idéntico. Unichar es un tipo de datos de
ancho fijo, que no acepta valores nulos (al igual que char) y univarchar es un
tipo de datos de ancho variable que acepta valores nulos (al igual que varchar).
El conjunto de funciones de cadenas incorporadas que funcionan en char y
varchar también funcionarán en unichar y univarchar.
No obstante, tenga en cuenta que, a diferencia de char y varchar, los nuevos
tipos de datos unichar y univarchar sólo almacenan caracteres UTF-16 y no
tienen ninguna relación con el identificador de grupo de caracteres u orden
de clasificación predeterminado de la opción de configuración de ASE. Para
utilizar estos tipos de datos nuevos, debe definirse UTF-8 como juego de
caracteres predeterminado para el servidor.
La principal ventaja de estos nuevos tipos de datos es su eficacia. Los tipos de
caracteres UTF-16 hacen un uso del espacio aproximadamente un 33% más
eficaz que UTF-8 para caracteres asiáticos.
Cada carácter unichar/univarchar requiere dos bytes para su almacenamiento;
una columna de unichar/univarchar está formada por valores Unicode de
16 bits. El siguiente comando crea una tabla con una columna unichar para
valores Unicode que requiere 20 bytes para su almacenamiento:
Create table unitbl (unicol unichar (10))
La longitud de una columna unchar/univarchar está limitada por el tamaño de
una página de datos en Adaptive Server, al igual que ocurre en las columnas
char/varchar.
Modificaciones a CIS
Adaptive Server Enterprise versión 12.5 incluye muchas mejoras a Component
Integration Services.
Component Integration Services es totalmente compatible con las nuevas
funciones de Adaptive Server Enterprise descritas en este manual.
•
Optimización de consultas distribuidas
•
Administración de transacciones
•
Acceso a datos ampliado
13
Utilidad de depuración de SQL
•
Asignación de nombres/contraseñas de login a sistemas remotos
•
XNL: nuevos límites ampliables
•
Compatibilidad con Unicode: tipos de datos nuevos que admiten el juego
de caracteres Unicode
•
LDAP
•
SSL
•
El operador union en las vistas
Para obtener más información sobre la utilización de estas funciones con CIS,
consulte el Manual del usuario de Component Integration Services.
Utilidad de depuración de SQL
sqldbgr es una utilidad de línea de comandos que depura procedimientos
almacenados y disparadores. Puede:
•
conectar sqldbgr a una tarea
•
definir, activar y desactivar puntos de interrupción
•
pasar por una tarea línea a línea
•
entrar y salir de procedimientos
•
separar sqldbgr de los procedimientos almacenados o disparadores una vez
llevada a cabo la depuración.
Utilidad de conversión
Adaptive Server versión 12.5 amplía el tamaño de página de las bases de datos
de usuario de 2 K a 4 K, 8 K o 16 K. Puede utilizar la utilidad de conversión
para convertir los datos de un servidor 12.5 con un tamaño de página lógica a
otro servidor 12.5 con un tamaño distinto. La utilidad de conversión convierte
todos los datos de tablas de usuario y los siguientes objetos al servidor de
destino:
14
•
valores predeterminados
•
tipos de datos definidos por el usuario
•
reglas
CAPÍTULO 1 Nuevas funciones en Adaptive Server versión 12.5
•
tablas
•
vistas
•
disparadores
•
índices
•
procedimientos almacenados
•
procedimientos almacenados extendidos
•
usuarios
•
logins
•
roles
•
servidores remotos
15
Utilidad de conversión
16
CA P Í TUL O
2
Cambios de sistema en Adaptive
Server versión 12.5
Este capítulo describe los cambios de sistema introducidos en Adaptive
Server versión 12.5.
Incluye los siguientes temas:
Cambios de sistema de la versión 12.5
Cambios que pueden afectar a las aplicaciones ya instaladas
17
28
Cambios de sistema de la versión 12.5
Este apartado resume los cambios de la versión 12.5:
•
"Cambios en los parámetros de configuración", en la página 17
•
"Cambios en los comandos de Transact-SQL", en la página 20
•
"Procedimientos de sistema nuevos y modificados", en la página 22
•
"Cambios en las bases de datos y tablas de sistema", en la página 23
•
"Nuevas palabras reservadas", en la página 26
•
"Cambios en la documentación", en la página 27
Cambios en los parámetros de configuración
Este apartado describe los parámetros de configuración nuevos y modificados
de la versión 12.5.
17
Cambios de sistema de la versión 12.5
Parámetros de configuración nuevos
La tabla 2-1 resume los parámetros de configuración nuevos.
Tabla 2-1: Parámetros de configuración nuevos
Parámetro
Función
allocate max shared memory
Determina si Adaptive Server asigna toda la memoria especificada por el
comando max memory al iniciar o sólo la cantidad de memoria requerida
por el parámetro de configuración.
cis bulk insert array size
Controla el tamaño de la matriz cuando realiza una transferencia masiva de
datos de un servidor Adaptive Server a otro. Durante la transferencia, CIS
coloca las filas en el buffer de forma interna y pide a Bulk Library de Open
Client que las transfiera en bloque.
Determina cuándo se asigna la memoria para los cambios en los
parámetros de configuración de memoria dinámica.
dynamic allocation on demand
enable enterprise java beans
enable file access
enable full-text search
enable row level access control
enable ssl
enable surrogate processing
enable unicode normalization
heap memory per user
Activa o desactiva EJB Server.
Activa o desactiva el acceso mediante tablas proxy al Sistema externo de
archivos. Requiere una licencia para ASE_XFS.
Activa o desactiva los servicios Enhanced Full-Text Search. Requiere una
licencia para ASE_EFTS.
Activa o desactiva el control de acceso en el nivel de fila.
Activa o desactiva la seguridad basada en sesión SSL (Secure Sockets Layer).
Activa o desactiva el procesamiento y mantiene la integridad de pares
subrogados en datos Unicode.
Activa o desactiva la normalización de caracteres Unilib.
Especifica la memoria de pila por usuario para Adaptive Server.
max memory
Especifica la cantidad máxima de total logical memory (memoria lógica
total) que puede configurar para que la asigne Adaptive Server.
number of engines at startup
Especifica el número de motores que se muestran en línea durante el inicio.
Especifica la cantidad máxima de memoria física total que puede
configurar para que la asigne Adaptive Server.
Especifica el tamaño del caché de procedimientos en páginas de 2 K.
number of java sockets
procedure cache size
total logical memory
total physical memory
18
Especifica la cantidad de memoria configurada para que Adaptive Server
la utilice.
Muestra la cantidad de memoria utilizada por Adaptive Server en un
momento determinado.
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Cambios en los parámetros de configuración
La tabla 2-2 resume los cambios en los parámetros de configuración existentes.
Tabla 2-2: Parámetros de configuración modificados
Parámetro
Modificación
procedure cache percent
Eliminado de Adaptive Server versión 12.5. En esta versión, el tamaño del caché de
procedimientos se determina con procedure cache size.
Muestra la memoria lógica total para la configuración actual de Adaptive Server.
total memory
size of process object heap
max cis remote connections
Parámetro general del servidor y no asignado a una tarea concreta.
Eliminado de Adaptive Server versión 12.5. El número máximo se determina
mediante el número máximo de descriptores de archivos disponibles para un único
proceso en un sistema operativo concreto.
La tabla 2-3 enumera los parámetros de configuración que eran estáticos en
versiones anteriores y son dinámicos en la versión actual.
Tabla 2-3: Parámetros de configuración modificados de estáticos
a dinámicos
Parámetro de configuración
Parámetro de configuración
addition network memory
number of pre-allocated extents
audit queue size
number of user connections
cpu grace time
number of worker processes
deadlock pipe max messages
open index hash spinlock ratio
default database size
open index spinlock ratio
default fill factor percent
open object spinlock ratio
disk i/o structures
partition groups
errorlog pipe max messages
partition spinlock ratio
max cis remote connections
permission cache entries
memory per worker process
plan text pipe max messages
number of alarms
print recovery information
number of aux scan descriptors
process wait events
number of devices
size of global fixed heap
number of dtx participants
size of process object heap
number of java sockets
size of shared class heap
number of large i/o buffers
size of unilib cache
number of locks
sql text pipe max messages
number of mailboxes
statement pipe max messages
number of messages
tape retention in days
number of open databases
time slice
number of open indexes
user log cache spinlock ratio
number of open objects
19
Cambios de sistema de la versión 12.5
Cambios en los comandos de Transact-SQL
Este apartado describe los comandos de Transact-SQL nuevos y modificados
en la versión 12.5.
Comandos de Transact-SQL nuevos
La tabla 2-4 resume los comandos de Transact-SQL nuevos.
Tabla 2-4: Comandos nuevos
Comando
Función
create function
(SQLJ)
Crea una función SQLJ, que corresponde a un método Java
con un nombre SQL.
drop function
Elimina una función SQLJ de la base de datos.
Comandos de Transact-SQL modificados
La tabla 2-5 resume los cambios realizados en los comandos de Transact-SQL
existentes.
Tabla 2-5: Comandos modificados
Comando
Modificación
disk init
Permite utilizar los siguientes especificadores de unidad para el tamaño de dispositivo:
"k" o "K" (kilobytes), "m" o "M" (megabytes) y "g" o "G" (gigabytes).
disk reinit
Permite utilizar los siguientes especificadores de unidad para el tamaño de dispositivo:
"k" o "K" (kilobytes), "m" o "M" (megabytes) y "g" o "G" (gigabytes).
create table
Admite el nuevo parámetro size_in_bytes, que le permite especificar el tamaño de una
columna Java-SQL dentro de una fila.
Permite utilizar los siguientes especificadores de unidad para el tamaño de dispositivo:
"k" o "K" (kilobytes), "m" o "M" (megabytes) y "g" o "G" (gigabytes).
Permite utilizar los siguientes especificadores de unidad para el tamaño de dispositivo:
"k" o "K" (kilobytes), "m" o "M" (megabytes) y "g" o "G" (gigabytes).
Puede actualizar un máximo de 1.024 columnas en la cláusula set mediante literales,
variables o expresiones devueltas de una subconsulta.
alter table
alter database
set
select...for browse
select select_list
into...at pathname
compute
No puede utilizar la opción select...for browse en tablas que contengan más de 255 columnas.
Le permite especificar una tabla proxy como destino de un comando select into. La sección
at indica que la tabla nueva es una tabla proxy.
Si una cláusula compute incluye una cláusula group by:
• La cláusula compute no puede contener más de 255 añadidos.
• La cláusula group by no puede contener más de 255 columnas.
Las columnas incluidas en una cláusula compute no pueden ser superiores a 255 bytes.
like
20
La cadena de caracteres indicada por la clave like no puede ser superior a 255 bytes.
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Comando
Modificación
declare cursor
Puede incluir un máximo de 1.024 columnas en una cláusula update de una instrucción
declare cursor de un cliente.
+ operator
Devuelve cadenas de resultados de un tamaño máximo de 16.384 bytes.
Incluye sintaxis de compresión para la realización de un volcado comprimido.
dump database
load database
dump transaction
Incluye sintaxis de compresión para la carga de un volcado comprimido.
Incluye sintaxis de compresión para la realización de un volcado comprimido.
create access rule
Incluye sintaxis de compresión para la carga de un volcado comprimido.
La longitud total de la cadena de formato + el resultado no puede exceder 1 K. No obstante,
Adaptive Server no genera un mensaje de error si supera esta longitud.
Crea un procedimiento almacenado SQLJ, que corresponde a un método Java con un nombre
SQL. Adaptive Server ejecuta un procedimiento almacenado SQLJ del mismo modo que
ejecuta un procedimiento almacenado de Transact-SQL.
Le permite crear una regla que determine cómo se conecta un usuario a un servidor.
union in view
Ya está permitido utilizar el comando union en una vista.
load transaction
print statement
create procedure
(SQLJ)
Opciones nuevas y modificadas del comando set
La tabla 2-6 resume las opciones nuevas y modificadas para el comando set.
Tabla 2-6: Opciones nuevas y modificadas del comando set
Opción set
Descripción
stringsize
Limita el número de bytes presentados cuando Adaptive Server
devuelve una representación imprimible de un objeto Java. El
valor predeterminado es 50 bytes.
Funciones de Transact-SQL nuevas
La tabla 2-7 resume las funciones de Transact-SQL nuevas.
Tabla 2-7: Funciones de Transact-SQL nuevas
Función
Descripción
lockscheme()
Devuelve el esquema de bloqueo del objeto especificado en
formato de cadena.
pagesize()
Devuelve el tamaño de página, en bytes, para el objeto
especificado.
21
Cambios de sistema de la versión 12.5
Procedimientos de sistema nuevos y modificados
Este apartado describe los procedimientos de sistema nuevos y las
modificaciones realizadas a procedimientos existentes.
Nuevos procedimientos de sistema
La tabla 2-8 resume los procedimientos de sistema nuevos.
Tabla 2-8: Nuevos procedimientos de sistema
Procedimiento de
sistema
sp_ssladmin
sp_extengine
Función
Añade, elimina o presenta una lista de certificados de
servidor para Adaptive Server.
Le permite iniciar o parar EJB Server, o ver información de
estado sobre EJB Server, desde la línea de comandos.
Procedimientos de sistema modificados
La tabla 2-9 resume los cambios realizados a los procedimientos de sistema
existentes.
Tabla 2-9: Procedimientos de sistema modificados
Procedimiento
Modificación
sp_addserver
Añade funciones para los nuevos límites de Adaptive
Server.
Añade funciones para los nuevos límites de Adaptive
Server.
Añade funciones para los nuevos límites de Adaptive
Server.
Admite la nueva palabra clave depends, que le permite
ver una lista de objetos de base de datos que dependen
de la clase Java o JAR especificada.
sp_configure le permite especificar el valor de los
parámetros de configuración en especificadores de
unidad. Los especificadores de unidad son p o P para
páginas, m o M para megabytes y g o G para gigabytes.
sp_dropserver
sp_havrfy
sp_helpjava
sp_configure
sp_serveroption
22
Admite la nueva cláusula external engine auto start, que
activa o desactiva el inicio automático de EJB server
cada vez que se inicia Adaptive Server. El valor
predeterminado es true.
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Nuevos programas de utilidades
La tabla 2-10 resume los nuevos programas de utilidades añadidos a Adaptive
Server versión 12.5.
Tabla 2-10: Nuevos programas de utilidades
Utilidad
Función
ddlgen
Herramienta basada en Java que genera definiciones para objetos de nivel de servidor
y base de datos en Adaptive Server.
certpk12
Exporta o importa un archivo PKCS #12 a un archivo de certificados y una clave
privada.
certreq
Crea una petición de certificado de servidor y la clave privada correspondiente. Esta
utilidad se puede utilizar en modo interactivo o puede suministrar todos los parámetros
opcionales en la línea de comandos.
dataxtr
Herramienta de conversión de datos GUI para transferir datos y esquemas de base de
datos desde las bases de datos de versiones anteriores de Adaptive Server a las bases
de datos de la versión 12.5.
certauth
Convierte una petición de certificado de servidor en un certificado firmado por una
autoridad de certificado (CA).
pwdcrypt
Crea e imprime una contraseña LDAP cifrada en el archivo libtcl.cfg.
Le permite depurar texto de sql que se esté ejecutando en Adaptive Server.
sqldbgr
Cambios en los programas de utilidades actuales
La tabla 2-11 resume los programas de utilidades modificados en Adaptive
Server versión 12.5.
Tabla 2-11: Cambios en los programas de utilidades
Utilidad
Modificación
optdiag
optdiag y Adaptive Server deben ser de la misma versión. Es
decir, no puede utilizar la utilidad optdiag de la versión 12.0
con la versión 12.5 de Adaptive Server.
Cambios en las bases de datos y tablas de sistema
Este apartado describe las modificaciones realizadas a las bases de datos y
tablas de sistema para hacerlas compatibles con las funciones de la versión 12.5.
Bases de datos nuevas
No hay bases de datos nuevas para esta versión de Adaptive Server.
23
Cambios de sistema de la versión 12.5
Tablas de sistema nuevas
No hay tablas de sistema nuevas para esta versión de Adaptive Server.
Tablas de sistema modificadas
La tabla 2-12 resume las tablas de sistema que se han modificado en esta
versión.
Tabla 2-12: Tablas de sistema modificadas
Tabla
Modificación
syscolumns
Nueva columna status2. Indica el modo de parámetro de un procedimiento almacenado SQLJ
y el tipo de devolución de una función SQLJ.
Nueva columna accessrule. El identificador de objeto de la regla de acceso en sysprocedures.
Consulte "Control de acceso en el nivel de fila" para obtener más información.
Nueva columna spare1. No es para uso de los clientes.
sysconstraints
syslogins
sysprocesses
sysservers
systypes
Nueva columna procid. Almacena el disparador de login registrado con la opción login script
en sp_modifylogin.
Nueva columna loggedindatetime. Muestra la hora y fecha de conexión del cliente a Adaptive
Server. Consulte "Control de acceso en el nivel de fila" para obtener más información.
Nueva columna ipaddr. Dirección IP del cliente donde se realiza el inicio de conexión.
Consulte "Control de acceso en el nivel de fila" para obtener más información.
Nueva columna srvcost. Proporciona el coste de la red en milisegundos por el acceso a un
servidor mediante una red. Utilizado sólo por el optimizador de consultas de Adaptive Server
para la evaluación del coste de una consulta cuando se tiene acceso a una tabla proxy, se
define un valor predeterminado de 1.000 ms.
Nueva columna accessrule. El identificador de objeto de la regla de acceso en sysprocedures.
Consulte "Control de acceso en el nivel de fila" para obtener más información.
Para obtener información sobre las tablas de sistema, consulte el Manual de
referencia volumen 4: tablas de sistema.
Cambios en la tabla sysobjects
La tabla 2-13 describe los cambios realizados a la tabla sysobjects. Consulte
"sysobjects" en el capítulo de tablas de sistema del Manual de referencia de
Adaptive Server Enterprise para obtener más información sobre las columnas
utilizadas en sysobjects.
24
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Tabla 2-13: Cambios en la tabla sysobjects
Nombre de columna
Tipo de datos
type
char(2)
Descripción
F = función SQLJ
sysstat2
int
Se han añadido:
• Nuevo bit (0x2000000) que representa un procedimiento
almacenado SQLJ.
• Nuevo bit (0x01000000) que representa una regla de acceso.
• Nuevo bit (0x04000000) que representa una regla de acceso OR.
Estados modificados en las columnas existentes
La tabla 2-14 resume los cambios realizados a columnas de tablas de sistema
existentes en esta versión:
Tabla 2-14: Estados modificados en las columnas existentes
Nombre de tabla
Nombre de columna
Tipo de datos antiguo
Tipo de datos nuevo
sysalternates
altsuid
smallint
int
suid
smallint
int
syscolumns
syscomments
sysconfigures
colid
tinyint
smallint
length
tinyint
int
colid
tinyint
smallint
colid2
tinyint
smallint
status
tinyint
int
sysconstraints
colid
tinyint
int
syscurconfigs
status
smallint
int
sysdatabases
suid
smallint
int
sysloginroles
srid
smallint
int
suid
smallint
int
syslogins
suid
smallint
int
sysobjects
uid
smallint
int
sysprocedures
sequence
smallint
int
sysprocesses
gid
smallint
int
suid
smallint
int
uid
smallint
int
sysprotects
uid
smallint
int
sysqueryplans
uid
smallint
int
sysreferences
sysremotelogins
fokey1 ... 16
tinyint
smallint
refkey1 ... 16
tinyint
smallint
suid
smallint
int
25
Cambios de sistema de la versión 12.5
Nombre de tabla
Nombre de columna
Tipo de datos antiguo
Tipo de datos nuevo
sysroles
id
smallint
int
syssrvroles
lrid
smallint
int
systypes
uid
smallint
int
length
tinyint
int
uid
smallint
int
sysusermessages
sysusers
gid
smallint
int
uid
smallint
int
suid
smallint
int
Nuevas palabras reservadas
Las siguientes son las palabras reservadas añadidas en la versión 12.5 de
Adaptive Server:
•
deterministic
•
func
•
function
•
inout
•
new
•
out
•
output
•
returns
•
stringsize
•
syb_terminate
Debe modificar todos los nombres de bases de datos que correspondan a
palabras reservadas nuevas para poder actualizar el servidor desde una versión
anterior. Puede modificar los nombres de tablas, vistas y columnas o utilizar
identificadores delimitados. Una vez que pase a la versión 12.5, no puede
utilizar objetos de base de datos cuyos nombres correspondan a palabras
reservadas nuevas hasta que modifique los procedimientos, los archivos de
secuencias de comandos SQL y las aplicaciones.
El Manual de referencia volumen 1: conceptos básicos enumera todas las
palabras reservadas de la versión 12.5. Las palabras reservadas no pueden
utilizarse como nombres de objetos o columnas.
26
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Variables globales nuevas
La tabla 2-15 resume las variables globales para los límites de logins, usuarios
y grupos del servidor.
Tabla 2-15: Variables globales nuevas
Nombre de la variable
Lo que presenta
Valor
@@minuserid
–32768
2147483647
@@invaliduserid
Id de usuario mínimo
Id de usuario máximo
Id de usuario incorrecto
@@invalidusid
Id de usuario de servidor incorrecto
–1
–2
@@guestuserid
Id de usuario guest
Id de usuario de servidor máximo
2
2147483647
Id de usuario de servidor mínimo
Id de usuario de servidor guest
–32768
–1
Id de grupo mínimo
Id de grupo máximo
16384
1048576
Id de usuario de servidor sonda
Muestra el tamaño de página del servidor
2
2.048, 4.096, 8.128, o 16.384
@@maxuserid
@@maxsuid
@@minsuid
@@guestsuid
@@mingroupid
@@maxgroupid
@@probesuid
@@maxpagesize
Cambios en la documentación
Se han realizado los siguientes cambios en la documentación de Adaptive
Server:
•
Administración y control de Adaptive Server Enterprise ya no está
disponible.
•
El Manual de utilidades ya no está formado por dos volúmenes, uno para
UNIX y otro para Windows NT. Ha pasado a ser un manual genérico que
incluye todas las utilidades con independencia de la plataforma.
27
Cambios que pueden afectar a las aplicaciones ya instaladas
Cambios que pueden afectar a las aplicaciones
ya instaladas
Este apartado describe los cambios de sistema introducidos en Adaptive Server
versión 12.5 que pueden afectar a las aplicaciones ya instaladas si va a actualizar
una versión anterior. Los temas tratados son los siguientes:
•
"Palabras clave de Transact-SQL nuevas", en la página 28
•
"Columnas anchas y truncado de datos", en la página 28
•
"Cambios que pueden afectar a las aplicaciones cliente-servidor", en la
página 29
•
"Número máximo de expresiones en una instrucción select", en la
página 30
Palabras clave de Transact-SQL nuevas
Consulte las palabras reservadas añadidas en la versión 12.5 de Adaptive
Server en "Nuevas palabras reservadas", en la página 26.
Columnas anchas y truncado de datos
Las versiones anteriores de Adaptive Server tenían un límite de caracteres de
columna de 255 bytes. La versión 12.5 de Adaptive Server le permite crear
columnas mediante char, varchar, binary y varbinary que pueden tener una longitud
máxima de 16.294 bytes, en función del tamaño de página lógica que utilice el
servidor. Debido a esto, los datos truncados en el carácter 255 en versiones
anteriores de Adaptive Server ya no lo están. Si la aplicación dependía de este
truncado, el conjunto de resultados recibido puede no ser exacto. En el siguiente
ejemplo, col1 y col2 tienen 200 caracteres cada uno y col3 tiene 255 caracteres.
select * from t1 where col1 + col2 = col3
Si col1 y col2 tienen 200 caracteres cada uno, el resultado de su concatenación
es una cadena de 400 caracteres. Las versiones anteriores de Adaptive Server
truncaban esta cadena en 255 caracteres y la suma de col1 y col2 podría
corresponder a col3. No obstante, en la versión 12.5 de Adaptive Server, el
producto de col1 y col2 es 400 caracteres y nunca correspondería a col3, que
tiene una longitud de 255 caracteres.
28
CAPÍTULO 2 Cambios de sistema en Adaptive Server versión 12.5
Las expresiones binarias y de caracteres pueden generar un resultado con un
máximo de 16.384 bytes de longitud. Los datos que superan esta longitud se
truncan.
Cambios que pueden afectar a las aplicaciones cliente-servidor
Uso de Open Client con los nuevos límites de Adaptive Server
Adaptive Server y Open Client interactúan en función de cómo determine las
capacidades de Open Client. La capacidades corresponden a funciones que
admiten una conexión cliente-servidor. En concreto, hacen referencia a los
tipos de peticiones que envía una aplicación en una conexión concreta y los
tipos de respuestas de servidor que devuelve un servidor en una conexión
concreta. Para poder utilizar Open Client con los límites más amplios que
permite Adaptive Server 12.5, debe activar la capacidad Open Client para
dichos límites. Consulte la información sobre activación de capacidad de tablas
anchas en la documentación de Open Client.
DB Library no puede utilizar los límites más amplios de Adaptive Server 12.5
En función de la versión de Open Client que utilice, puede que tenga que seguir
los pasos que se detallan a continuación:
Adaptive Server y
Open Client utilizan la
versión 12.5
Adaptive Server
12.5 con versiones
anteriores de Open
Client
No debería experimentar ningún problema si tanto la versión de Adaptive
Server como de Open Client es 12.5. Siga los siguientes pasos para utilizar
Open Client 12.5 con Adaptive Server 12.5:
1
Vuelva a vincular la aplicación Open Client con las bibliotecas 12.5.
2
Defina el nuevo número de versión con CS_VERSION.
3
Si utiliza JConnect, vuelva a conectar los controladores.
•
Si utiliza una versión anterior de la aplicación Open Client con Adaptive
Server 12.5 y ha vuelvo a vincular su aplicación con Open Client 12.5,
aunque no ha modificado la versión de las bibliotecas, las funciones de la
versión anterior funcionarán correctamente pero los nuevos límites no
estarán activados. Adaptive Server envía los datos según los límites
anteriores a la versión 12.5 y truncará los datos que sean superiores a éstos.
•
Si utiliza una versión anterior de Open Client con Adaptive Server 12.5
pero no ha vuelvo a vincular las bibliotecas, Adaptive Server envía los
datos en función de la versión anterior, con las mismas restricciones que
se detallaron anteriormente.
29
Cambios que pueden afectar a las aplicaciones ya instaladas
Open Client
conectado a un
servidor Adaptive
Server remoto
Si se conecta a un servidor Adaptive Server de la forma que se describe a
continuación, Open Client no recibe datos anchos:
Figura 2-1: Open Client conectado a un servidor Adaptive Server
remoto
Open Client
12.5
Adaptive
Server 12.5
Adaptive
Server 12.0
En este ejemplo, Open Client se conecta a Adaptive Server 12.5 mediante
capacidades 12.5, aunque dado que la base de datos que se consulta está
ubicada en un servidor 12.0, los datos devueltos utilizan los límites de la
versión 12.0 y los que los superen quedarán truncados.
Si utiliza una versión anterior de Open Client con Adaptive Server
Las versiones anteriores de Open Client no podían recibir más de 255 bytes
por columna de Adaptive Server. Si utiliza versiones anteriores de Open Client
con Adaptive Server versión 12.5, Adaptive Server truncará los datos hasta los
255 bytes y generará un aviso.
Las versiones anteriores de Open Client funcionan correctamente con
Adaptive Server versión 12.5 si no utiliza los límites nuevos (columnas y filas
más anchas, tamaños de páginas lógicas superiores, etc.)
Número máximo de expresiones en una instrucción select
Adaptive Server versión 12.5 no tiene un límite explícito de número de expresiones
en una instrucción select. El límite lo define la memoria de sistema disponible.
30
CA P Í TUL O
3
Nuevas funciones y cambios
del sistema en Adaptive Server
versión 12.0
Este capítulo explica las nuevas funciones y cambios del sistema
introducidos con Sybase Adaptive Server Enterprise versión 12.
Además de mejorar la facilidad de uso y el rendimiento generales,
Adaptive Server versión 12 introduce varias nuevas funciones autorizadas
para uso especializado. Entre éstas se incluyen:
•
Uso de Java en Adaptive Server Enterprise
•
Sybase Failover para entornos de alta disponibilidad
•
Administración de transacciones distribuidas
•
Seguridad avanzada
Antes de utilizar cualquiera de estas funciones, debe adquirir la licencia
de la función y configurar dicha función con el sistema de administración
de licencias SySAM (consulte el Manual de instalación para obtener
instrucciones detalladas). Para adquirir una o más funciones autorizadas,
póngase en contacto con su representante de ventas local.
31
Nuevas funciones de la versión 12
Nuevas funciones de la versión 12
Las nuevas funciones y cambios del sistema en Adaptive Server
versión 12 son:
Categoría
Disponibilidad y facilidad de uso
Nombre
"Sybase Failover para entornos de alta disponibilidad", en la página 33
"Reconstrucción de índices", en la página 35
"Copia de seguridad y restauración de alto rendimiento", en la página 35
"Cintas sin rebobinado", en la página 36
"Compatibilidad con el sistema de archivos UNIX", en la página 36
"Modificación del esquema de una tabla existente con alter table", en la
página 37
"Suspensión de actualizaciones de base de datos con quiesce database", en la
página 37
"Desconexión de los motores de Adaptive Server", en la página 38
"Información de procesos configurable por el usuario", en la página 38
"Rango de números de identificación para tablas", en la página 39
Rendimiento y productividad
"Base de datos de diagnóstico", en la página 39
"Uso de Java en Adaptive Server Enterprise", en la página 40
"Número de tablas en una consulta", en la página 41
"Mejoras en el procesamiento y optimización de las consultas", en la
página 42
"Uniones ANSI", en la página 43
"Ejecución dinámica de Transact-SQL", en la página 44
"Mejoras de los tipos de datos text e image", en la página 45
"Planes abstractos", en la página 45
"Desactivación de disparadores", en la página 46
Procesamiento distribuido
"Particiones de caché", en la página 47
"Administración de transacciones distribuidas", en la página 47
"Mejoras en Component Integration Services (CIS)", en la página 48
Seguridad
"Seguridad de red", en la página 49
"Seguridad de login definido por el usuario", en la página 50
"Identificación concreta", en la página 54
Cambios del sistema
32
"Cambios del sistema en la versión 12", en la página 55
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Sybase Failover para entornos de alta disponibilidad
Un cluster de alta disponibilidad incluye dos equipos que están configurados
de manera que si uno de los equipos (o aplicación) se colapsa, el segundo
equipo asume la carga de trabajo de ambos. Cada uno de estos equipos
recibe el nombre de nodo del cluster de alta disponibilidad. Generalmente,
se utiliza un cluster de alta disponibilidad en un entorno que debe estar
siempre disponible, por ejemplo, un sistema bancario al que se deban
conectar los clientes constantemente los 365 días del año.
El producto Sybase Failover permite que Adaptive Server funcione en un
cluster de alta disponibilidad en una configuración activo-activo. Es decir,
ambos nodos del cluster incluyen los servidores Adaptive Server
administrando cargas de trabajo independientes y son capaces de asumir
la carga de trabajo del otro en el caso de error. El servidor Adaptive Server
que asume la carga de trabajo se denomina nodo secundario y el servidor
Adaptive Server que falla es el nodo primario. Juntos se les conoce como
servidores acompañantes. El movimiento de un nodo al otro se llama
conmutación por error. Una vez que el nodo primario está preparado
para reanudar su carga de trabajo, se le mueve a su nodo original. Este
movimiento se conoce como conmutación por recuperación. Los
clientes conectados al servidor Adaptive Server que falla restablecen
automáticamente las conexiones de red por medio del segundo equipo.
Puede configurar Sybase Failover para una configuración asimétrica
o simétrica. En una configuración asimétrica, el servidor Adaptive Server
primario realiza el trabajo de las operaciones diarias, mientras que el servidor
Adaptive Server secundario está preparado para asumir el trabajo durante
un error del sistema o un mantenimiento programado. El nodo secundario
es un servidor Adaptive Server independiente y puede tener sus propias
aplicaciones en ejecución. La figura 3-1 describe una configuración
asimétrica:
33
Sybase Failover para entornos de alta disponibilidad
Figura 3-1: Configuración asimétrica en un sistema de alta
disponibilidad
Una configuración simétrica consiste en dos servidores Adaptive Server
totalmente funcionales en ejecución en dos equipos independientes, con
sus propios dispositivos del sistema, bases de datos del sistema, bases de
datos de usuario e logins de usuarios. No obstante, en el caso de una
conmutación por error, cualquiera de los servidores Adaptive Server actúa
como nodo primario o secundario del otro Adaptive Server. La figura 3-2
describe una configuración simétrica:
Figura 3-2: Configuración simétrica en un sistema de alta
disponibilidad
Para obtener información sobre cómo ejecutar Sybase Failover en un
sistema de alta disponibilidad, consulte Cómo utilizar Sybase Failover
en un sistema de alta disponibilidad.
34
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Reconstrucción de índices
En Adaptive Server 12, puede utilizar el comando reorg rebuild para
reconstruir los índices individuales mientras que la tabla es accesible a las
actividades de lectura y actualización. Para obtener detalles, consulte el
Manual de administración del sistema y la descripción de reorg en el
Manual de consulta de Adaptive Server.
Nuevas funciones de Backup Server
Las siguientes funciones son nuevas para Backup Server:
•
Copia de seguridad y restauración de alto rendimiento
•
Cintas sin rebobinado
Copia de seguridad y restauración de alto rendimiento
Cuando inicie Backup Server con el comando de la utilidad backupserver,
puede utilizar el parámetro -m para mejorar el rendimiento de los comandos
de volcado y carga al configurar más memoria compartida para Backup
Server. El parámetro -m especifica la cantidad máxima de memoria
compartida utilizada por Backup Server. También debe configurar el
sistema operativo para garantizar que la cantidad de memoria compartida
está disponible para Backup Server. Tras completar una operación de
volcado o carga, se liberan los segmentos de memoria compartida.
Nota: La configuración de más memoria compartida mejora el rendimiento
del volcado y la carga sólo si no se alcanzan los límites de rendimiento de
la configuración del hardware. El aumento del valor de -m puede no
provocar la mejora del rendimiento cuando se realice un volcado a un
dispositivo de cinta lento, como QIC, pero puede mejorarlo visiblemente
cuando se realice el volcado a un dispositivo más rápido, como DLT.
Para obtener detalles sobre la utilización de Backup Server, consulte el el
manual de utilidades para su plataforma y el Manual de administración del
sistema.
35
Compatibilidad con el sistema de archivos UNIX
Cintas sin rebobinado
En las versiones anteriores de Adaptive Server, Backup Server rebobinaba
la cinta antes de realizar cada operación de volcado. En la versión 12, la
cinta se coloca al final de los datos válidos de volcado, lo que ahorra
tiempo cuando se quiere realizar varias operaciones de volcado. Para
obtener más detalles, consulte el Manual de administración del sistema.
Compatibilidad con el sistema de archivos UNIX
Con las versiones anteriores de Adaptive Server, Sybase no recomendaba
la colocación de dispositivos de bases de datos en archivos del sistema
operativo UNIX. No se podía garantizar la integridad de los datos en tales
dispositivos, porque la escritura en el archivo se almacenaba en el buffer
del sistema de archivos UNIX. Adaptive Server no podía saber cuándo una
actualización se reflejaba en el medio físico, por lo que no podía recuperar
las bases de datos en el dispositivo en determinados casos de error del
sistema. Por esta razón, se necesitaban las particiones originales UNIX
para garantizar la integridad de los dispositivos de bases de datos.
Adaptive Server versión 12 introduce un nuevo valor dsync para los archivos
de dispositivo de bases de datos, que controla si la escritura en esos archivos
se almacena en buffer. Cuando el valor dsync está activado, Adaptive Server
abre un archivo de dispositivo de bases de datos con el indicador UNIX
dsync. El indicador dsync garantiza que la escritura en el archivo del
dispositivo ocurre directamente en el medio físico de almacenamiento,
y Adaptive Server puede recuperar los datos del dispositivo en el caso de
un error de sistema.
Para obtener más información sobre el indicador dsync, vea las entradas en
el Manual de consulta para disk init, disk reinit, sp_deviceattr o sp_helpdevice.
36
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Modificación del esquema de una tabla existente con
alter table
Adaptive Server 12 incluye nueva sintaxis para alter table que le permite
añadir, eliminar o modificar las columnas de una tabla. alter table...modify
le permite modificar el tipo de datos, longitud, esquema de bloqueo o valor
predeterminado de una columna. alter table también le permite añadir,
eliminar o modificar una columna IDENTITY y añadir una columna null
o non-null.
alter table incluye la siguiente sintaxis para modificar el esquema de una tabla:
alter table table_name
[add column_name datatype [identity | null |
not null] [, column_name datatype [identity |null | not null]]]
[drop column_name [, column_name]
[modify column_name {[data_type]
[[null] | [not null]]}
[, column_name datatype [null | not null]]]
Donde table_name es la tabla que desea modificar y datatype es el tipo de
datos de la columna modificada. Lo siguiente cambia el tipo de datos de la
columna type de la tabla titles de char(12) a varchar(20) y hace que acepte
valores NULL:
alter table titles
modify type varchar(20) null
Suspensión de actualizaciones de base de datos con
quiesce database
Adaptive Server versión 12 le proporciona el nuevo comando quiesce
database para suspender temporalmente las actualizaciones de las bases de
datos. Es posible que desee suspender las actualizaciones de las bases de
datos para usar una utilidad externa de copia de seguridad de bases de
datos o para separar una base de datos de sus reflejos por motivos de
informes.
Para obtener más información sobre esta función, vea las páginas de
quiesce database en el Manual de consulta.
37
Desconexión de los motores de Adaptive Server
Desconexión de los motores de Adaptive Server
Puede cambiar dinámicamente el número de motores en uso por Adaptive
Server con el comando dbcc engine para desconectar o conectar un motor.
Esto le permite al administrador del sistema reconfigurar los recursos de
la CPU según fluctúen los requisitos de procesamiento en el tiempo.
Para obtener información sobre la utilización de dbcc engine (offline), vea
el Capítulo 16, "Administración de servidores multiprocesador", en el
Manual de administración del sistema.
Información de procesos configurable por el usuario
El comando set incluye opciones que le permiten asignar a cada cliente un
nombre individual, el nombre del equipo y el nombre de la aplicación.
Esto resulta útil para diferenciar entre los clientes de un sistema en el que
muchos clientes se conectan a Adaptive Server utilizando igual nombre,
nombre del equipo o nombre de la aplicación. La sintaxis parcial para el
comando set es:
set [clientname client_name | clienthostname host_name |
clientapplname application_name]
Donde client_name es el nombre que se le asigna al cliente, host_name es
el nombre del equipo desde el que se conecta el cliente y application_name
es la aplicación que se conecta a Adaptive Server. Estos parámetros se
almacenan en las columnas clientname, clienthostname, clientapplname de
la tabla sysprocesses.
Para obtener más información, consulte el capítulo "Administración de
logins y usuarios de bases de datos de Adaptive Server" del Manual de
administración del sistema.
38
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Rango de números de identificación para tablas
La columna identity contiene un número de identificación único, generado
por Adaptive Server, para cada fila de una tabla. Debido a la manera
predeterminada en la que el servidor genera los números de identificación,
puede encontrar amplios intervalos en ellos. El parámetro identity_gap le
proporciona control sobre los números de identificación, y los posibles
intervalos entre ellos, para una tabla específica.
Se puede utilizar este parámetro al crear una tabla con create table o select
into. Para cambiar el rango de identificación, utilice identity_gap con
sp_chgattribute. Para cambiar la configuración del rango de identificación
de una tabla, utilice sp_help.
Para obtener detalles sobre la utilización de identity_gap, consulte el
Manual de administración del sistema y las descripciones de los
comandos y procedimientos del sistema en el Manual de consulta de
Adaptive Server.
Base de datos de diagnóstico
El Soporte técnico de Sybase puede crear la base de datos sybdiagdb en su
sistema por motivos de depuración. Esta base de datos contiene datos de
configuración de diagnóstico. Los clientes no deben utilizarla.
Se han añadido las siguientes opciones configname a sp_helpconfig para su
utilización con la base de datos sybdiagdb:
•
number of ccbs es el número de bloques de control de punto de acción
configurable disponibles para ayudar en la depuración.
•
caps per ccb es el número máximo de puntos de acción configurables
que pueden definirse de forma simultánea dentro de un punto de
acción configurable.
•
average cap size es una estimación de la cantidad de bytes de
memoria que serán necesarios para almacenar la información
asociada con un punto de acción configurable típico.
Nota: Se pueden utilizar las nuevas opciones con el Soporte técnico de
Sybase, sólo por razones de depuración, con la base de datos sybdiagdb.
39
Uso de Java en Adaptive Server Enterprise
Uso de Java en Adaptive Server Enterprise
Adaptive Server versión 12 proporciona un entorno de tiempo de
ejecución para Java, lo que significa que puede ejecutar código Java en el
servidor. La capacidad de Adaptive Server para Java le proporciona
nuevas y eficaces maneras de administrar y almacenar datos y lógica,
utilizando un lenguaje que es portátil y ampliamente disponible.
•
Puede utilizar el lenguaje de programación Java como parte integral
de Transact-SQL.
•
Puede reutilizar el código Java en las diferentes capas de la aplicación
(cliente, nivel medio o servidor) y utilizarlas de la manera que le
resulte más razonable.
•
Java le proporciona un lenguaje más eficaz que los procedimientos
almacenados para crear la lógica en la base de datos.
•
Las clases de Java se convierten en tipos de datos enriquecidos definidos
por usuario.
•
Los métodos de las clases de Java proporcionan nuevas funciones
a las que se puede acceder desde SQL.
•
Se puede utilizar Java en la base de datos sin poner en peligro la
integridad, seguridad y robustez de la misma. La utilización de Java
no altera el comportamiento de las instrucciones SQL existentes
u otros aspectos del comportamiento relacional de la base de datos
ajenos a Java.
Posibilidades del uso de Java en Adaptive Server
El uso de Java en Adaptive Server le proporciona:
•
Funciones definidas por el usuario en Java (UDF)
•
Clases de Java como tipos de datos en SQL
Funciones definidas por el usuario en Java
Puede instalar las clases de Java en la base de datos de Adaptive Server
y llamar después a los métodos de éstas, tanto desde el sistema de SQL
como desde los sistemas cliente.
40
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Los métodos de un lenguaje orientado a objetos se corresponden con las
funciones de un lenguaje de procedimiento. Puede llamar a los métodos
de Java como UDF en, por ejemplo, las listas select y las cláusulas where.
Puede utilizar los métodos de otras fuentes, así como los que haya creado
y probado.
Clases de Java como tipos de datos
Puede instalar clases puras de Java en un sistema de SQL y después utilizarlas
de manera natural como tipos de datos en SQL. Esta posibilidad añade un
mecanismo completo de extensión de tipos de datos orientados a objetos
en SQL. Los objetos que se crean y almacenan con este dispositivo se
pueden transferir fácilmente a cualquier entorno que tenga Java habilitado,
ya sea otro sistema de SQL o un entorno Java independiente.
Esta posibilidad de utilizar clases de Java en la base de datos tiene dos usos
diferentes pero que se complementan:
•
Proporciona un mecanismo de extensión de tipos para SQL, que
puede utilizar para datos creados y procesados con SQL.
•
Proporciona una posibilidad de datos persistentes para Java, que
puede utilizar para almacenar datos en SQL que se crean y procesan
principalmente en Java. El uso de Java en Adaptive Server le proporciona
una ventaja distintiva comparado con los dispositivos tradicionales de
SQL: No necesita asignar los objetos de Java en tipos de datos
escalares de SQL, ni almacenarlos como cadenas binarias sin tipo.
Número de tablas en una consulta
Ha aumentado el número de tablas de usuario y tablas de trabajo que se
puede utilizar en una consulta sobre las versiones anteriores de Adaptive
Server. En las versiones anteriores, una consulta y las vistas utilizadas en
ella podían hacer referencia a un máximo de 16 tablas de usuario, y el
número de tablas de trabajo que se podían crear era de 12. El nuevo límite
es de 50 tablas de usuario y 14 tablas de trabajo. Los límites en el número
de comprobaciones permitidas de la integridad referencial (192) y el número
de subconsultas permitidas en una consulta (16) no han cambiado.
41
Mejoras en el procesamiento y optimización de las consultas
Puede que necesite restablecer el número del parámetro de configuración
de los descriptores auxiliares de búsqueda si aumenta el número de las
tablas referenciadas en las consultas.
Para obtener información sobre cómo optimizar las consultas cuando se
incluye un gran número de tablas, consulte el Capítulo 7, "Métodos de
acceso y cálculo de costes de las consultas para uniones y subconsultas",
en el Manual de rendimiento y mejoras.
Para obtener información sobre el restablecimiento de los descriptores de
búsqueda, consulte el número de descriptores auxiliares de búsqueda en el
Capítulo 17, "Definición de los parámetros de configuración", en el
Manual de administración del sistema.
Mejoras en el procesamiento y optimización
de las consultas
Adaptive Server versión 12 introduce varias mejoras en el procesamiento
de las consultas.
Uniones de fusión
Las versiones anteriores de Adaptive Server realizan todas las consultas de
unión utilizando uniones de bucle anidado. La versión 12 añade las uniones
de fusión como método de ejecución de consultas para uniones de igualdad.
Las uniones de fusión pueden reducir notablemente los tiempos de ejecución
de la consulta, especialmente para las uniones que implican varias tablas
grandes. Como valor predeterminado, las uniones de fusión no están
activadas. Pueden habilitarse para todo el servidor o para una sesión
individual.
Para obtener información sobre la configuración de las uniones de fusión,
consulte enable sort-merge joins and JTC en el Capítulo 17, "Definición de
los parámetros de configuración", del Manual de administración del
sistema. Para obtener información sobre las uniones de fusión y el
procesamiento de las consultas, consulte el Capítulo 7, "Métodos de
acceso y cálculo de costes de las consultas para uniones y subconsultas",
en el Manual de rendimiento y mejoras.
42
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Mejoras en el coste de las consultas
Los siguientes cambios ayudan a mejorar la exactitud del coste del
optimizador y proporcionan rutas adicionales para la ejecución de las
consultas:
•
Se puede aplicar el cierre transitivo a las uniones
•
La factorización y transformación del predicado puede mejorar el
coste de las consultas que utilizan or
•
Optimización especial para los caracteres comodines de apertura en
las cadenas
Estas características se describen en el Capítulo 5, "Definición del
optimizador de consultas", del Manual de rendimiento y mejoras.
Uniones ANSI
Las versiones anteriores de Adaptive Server sólo proporcionaban la sintaxis
para una unión Transact-SQL, que incluía los símbolos =* y *= para
especificar una unión derecha o izquierda respectivamente. Adaptive
Server 12 incluye sintaxis ANSI para unir tablas o vistas, lo que le permite
escribir:
•
Uniones internas, en las que la tabla unida incluye sólo las filas de las
tablas interna y externa que cumplen las condiciones de la cláusula on.
El conjunto de resultados de una consulta que incluye una unión
interna no incluye ninguna fila especificada como nula para las filas
de la tabla externa que no cumplan las condiciones de la cláusula on.
La sintaxis para una unión interna ANSI es:
select select_list
from table1 inner join table2
on join_condition
Por ejemplo:
select au_id, titles.title_id, title, price
from titleauthor inner join titles
on titleauthor.title_id = titles.title_id
and price > 15
43
Ejecución dinámica de Transact-SQL
•
Uniones externas, en las que la tabla unida incluye sólo las filas de la
tabla externa cumplan o no las condiciones de la cláusula on. Si una
fila no cumple las condiciones de la cláusula on, los valores de la tabla
interna se almacenan en la tabla unida como valores nulos. La
cláusula where de una unión externa ANSI limita las filas que se
incluyen en el resultado de la consulta. La sintaxis ANSI también le
permite escribir uniones externas anidadas. La sintaxis para una unión
externa ANSI es:
select select_list
from table1 {left | right} [outer] join
table2
on predicate
[join restriction]
Por ejemplo:
select au_fname, au_lname, pub_name
from authors left join publishers
on authors.city = publishers.city
Sybase recomienda que las aplicaciones utilicen uniones externas
ANSI porque especifican sin ambigüedades si la cláusula on o where
contiene el predicado, que resulta ambiguo cuando se utilizan uniones
externas de Transact-SQL.
Para obtener más información, consulte el Manual del usuario de
Transact-SQL.
Ejecución dinámica de Transact-SQL
Adaptive Server versión 12 proporciona una extensión al comando
execute que permite a los usuarios definir comandos de Transact-SQL
dinámicamente en el tiempo de ejecución. Las aplicaciones y procedimientos
pueden utilizar la nueva sintaxis de execute() en los casos en los que los
nombres de las tablas, columnas, etc. resultan desconocidos hasta que se
ejecuta la aplicación o el procedimiento.
Para obtener más información sobre esta función, vea las páginas de
execute en el Manual de consulta.
44
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Mejoras de los tipos de datos text e image
Adaptive Server versión 12 mejora el formato de almacenamiento para los
tipos de datos text e image. Los cambios introducidos en el formato de
almacenamiento son transparentes para las aplicaciones del usuario final,
pero permiten que Adaptive Server realice un acceso aleatorio al consultar
los datos. Esto mejora el rendimiento de la consulta con respecto a
versiones anteriores, que tenían que acceder a los datos text e image de
modo secuencial.
El nuevo formato de almacenamiento para los tipos de datos text e image
también permite que Adaptive Server realice una recuperación previa en
modo asíncrono de los datos en una agrupación de buffers existente. Puede
ajustar la configuración de recuperación previa para los datos text e image
utilizando el nuevo parámetro sp_configure, text prefetch size. Consulte el
Manual de administración del sistema para obtener más información
sobre text prefetch size.
Planes abstractos
Adaptive Server pude capturar el texto de la consulta y guardar un plan
abstracto para una consulta en una nueva tabla del sistema denominada
sysqueryplans. Utilizando un método hash rápido, las consultas SQL
entrantes se pueden comparar con el texto de la consulta almacenada,
y si se encuentra un valor coincidente, se utiliza el plan abstracto guardado
para ejecutar la consulta.
Un plan abstracto describe el plan de ejecución para una consulta utilizando
un lenguaje creado a tal efecto. Este lenguaje contiene operadores para
especificar las opciones y acciones que puede generar el optimizador.
Por ejemplo, para especificar una búsqueda de índice en la tabla titles,
utilizando el índice title_id_ix, el plan abstracto indica:
(i_scan title_id_ix titles)
Los planes abstractos proporcionan una manera de que los administradores
del sistema y los ajustadores del rendimiento protejan el rendimiento
general de un servidor ante los cambios en los planes de consulta. Pueden
surgir cambios en los planes de consulta debido a:
•
Actualizaciones del software de Adaptive Server que afectan a las
opciones del optimizador.
45
Desactivación de disparadores
•
Nuevas funciones de Adaptive Server que cambian los planes de
consulta.
•
Cambios en las opciones de mejora como el grado de paralelismo,
la partición de tablas o la creación de índices.
Otros usos incluyen:
•
La capacidad de buscar determinados tipos de planes, como las
búsquedas de tabla o los reformateos.
•
La capacidad de determinar los planes que utilizan determinados
índices.
•
La capacidad de especificar planes completos o parciales para
consultas con un rendimiento pobre.
Para obtener información sobre los planes abstractos, consulte el
Capítulo 21, "Introducción a los planes abstractos", del Manual de
rendimiento y mejoras.
Desactivación de disparadores
La carga de una base de datos desde un volcado anterior hace que los
disparadores definidos en ella se disparen, lo que incrementa la cantidad
de tipo necesario para cargar la base de datos. Adaptive Server 12 introduce
la opción disable trigger del comando alter table para desactivar los
disparadores en una base de datos antes de cargarla, reduciendo el tiempo
requerido para la carga de la base de datos. Utilice alter table... enable
trigger para reactivar los disparadores una vez haya completado la carga
de la base de datos. alter table... disable trigger utiliza la siguiente sintaxis:
alter table [database_name.[owner_name].]table_name
{enable | disable} trigger [trigger_name]
46
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Particiones de caché
En un entorno de varios motores, cada tarea que necesita acceder al caché
de datos mantiene un spinlock sobre el caché mientras accede a él. Con un
número de motores y una velocidad de transacción altos, la contención
para el spinlock del caché de buffer puede ralentizar el rendimiento.
Adaptive Server versión 12 le permite dividir cada caché en particiones,
cada una con su propio spinlock. Consulte "Configuración de cachés de
datos" en el Manual de administración del sistema para obtener
información sobre la configuración de las particiones de caché. Consulte
"Utilización y rendimiento de la memoria" y "Control del rendimiento con
sp_sysmon" del Manual de rendimiento y mejoras para obtener
información sobre cómo comprobar la contención del spinlock del caché y
otras consideraciones a tomar en cuenta cuando se utilizan particiones de
caché.
Administración de transacciones distribuidas
Adaptive Server versión 12 introduce varias funciones de administración
de transacciones distribuidas para:
•
Hacer que Adaptive Server tenga total compatibilidad con el
protocolo X/Open XA cuando actúa como administrador de recursos,
sin requerir servicios adicionales como XA-Server
•
Proporcionar compatibilidad para las transacciones distribuidas
coordinadas por Microsoft Distributed Transaction Coordinator
(MSDTC)
•
Garantizar la confirmación o deshacer de modo consistente para todas
las transacciones que actualicen los datos de Adaptive Server versión
12 mediante llamadas a procedimientos remotos (RPC) y Component
Integration Services (CIS)
•
Proporcionar el marco de trabajo para admitir en el futuro protocolos
adicionales de administración de transacciones distribuidas
Estas posibilidades están disponibles como una función autorizada
independiente de Adaptive Server. Consulte Cómo utilizar las
características de la Administración de transacciones distribuidas (DTM)
en Adaptive Server para obtener más información.
47
Mejoras en Component Integration Services (CIS)
Mejoras en Component Integration Services (CIS)
Adaptive Server versión 12 incluye estas nuevas funciones de Component
Integration Services (CIS):
•
Nuevos comandos dbcc: dbcc cis showcaps y dbcc cis setcaps
permiten examinar y modificar las posibilidades del servidor.
•
Bases de datos proxy: una base de datos proxy se crea conteniendo
tablas proxy. Los metadatos para las tablas proxy se importan
directamente desde la ubicación remota que contiene las tablas reales.
Estos metadatos se utilizan entonces para crear tablas proxy dentro
de la base de datos proxy.
•
Sincronización de las tablas proxy: las tablas proxy de una base de
datos proxy se pueden volver a sincronizar utilizando el comando
alter database.
•
Uso de Java en la base de datos
•
Compatibilidad para uniones ANSI
•
Límite de uniones de 50 tablas
•
Nuevas variables globales
•
Compatibilidad para logins de servidor remoto
•
Administración de transacciones de confirmación en dos fases
•
Compatibilidad para ejecutar de inmediato
•
Nuevos comandos set
•
Bases de datos proxy del sistema para admitir los clusters de alta
disponibilidad
•
Sintaxis create table
•
Sintaxis create existing table
•
create proxy_table
•
Llamadas a procedimientos remotos (RPC) como tablas proxy
Consulte el Manual del usuario de Component Integration Services para
obtener más información.
48
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Seguridad de red
La seguridad de red para Adaptive Server se consigue a través de la capa
de control de seguridad (SCL). Las funciones de seguridad compatibles
con Adaptive Server se suministran por medio de uno o más controladores
de seguridad que funcionan con un mecanismo de seguridad determinado.
Las versiones de Adaptive Server anteriores a la 12 sólo podían obtener
información de los servicios de red leyendo el archivo de interfaces en el
directorio de la versión de Sybase. Adaptive Server 12 puede acceder a la
información de servicios de red, como el nombre de equipo y el número
de puerto, en otras fuentes además del archivo de interfaces. Adaptive
Server envía y recibe esta información de configuración mediante la capa
de control del directorio (DCL), que define un servicio de directorio genérico
para que las aplicaciones accedan a la información de los servicios de red.
Los controladores para los proveedores de servicios específicos reciben el
nombre de controladores de directorio. Si no está instalado ningún controlador
de directorio, la DCL obtiene la información de los servicios de red del
archivo de interfaces. Los controladores de directorios son específicos
para la plataforma. Por ejemplo, el controlador de directorio DCE se
implementa en varias plataformas UNIX, pero el controlador del Registro
de NT sólo se implementa en la plataforma NT.
Consideraciones de rendimiento
La utilización de la DCL no debería tener un impacto significativo en el
rendimiento. Puede notar algún cambio en el rendimiento cuando se inicie
el servidor y se creen las conexiones. Una vez que se inicia el servidor, no
existe impacto en el rendimiento de los puertos de escucha. En las conexiones
servidor a servidor, no existe impacto en el rendimiento una vez que se
establece la conexión del controlador del sitio. El rendimiento de la DCL
depende del rendimiento del controlador del directorio.
49
Seguridad de login definido por el usuario
Funciones de seguridad admitidas en Adaptive Server 12
Dependiendo de los mecanismos de seguridad que elija, Adaptive Server
le permite utilizar uno o varios de los siguientes servicios de seguridad:
•
Login unificado: Adaptive Server recibe la credencial previamente
autenticada de un usuario (login y contraseña) desde la aplicación
cliente cuando el cliente hace una solicitud del servidor. Entonces
Adaptive Server verifica la credencial con el mecanismo de seguridad,
de manera que el usuario sólo suministra una vez un nombre de login
y una contraseña para ganar acceso a Adaptive Server.
•
Integridad: Adaptive Server utiliza un algoritmo de integridad de
mensajes negociado con la aplicación cliente en el momento del login
para verificar que las comunicaciones de datos del cliente no han sido
alteradas. Adaptive Server "firma" todas las comunicaciones de datos
salientes para que el cliente pueda verificar su integridad.
Para obtener detalles sobre cómo configurar el sistema para utilizar las
funciones de seguridad, consulte el Capítulo 10, "Uso de la seguridad
basada en red", del Manual de administración del sistema.
Seguridad de login definido por el usuario
La seguridad de login definido por el usuario (UDLS) le proporciona
mayor control sobre las funciones relativas a la seguridad de Adaptive
Server. En Adaptive Server 12, el Oficial de seguridad del sistema puede:
50
•
Añadir un mayor número de logins y roles de usuario que el que era
posible en versiones anteriores
•
Especificar un número máximo permitido de veces que se puede
escribir una contraseña no válida para un login o una función antes
de que se bloqueen automáticamente
•
Bloquear y desbloquear las funciones manualmente
•
Garantizar que todas las contraseñas de usuario contienen al menos
un dígito
•
Especificar la longitud mínima de las contraseñas requerida para todo
el servidor o para un login o una función específicos
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
•
Mostrar toda la información relativa a la seguridad de los logins y las
funciones
•
Asociar un valor de caducidad de contraseña con un login o una
función específicos
•
La auditoría forma parte de las funciones de seguridad de Adaptive
Server, pero no se ha actualizado para la versión 12.0, por lo que no
hay cambios de documentación para la auditoría.
Las funciones de la UDLS se describen con detalle en el Manual de
administración del sistema y el Manual de consulta de Adaptive Server.
Aumento del número máximo de usuarios e logins
Se ha incrementado el número máximo de usuarios e logins por base de
datos. A resultas de estos cambios, podría notar los nuevos
comportamientos a continuación:
•
Se pueden utilizar valores negativos para los Id. de usuario (uid).
•
El Id. de usuario de servidor (suid) asociado con un grupo o una
función en sysusers ya no es equivalente a la negación de su Id. de
usuario (uid). En Adaptive Server 12.0, cada suid asociado con un
grupo o una función en sysusers se define como –2 (INVALID_SUID).
Definición y cambio del número máximo de intentos de login
La configuración del número máximo de intentos permitidos de login
proporciona protección contra los intentos de adivinar las contraseñas "por
la fuerza" o basados en diccionario. El Oficial de seguridad del sistema
puede especificar un número máximo de intentos consecutivos permitidos
de login, tras el cual se bloquea automáticamente el login o la función.
El número de intentos fallidos permitido de login se puede configurar para
todo el servidor o para los logins y las funciones individuales. Las
configuraciones individuales tienen prioridad sobre la configuración para
todo el servidor.
El número de logins fallidos se almacena en la columna logincount de
master..syslogins. Un login satisfactorio restablece el número de logins
fallidos a 0.
51
Seguridad de login definido por el usuario
Puede utilizar los siguientes comandos o procedimientos del sistema para
definir o cambiar el número máximo de intentos de login:
•
create role
•
alter role
•
sp_addlogin
•
sp_modifylogin
•
sp_configure
Bloqueo y desbloqueo de logins y funciones
Se puede bloquear un login o una función cuando:
•
Caduca la contraseña, o
•
Se alcanza el número máximo de intentos fallidos de login, o
•
El Oficial de seguridad del sistema bloquea el login o la función
manualmente.
Puede utilizar los siguientes comandos o procedimientos del sistema para
bloquear o desbloquear los logins y las funciones:
•
alter role
•
dataserver -u
•
sp_locklogin
Visualización de la información de contraseña
Se utiliza el procedimiento del sistema sp_displaylogin para mostrar la
información de contraseña de los logins y las funciones.
52
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Comprobación de las contraseñas en un carácter al menos
El Oficial de seguridad del sistema le puede indicar al servidor que compruebe
al menos un carácter o dígito de una contraseña, utilizando el parámetro de
configuración para todo el servidor check password for digit. Si se configura,
este parámetro no afecta a las contraseñas existentes. La comprobación de
dígitos está desactivada de forma predeterminada.
Definición y cambio de la longitud mínima de la contraseña
En versiones anteriores, la longitud mínima de la contraseña era un valor
no configurable y no modificable de seis caracteres. En Adaptive Server
12.0, puede personalizar las contraseñas para que se adapten a sus
necesidades, como utilizar números de identificación personal (PIN)
de cuatro dígitos o logins anónimos con contraseñas NULL.
El Oficial de seguridad del sistema puede especificar:
•
Una longitud mínima de contraseña obligatoria globalmente
•
Una longitud mínima de contraseña por login o por función
El valor de la longitud mínima de contraseña por login o por función tiene
prioridad sobre el valor para todo el servidor. La definición de una longitud
mínima de contraseña afecta sólo a las contraseñas que se creen tras su
configuración. No afecta a las contraseñas existentes.
Puede utilizar los siguientes comandos o procedimientos del sistema para
definir la longitud mínima de contraseña:
•
create role
•
alter role
•
sp_addlogin
•
sp_modifylogin
•
sp_configure
53
Identificación concreta
Definición del intervalo de caducidad para una contraseña
Los administradores del sistema y los oficiales de seguridad del sistema
pueden:
•
Especificar el intervalo de caducidad de una contraseña de login en el
momento de su creación.
•
Cambiar el intervalo de caducidad para una contraseña de login.
•
Especificar el intervalo de caducidad de una contraseña de función en
el momento de su creación.
•
Cambiar el intervalo de caducidad para una contraseña de función.
Cuando la contraseña para un login o una función está a punto de caducar,
un mensaje de advertencia le pide al usuario que se ponga en contacto con
el Oficial de seguridad del sistema.
La caducidad de la contraseña no afectaba a las funciones en versiones
anteriores a Adaptive Server 12.0. Por esta razón, en Adaptive Server 12.0
la caducidad de contraseña se desactiva para todas las contraseñas de
funciones definidas por el usuario ya existentes. Durante la actualización,
todas las contraseñas de funciones definidas por el usuario se fijan con un
intervalo de contraseña de 0.
Utilice sp_addlogin para definir el intervalo de caducidad de contraseña
para un login nuevo. Utilice sp_modifylogin para cambiar el intervalo de
caducidad de un login existente, añadir un intervalo de caducidad de
contraseña a un login que no tuviera uno o para eliminar un intervalo de
caducidad de contraseña.
Identificación concreta
La identificación concreta permite que Adaptive Server verifique las
cadenas de propiedad entre los procedimientos, vistas y disparadores y los
objetos a los que hacen referencia en otras bases de datos. Adaptive Server
identifica a los usuarios durante una sesión mediante el nombre de login o
el Id. de usuario de servidor (suid). Esta identificación se aplica a todas las
bases de datos en el servidor. Cuando el usuario crea un objeto, el servidor
asocia tanto el Id. de usuario de base de datos del propietario (uid) y el
nombre de login del creador con el objeto en la tabla sysobjects. Esta
información identifica de manera concreta el objeto como perteneciente a
ese usuario, lo que permite que el servidor reconozca cuándo se pueden
conceder implícitamente los permisos sobre el objeto.
Para obtener más información sobre la identificación concreta, consulte el
Manual de administración del sistema.
54
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Cambios del sistema en la versión 12
Esta sección le proporciona un resumen de los cambios de la versión 12,
de la siguiente manera:
•
"Cambios en los parámetros de configuración", en la página 55
•
"Modificaciones en los comandos de Transact-SQL", en la página 57
•
"Procedimientos del sistema nuevos y modificados", en la página 59
•
"Modificaciones introducidas en las bases de datos y las tablas
del sistema", en la página 61
•
"Nuevas palabras reservadas", en la página 63
•
"Cambios en la documentación", en la página 63
Cambios en los parámetros de configuración
Esta sección describe los parámetros de configuración nuevos y modificados
en la versión 12.
Nuevos parámetros de configuración
La tabla 3-1 resume los parámetros de configuración nuevos:
Tabla 3-1: Nuevos parámetros de configuración
Parámetro
check password for digit
dtm detach timeout period
dtm lock timeout period
enable dtm
enable HA
enable java
Función
Configura el servidor para que compruebe al
menos un carácter o un dígito en una contraseña.
Define la cantidad máxima de tiempo que
permanecen activas las transacciones
desconectadas en Adaptive Server.
Define en segundos el tiempo máximo que esperará
una rama de transacciones distribuidas a que estén
disponibles los recursos de bloqueo.
Activa o desactiva la función Administración de
transacciones distribuidas.
Habilita la configuración de Adaptive Server para
Sybase Failover en un sistema de alta
disponibilidad.
Activa o desactiva el uso de Java en el servidor.
55
Cambios del sistema en la versión 12
Parámetro
Función
enable xact coordination
Activa o desactiva los servicios de coordinación de
transacciones distribuidas de Adaptive Server.
maximum failed logins
Define el número máximo de intentos fallidos de
login para logins y funciones en todo el servidor.
minimum password length
Especifica un valor de longitud mínima de
contraseña para logins y funciones en todo el
servidor.
number of dtx participants
Define el número total de transacciones remotas que
el servicio de coordinación de transacciones de
Adaptive Server puede propagar y coordinar en un
momento dado.
Especifica el espacio de memoria para las
estructuras internas de datos.
size of global fixed heap
size of process object
fixed heap
size of shared class heap
strict dtm enforcement
Especifica el espacio de memoria para la máquina
virtual Java para los objetos de Java referenciados
durante una sesión.
Especifica el espacio de memoria compartida para
todas las clases de Java llamadas a la máquina
virtual Java.
Determina si los servicios de coordinación de
transacciones de Adaptive Server forzarán
estrictamente las propiedades ACID de las
transacciones distribuidas.
text prefetch size
Limita el número de páginas de datos text e image
de las que se puede realizar una recuperación
previa en una agrupación de buffers existente.
txn to pss ratio
Determina el número total de descriptores de
transacción disponibles para el servidor.
xact coordination level
Define la longitud de tiempo entre los intentos de
resolver las ramas de transacciones propagadas a
servidores remotos.
Cambios en los parámetros de configuración
La tabla 3-2 resume los cambios introducidos en parámetros de
configuración ya existentes.
Tabla 3-2: Parámetros de configuración modificados
Parámetro
enable cis
56
Cambio
El valor predeterminado se ha cambiado de 0
(inactivo) a 1 (activo).
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Modificaciones en los comandos de Transact-SQL
Esta sección describe los comandos de Transact-SQL nuevos y
modificados en la versión 12.
Nuevos comandos de Transact-SQL
La tabla 3-3 resume los comandos nuevos de Transact-SQL.
Tabla 3-3: Comandos nuevos
Comando
Función
quiesce database
Suspende y reanuda las actualizaciones de una lista
específica de bases de datos.
join
Indica que la unión utiliza sintaxis ANSI para la unión
interna o externa.
Elimina una o varias clases, paquetes o JAR de Java de
la base de datos.
remove java
Comandos modificados de Transact-SQL
La tabla 3-4 resume las modificaciones introducidas en los comandos de
Transact-SQL ya existentes.
Tabla 3-4: Comandos modificados
Comando
alter role
Cambio
Incluye las nuevas opciones lock, unlock y all overrides para cambiar el estado de bloqueo de una
función.
Incluye las nuevas opciones passwd expiration, max failed_logins y min passwd length para cambiar
el intervalo de caducidad de contraseña, la longitud mínima de contraseña y el número máximo de
logins fallidos permitidos para una función especificada.
alter table
Incluye las nuevas opciones off row e in row para especificar el almacenamiento para las columnas
de Java-SQL.
create role
Incluye las nuevas opciones lock, unlock y all overrides para configurar el estado de bloqueo de una
función.
Incluye las nuevas opciones passwd expiration, min passwd length y max failed_logins para
configurar el intervalo de caducidad de contraseña, la longitud mínima de contraseña y el número
máximo de logins fallidos permitidos para una función especificada.
create table
dbcc
Incluye las nuevas opciones off row e in row para especificar el almacenamiento para las columnas
de Java-SQL.
Incluye comandos nuevos para completar las transacciones distribuidas de manera heurística.
Incluye el nuevo comando rebuild_text para reconstruir o crear estructuras internas de datos para
los datos text o image. Adaptive Server utiliza estas estructuras de datos para realizar acceso
aleatorio y recuperación previa asíncrona para consultas contrastadas con los datos text o image.
57
Cambios del sistema en la versión 12
Comando
Cambio
disk init
disk reinit
Incluye la nueva opción dsync para controlar las escrituras en buffer en los dispositivos.
Incluye la nueva opción dsync para controlar las escrituras en buffer en los dispositivos.
execute
Incluye la nueva sintaxis execute() para ejecutar dinámicamente los comandos de Transact-SQL.
Opciones nuevas y modificadas del comando set
La siguiente tabla resume las opciones nuevas y modificadas para el
comando set:
Tabla 3-5: Opciones nuevas y modificadas del comando set
Opción de set
clientapplname
Descripción
Asigna un nombre individual a una aplicación para
la sesión actual.
clienthostname
Asigna un nombre individual a un equipo para la
sesión actual.
clientname
Asigna un nombre individual a un cliente para la
sesión actual.
strict_dtm_enforcement
Determina si Adaptive Server propagará
transacciones a otros servidores que no admiten los
servicios de coordinación de transacciones de
Adaptive Server.
Determina si Adaptive Server coordina las
llamadas a procedimientos remotos y la
actualización a los datos del servidor remoto.
transactional_rpc
Nuevas funciones de Transact-SQL
La tabla 3-6 resume las nuevas funciones de Transact-SQL.
Tabla 3-6: Nuevas funciones de Transact-SQL
Función
license_enabled
58
Descripción
Devuelve 1 si la licencia de la función está habilitada, 0
si no está habilitada, o un valor vacío si especifica un
nombre de licencia no válido.
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Procedimientos del sistema nuevos y modificados
Esta sección describe los nuevos procedimientos del sistema añadidos
y las modificaciones introducidas en los ya existentes.
Nuevos procedimientos del sistema
La tabla 3-7 resume los procedimientos del sistema nuevos:
Tabla 3-7: Nuevos procedimientos del sistema
Procedimient
o del sistema
Función
sp_deviceattr
Cambia el valor dsync de un archivo del dispositivo de una
base de datos ya existente.
sp_transactions
Ofrece información detallada sobre las transacciones
activas.
Realiza operaciones de cluster, como la configuración de
Adaptive Server como nodo secundario en un sistema de
alta disponibilidad y el desplazamiento de un servidor
acompañante de un modo de conmutación por error a otro.
sp_companion se ejecuta desde el nodo secundario.
Realiza las tareas administrativas que se ocupan del segundo
punto de error en servidores Adaptive Server configurados
con Sybase Failover en un sistema de alta disponibilidad.
Muestra información sobre las clases y JAR de Java
instaladas en la base de datos.
sp_companion
sp_ha_admin
sp_helpjava
Procedimientos del sistema modificados
La tabla 3-8 resume los cambios introducidos en procedimientos del
sistema ya existentes.
Tabla 3-8: Procedimientos del sistema modificados
Procedimiento
Cambio
sp_addlogin
Especifica el intervalo de caducidad de la contraseña, la
longitud mínima de la contraseña y el número máximo de
intentos fallidos de login para un determinado login en el
momento de su creación.
59
Cambios del sistema en la versión 12
Procedimiento
Cambio
sp_displaylogin
Muestra los parámetros relativos a la seguridad de login
configurados para un login. La sintaxis no ha cambiado; no
obstante, la salida muestra la siguiente información
adicional:
• Si la cuenta está bloqueada
• La fecha del último cambio de contraseña
• El intervalo de caducidad de la contraseña
• Si la contraseña ha caducado
• La longitud mínima de la contraseña
• El número máximo de intentos fallidos de login
permitidos antes de que se bloquee el login
• El número actual de logins fallidos
sp_displayroles
sp_helpdevice
sp_lock
sp_modifylogin
sp_monitorconfig
sp_who
Muestra los parámetros relativos a la seguridad de login
configurados para una función. La salida se ha modificado
de la manera descrita para sp_displaylogin.
La salida muestra el nuevo valor dsync en la columna
"description".
La salida muestra el nuevo campo de Id. de propietario de
bloqueo (loid).
Se utiliza para cambiar el intervalo de caducidad de la
contraseña, la longitud mínima de la contraseña y el
número máximo de intentos fallidos de login para un
determinado login ya existente.
Muestra estadísticas adicionales de utilización para los
descriptores de transacciones y los participantes DTX.
La salida muestra el nuevo campo block_xloid, que indica
el Id. del propietario del bloqueo de una transacción de
bloqueo. El antiguo campo blocked en la salida recibe el
nuevo nombre de blk_spid.
Nuevos programas de utilidades
La tabla 3-9 describe los nuevos programas de utilidades añadidos a
Adaptive Server versión 12.
Tabla 3-9: Nuevos programas de utilidades
60
Procedimiento
del sistema
Función
extractjava (UNIX)
extrjava (Windows NT)
Copia una JAR retenida y las clases de Java que
contiene desde Adaptive Server a un archivo cliente.
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Procedimiento
del sistema
installjava (UNIX)
instjava (Windows NT)
Función
Copia una JAR y las clases de Java que contiene
desde un archivo cliente a Adaptive Server.
Modificaciones introducidas en las bases de datos y las tablas
del sistema
Esta sección describe las modificaciones introducidas en las bases de datos
y las tablas del sistema para que admitan las funciones de la versión 12.
Nuevas bases de datos
La tabla 3-10 ofrece una lista de las bases de datos que son nuevas en esta
versión:
Tabla 3-10: Nuevas bases de datos
Base de datos
sybdiagdb
Función
Contiene los datos de configuración de diagnóstico para las
funciones de depuración. Su uso está restringido al personal
del Soporte técnico de Sybase y los clientes no deben
utilizarla.
Nuevas tablas del sistema
La tabla 3-11 ofrece una lista de las tablas del sistema que son nuevas en
esta versión:
Tabla 3-11: Nuevas tablas del sistema
Tabla
syslocks
Función
Añade las comunas xtype y xdbid. Estas columnas se utilizan exclusivamente en servidores
Adaptive Server habilitados para Java.
(base de datos sybsystemdb exclusivamente.) Contiene información sobre los servidores
Adaptive Server remotos que participan en transacciones distribuidas (participantes remotos)
y su estado de coordinación.
La columna status utiliza un nuevo bit de control 0x4000 (16384 decimal) para controlar el
valor dsync para el archivo del dispositivo de la base de datos.
Contiene una fila por cada archivo de almacenamiento de Java retenido en la base de datos.
Esta tabla se utiliza exclusivamente en servidores Adaptive Server habilitados para Java.
Añade la columna loid.
sysprocesses
Añade la columna block_xloid. La columna blocked recibe el nuevo nombre de block_xloid.
syscolumns
syscoordinations
sysdevices
sysjars
61
Cambios del sistema en la versión 12
Tabla
Función
sysqueryplans
Almacena texto de consulta y planes abstractos para una consulta.
Contiene una fila para cada cliente que se conecta a Adaptive Server con la propiedad de
conmutación por error (por ejemplo, isql -Q). Esta tabla sólo se utiliza para los servidores
Adaptive Server que están configurados para Sybase Failover en un sistema de alta
disponibilidad.
syssessions
systransactions
(base de datos master exclusivamente.) Contiene información sobre las transacciones de
Adaptive Server.
sysxtypes
Contiene una fila para cada tipo de dato extendido de Java-SQL. Esta tabla se utiliza
exclusivamente en servidores Adaptive Server habilitados para Java.
Tablas del sistema modificadas
La tabla 3-12 ofrece una lista de las tablas del sistema que se han
modificado en esta versión:
Tabla 3-12: Tablas del sistema modificadas
Tabla
sysattributes
sysconfigures
syslogins
syservroles
Cambio
Almacena información para los parámetros de configuración que definen o modifican el
intervalo de caducidad de la contraseña, el número máximo de intentos fallidos de login y la
longitud mínima de la contraseña.
Almacena los valores para todo el servidor definidos con los parámetros de configuración
minimum password length y maximum failed logins para los logins y las funciones.
La nueva columna, logincount, indica el número de logins fallidos. Un login satisfactorio
restablece el número de logins fallidos a 0. El tipo de datos de esta columna es int.
Se han añadido las siguientes columnas:
• pwdate: graba la fecha y hora del último cambio de la contraseña de una función. El tipo
de datos de esta columna es datetime.
• status: indica el estado de una función. El tipo de datos de esta columna es smallint. El
estado se muestra como un valor numérico que corresponde a una combinación de los
estados de caducidad y bloqueo para la función. Los valores son:
0: la función no ha caducado ni está bloqueada
2: la función no ha caducado pero está bloqueada
4: la función ha caducado pero no está bloqueada
6 : la función ha caducado y está bloqueada
sysusers
En versiones anteriores, la tabla del sistema sysusers de cada base de datos tenía un índice
agrupado exclusivo en suid. No obstante, en Adaptive Server 12.0 no existe la exclusividad de
sysusers.suid, por lo que se ha eliminado este índice agrupado.
Para obtener más información sobre las tablas del sistema, vea el Manual
de consulta de Adaptive Server.
62
CAPÍTULO 3 Nuevas funciones y cambios del sistema en Adaptive Server versión 12.0
Nuevas palabras reservadas
El Manual de consulta de Adaptive Server ofrece una lista de todas las
palabras reservadas para la versión 12. Las palabras reservadas no se
pueden utilizar como nombres de objetos o columnas.
Debe cambiar todos los nombres de bases de datos que sean nuevas
palabras reservadas antes de poder actualizarse desde una versión anterior
del servidor. Puede cambiar los nombres de tablas, vistas y columnas
o utilizar identificadores delimitados. Una vez se haya actualizado a la
versión 12, no podrá utilizar objetos de base de datos cuyos nombres sean
nuevas palabras reservadas hasta que modifique los procedimientos,
archivos de secuencias de comandos SQL y aplicaciones.
Cambios en la documentación
Adaptive Server versión 12 incluye varios manuales nuevos que describen
funciones autorizadas independientemente de Adaptive Server como Java,
Alta disponibilidad y Administración de transacciones distribuidas.
Consulte "Documentos relacionados", en la página x para ver una breve
descripción de estos manuales.
La información de los dos manuales siguientes se ha cambiado al Manual
de administración del sistema y al Manual de rendimiento y mejoras:
•
Manual del usuario de las funciones de seguridad
•
Manual de administración de seguridad
La información de Configuración de Adaptive Server Enterprise para
UNIX se ha desplazado al Manual de instalación.
La documentación de Adaptive Server ya no incluye los siguientes
documentos:
•
Adaptive Server Enterprise Getting Started
•
Introducing Adaptive Server Enterprise
•
Master Index to Adaptive Server Documentation
•
Navigating Adaptive Server Enterprise Documentation
•
La base de datos sybsyntax y el procedimiento sp_syntax en línea
•
Quick Reference Card
63
Cambios del sistema en la versión 12
Cambios que pueden afectar a las aplicaciones existentes
Esta sección describe los cambios del sistema introducidos en la
versión 12 que pueden afectar a las aplicaciones si se actualiza desde una
versión anterior.
Nuevas palabras clave de Transact-SQL para 12
Consulte "Nuevas palabras reservadas", en la página 63.
dsync activo de manera predeterminada para los dispositivos de archivos UNIX
A partir de la versión 12, Adaptive Server inicializa los dispositivos del
sistema de archivos UNIX con la opción dsync para garantizar la
recuperación. Si necesita las características del comportamiento o el
rendimiento anteriores, cambie el valor de dsync con sp_deviceattr.
Vea disk init y sp_deviceattr en el Manual de consulta de Adaptive Server
para obtener más información.
64
CA P Í TUL O 4
Nuevas funciones en Adaptive
Server versión 11.9.2
Este capítulo explica la nueva funcionalidad de la versión 11.9.2. Incluye
entre otros temas:
•
"Nuevos esquemas de bloqueo", en la página 66
•
"Cambios en el bloqueo de nivel de tabla", en la página 67
•
"Cambios en la optimización de estadísticas y consultas", en la
página 67
•
"Mejoras del comando create index", en la página 68
•
"Cambios y adiciones en la sintaxis de Transact-SQL", en la
página 69
•
"Orden configurable de recuperación de bases de datos", en la
página 70
•
"Verificación de error para los fallos de dbcc checkstorage", en la
página 70
•
"Control de utilización de licencia", en la página 70
•
"Afinidad tarea-motor", en la página 71
•
"Mejoras de rendimiento de Dynamic SQL", en la página 71
•
"Actualizaciones directas por medio de uniones", en la página 71
•
"Cambios de Component Integration Services", en la página 72
•
"Cambios del juego de caracteres", en la página 72
•
"Cambios que pueden afectar a las aplicaciones existentes", en la
página 72
65
Nuevos esquemas de bloqueo
Nuevos esquemas de bloqueo
Adaptive Server versión 11.9.2 proporciona dos nuevos esquemas de bloqueo
para mejorar la simultaneidad y el rendimiento de Adaptive Server:
•
Bloqueo datapages
•
Bloqueo datarows, también conocido como bloqueo de nivel de fila
Estos nuevos esquemas de bloqueo reciben el nombre conjunto de bloqueo sólo
de datos.
El esquema de bloqueo anterior a la versión 11.9.2 continúa siendo compatible;
se llama bloqueo allpages y es el esquema de bloqueo predeterminado cuando
se instala por primera vez la versión 11.9.2 o se actualiza a ésta. Un administrador
del sistema puede especificar cualquier esquema de bloqueo como el
predeterminado para todo el servidor.
Los usuarios pueden especificar un esquema de bloqueo para una tabla de
nueva creación con el comando create table, y pueden cambiar el esquema de
bloqueo de una tabla existente a cualquier otro con el comando alter table.
Algunos de los cambios introducidos para admitir estos nuevos esquemas de
bloqueo incluyen:
•
Tipos adicionales de bloqueos
•
Cambios en las estructuras de tabla e índice para las tablas que utilicen los
nuevos esquemas de bloqueo
•
Nuevos parámetros de configuración y cambios en los ya existentes
•
Adiciones y cambios en la sintaxis de comandos de Transact-SQL, que
incluyen:
•
•
Adiciones a create table y alter table para permitir la especificación del
esquema de bloqueo
•
El nuevo comando reorg para administrar el espacio en las tablas que
utilizan los nuevos esquemas de bloqueo
•
Cambios en la sintaxis select into para permitir la especificación del
esquema de bloqueo en la tabla creada
Cambios en los procedimientos de sistema para permitir dar información
y configurar la nueva funcionalidad
Nota: El número de bloqueos disponibles para todos los procesos del servidor
está limitado por el parámetro de configuración number of locks. El cambio al
bloqueo sólo de datos afecta al número de bloqueos necesarios durante el
proceso de consultas.
66
CAPÍTULO 4 Nuevas funciones en Adaptive Server versión 11.9.2
Cambios en el bloqueo de nivel de tabla
La realización de un comando update o delete mediante una búsqueda de tabla
no adquiere un bloqueo exclusivo de nivel de tabla como sucedía en las versiones
anteriores. En la versión 11.9.2, la búsqueda adquiere un bloqueo de tabla con
propósito exclusivo cuando comienza la transacción. Cuando la búsqueda
localiza una fila que debe ser actualizada, adquiere un bloqueo exclusivo de
página o fila, según el esquema de bloqueo. La única excepción es un comando
update o delete sin índice a una tabla con bloqueo sólo de datos en un nivel 3
de aislamiento de transacción; estas actualizaciones adquieren un bloqueo de
tabla exclusivo. En versiones anteriores, cualquier operación de actualización
o eliminación que no utilice un índice adquiere un bloqueo exclusivo de nivel
de tabla al comienzo de la transacción.
En la mayoría de los casos, la realización de una búsqueda sin utilizar un
bloqueo de nivel de tabla incrementa la simultaneidad. No obstante, algunas
aplicaciones pueden experimentar los siguientes problemas:
•
Las aplicaciones que no se bloqueaban en versiones anteriores pueden
experimentar interbloqueos en la versión 11.9.2.
•
Las tareas que actualizan un gran número de filas pueden utilizar un número
alto de bloqueos si no pueden realizar una promoción de bloqueo debido
a bloqueos incompatibles.
Alternativas:
•
Si los interbloqueos le crean problemas, considere la posibilidad de convertir
la tabla para que utilice bloqueo datarows.
•
Si los interbloqueos o el número excesivo de bloqueos le crean problemas,
considere la posibilidad de utilizar el comando lock table para adquirir un
bloqueo exclusivo de tabla antes de comenzar la transacción.
Cambios en la optimización de estadísticas y consultas
Adaptive Server versión 11.9.2 aumenta la flexibilidad de las estadísticas
utilizadas por el optimizador de consultas. Las estadísticas del optimizador se
guardan ahora en dos tablas del sistema, systabstats y sysstatistics. Una nueva
utilidad, optdiag, puede extraer las estadísticas y permite su edición. optdiag
permite la visualización de muchas de estas estadísticas por primera vez.
67
Mejoras del comando create index
Las estadísticas se mantienen ahora por columna, en vez de por índice. El coste
de las consultas en el optimizador se ha mejorado para utilizar estadísticas de
nivel de columna para argumentos de búsqueda y uniones, aunque no existan
índices en la columna.
El comando update statistics ahora admite el almacenamiento de las estadísticas
para las columnas sin índice. La nueva sintaxis update index statistics facilita la
creación de estadísticas de todas las columnas utilizadas en un índice y update
all statistics genera ahora estadísticas para todas las columnas de una tabla.
El nuevo comando delete statistics se puede utilizar para eliminar estadísticas
de nivel de columna, porque drop index ya no elimina las estadísticas.
Las nuevas estadísticas se mantienen para admitir los nuevos esquemas de
bloqueo. Estadísticas adicionales hacen un seguimiento de la agrupación de
filas y páginas de datos en el almacenamiento físico y mejoran los cálculos de
coste hechos por el optimizador. Algunas consultas en tablas que utilizan los
nuevos esquemas de bloqueo se optimizan de diferente manera que las que
están en tablas que utilizan el esquema de bloqueo antiguo.
Mejoras del comando create index
Dos mejoras en create index:
68
•
El comando create index permite que el usuario especifique un orden
ascendente o descendente para cada columna del índice. En las versiones
anteriores, todos los índices se creaban en orden ascendente para todas las
columnas. Las búsquedas que necesitaban leer los datos en orden inverso
podían explorar el índice al revés, pero si el orden requerido era una mezcla
de orden ascendente y descendente de las claves, la consulta debía realizar
un paso de organización. Se puede mejorar el rendimiento haciendo coincidir
el orden del índice con el orden utilizado por la mayoría de las consultas.
•
Los índices pueden incluir un máximo de 31 columnas de claves, un
aumento de 16 con respecto a versiones anteriores. El número máximo de
bytes permitidos para las claves de índice es de 600.
CAPÍTULO 4 Nuevas funciones en Adaptive Server versión 11.9.2
Cambios y adiciones en la sintaxis de Transact-SQL
Adaptive Server versión 11.9.2 proporciona nuevos comandos y opciones que
afectan el bloqueo:
•
Opción readpast
•
Comando lock table
•
Opciones de nivel de servidor y nivel de sesión que especifican el tiempo
que esperan las tareas por los bloqueos
•
Compatibilidad para el nivel de aislamiento de transacción de lecturas
repetibles (nivel 2) para las tablas de bloqueo sólo de datos
Nueva opción de simultaneidad readpast
Los comandos select, delete, update, readtext y writetext incluyen ahora la
opción readpast. Esta opción permite que el comando omita todas las páginas
o filas que no sean de acceso inmediato debido a bloqueos incompatibles.
Nuevo comando lock table
El nuevo comando lock table bloquea específicamente tablas enteras en modo
compartido o exclusivo.
Especificación del tiempo de espera para los bloqueos
En versiones anteriores de Adaptive Server y SQL Server, todos los comandos
que no pueden adquirir inmediatamente un bloqueo se bloquean, o esperan,
hasta que el bloqueo requerido queda disponible. En la versión 11.9.2, el
tiempo máximo de espera de una tarea se puede especificar a nivel de todo el
servidor o a nivel de sesión. Los procesos que no pueden adquirir el bloqueo
en el periodo de espera especificado dan error con un mensaje de error.
•
Para obtener información sobre el nuevo parámetro de configuración lock
wait period, consulte el Manual de administración del sistema.
•
Para obtener información sobre la nueva opción set, set lock wait, vea el
Manual de consulta de Adaptive Server.
69
Orden configurable de recuperación de bases de datos
Aislamiento de la transacción de lectura repetible
La versión 11.9.2 añade la compatibilidad para las transacciones de lectura
repetible (nivel 2 de aislamiento).
Orden configurable de recuperación de bases de datos
Ahora puede especificar el orden en el que se recuperan las bases de datos de
usuario al iniciar el servidor. Esto le permite recuperar las bases de datos más
importantes en primer lugar.
Verificación de error para los fallos
de dbcc checkstorage
El comando dbcc checkstorage, que se introdujo en la versión 11.5 de Adaptive
Server, comprueba la consistencia de los objetos de base de datos sin bloquear
el acceso de otras tareas. Como la actividad del usuario puede provocar fallos
de software, dbcc checkstorage intenta resolver el fallo mediante una segunda
comprobación; si persiste, se registra en la base de datos dbccdb. Como el uso
intensivo de las bases de datos durante las operaciones de dbcc checkstorage
puede desembocar en largos informes de errores, el comando dbcc checkverify
introducido en la versión 11.9.2 vuelve a comprobar los errores, mientras
mantiene un bloqueo sobre el objeto, para eliminar algunos errores de software
de la lista.
Control de utilización de licencia
Los administradores de sistema pueden determinar si la utilización en el
sistema Adaptive Server excede los acuerdos de licencia utilizando la función
de control de licencia. Una vez al día, registra el número máximo de usuarios
en una tabla del sistema en la base de datos master.
70
CAPÍTULO 4 Nuevas funciones en Adaptive Server versión 11.9.2
Afinidad tarea-motor
Para servidores que ejecutan varios motores, la afinidad tarea-motor mejora el
rendimiento al reducir el número de veces que el contexto de la tarea se tiene
que alternar entre los motores. Los únicos efectos visibles de esto se aprecian
durante la optimización del sistema. Cuando haya menos tareas en ejecución
que motores, podrá ver que algunos motores muestran un índice muy alto de
funcionamiento, mientras que otros permanecen inactivos durante todo el
intervalo. Por ejemplo, en versiones anteriores, mientras una sola tarea ejecuta
una consulta select *, podía ver normalmente que cada uno de los 6 motores
realizaba aproximadamente un 16% del trabajo. En la versión 11.9.2,
sp_sysmon podría dar el siguiente informe:
Engine Busy Utilization
Engine 0
Engine 1
Engine 2
Engine 3
Engine 4
Engine 5
----------Summary
97.2 %
0.0 %
0.0 %
0.0 %
0.0 %
0.0 %
--------------Total
97.2 %
---------------Average
16.2 %
Para obtener más información, consulte el Manual de rendimiento y mejoras.
Mejoras de rendimiento de Dynamic SQL
En versiones anteriores a la 11.9.2, el uso simultáneo de Dynamic SQL por un
número alto de usuarios tiene un rendimiento pobre, en gran parte debido a la
contención en tablas del sistema en tempdb. En la versión 11.9.2, se han
eliminado los problemas de contención y se ha mejorado sustancialmente el
rendimiento de las instrucciones prepare y deallocate. No hay cambios en la
interfaz de usuario. Todos los cambios son internos, por lo que no se necesita
modificar las aplicaciones.
Actualizaciones directas por medio de uniones
En la versión 11.9.2, se han eliminado muchas de las restricciones que había
sobre cuándo realizar las actualizaciones directas.
71
Cambios de Component Integration Services
Cambios de Component Integration Services
Component Integration Services para Adaptive Server versión 11.9.2 añade las
siguientes mejoras para acceso a tablas remotas:
•
Mejora el rendimiento de las consultas que incluyen tablas remotas.
•
Simplifica la asignación de tablas proxy locales a tablas remotas.
•
Añade nuevas clases de servidor para Adaptive Server Enterprise,
Adaptive Server Anywhere™ y Adaptive Server IQ™.
•
Añade un nuevo indicador de seguimiento que, cuando está activado,
convierte cualquier consulta que sea parte de un comando declare cursor,
y que haga referencia a las tablas proxy, en un valor predeterminado de
sólo lectura.
Cambios del juego de caracteres
Adaptive Server versión 11.9.2 incluye la compatibilidad para el símbolo de la
divisa europea, o "Euro". Adaptive Server también puede realizar conversiones
de juego de caracteres que causan un cambio en la longitud de los datos.
Cambios que pueden afectar a las aplicaciones
existentes
Los cambios en la versión 11.9.2 que pueden afectar a las aplicaciones de
usuario y la administración del sistema son:
72
•
Los cambios en la optimización de las estadísticas y las consultas pueden
provocar cambios en los planes de consulta, incluso en las tablas en las que
no cambia el esquema de bloqueo.
•
Se realiza un mayor registro de eventos que en versiones anteriores.
•
Se necesita una nueva sintaxis para los servidores en espera o de
procesamiento de informes para hacer un volcado del diario de
transacciones para el servidor de producción y poner en línea la base de
datos. Ya no es posible cargar un volcado que contenga transacciones
abiertas, poner en línea la base de datos y, después, cargar un volcado
subsiguiente del diario.
CAPÍTULO 4 Nuevas funciones en Adaptive Server versión 11.9.2
•
El comando update statistics puede ejecutarse con mayor lentitud porque
ahora realiza una búsqueda de tablas además de las de los índices. Se
mejora la simultaneidad porque update statistics con nombre de tabla
o nombre de índice opera a un nivel 0 de aislamiento de transacción en
tablas de bloqueo sólo de datos y no requiere bloqueos de tabla en las
tablas con bloqueo allpages.
•
El comando update all statistics genera ahora las estadísticas para todas las
columnas de una tabla. Realiza una búsqueda de tabla completa para cada
columna que no es la columna inicial de un índice. Si su sistema ejecuta
archivos de secuencias de comandos que incluyen update all statistics,
es posible que desee reemplazar el comando update all statistics con los
comandos update statistics y update partition statistics.
Efectos de cambiar al bloqueo sólo de datos
El cambio de las tablas al bloqueo sólo de datos puede tener los siguientes
efectos:
•
El número de bloqueos requerido por las aplicaciones puede aumentar
y podría necesitar cambiar el parámetro de configuración number of locks.
•
En las tablas con bloqueo sólo de datos con índices agrupados, el
comportamiento predeterminado de impedir la duplicación de filas y la
opción ignore_dup_row no se llevan a efecto durante inserciones y
actualizaciones. Esto cambia el comportamiento de los comandos que
insertan las filas duplicadas y podría modificar el comportamiento de
create clustered index si la tabla contiene filas duplicadas.
•
En tablas con bloqueo sólo de datos, la opción sorted_data para create
index sólo se puede utilizar inmediatamente después de una operación de
copia masiva en una tabla existente. El uso de la opción sorted_data está
prohibido una vez que se han realizado las operaciones de asignación de
páginas adicionales para la tabla.
•
La copia masiva en tablas de bloqueo sólo de datos requiere la versión de
bcp y las bibliotecas de copia masiva incluidas con Adaptive Server
versión 11.9.2. Las versiones anteriores de bcp y las bibliotecas de copia
masiva se pueden utilizar todavía para copiar en tablas de bloqueo
allpages. Consulte el Boletín de lanzamiento para el número de versión
requerido.
73
Cambios que pueden afectar a las aplicaciones existentes
•
Cuando utilice la ordenación paralela para tablas de bloqueo de sólo datos,
se debe configurar el número de procesos de trabajo para que sea igual o
mayor que el número de particiones, incluso en las tablas vacías. La
opción de base de datos select into/bulkcopy/pllsort también se debe
habilitar.
Cambios en la optimización de consultas y planes
de consulta forzados
Los cambios en la optimización de consultas proporcionan mayor exactitud
que en versiones anteriores en el coste de algunas consultas, especialmente en
las que realizan búsquedas en índices no agrupados. En la versión 11.9.2, puede
crear estadísticas de índices no agrupados, lo que mejora aún más la optimización
de la consulta. Debe revisar todas las consultas que utilicen planes de consulta
forzados, especialmente con obligación de índice u orden de uniones, para
determinar si aún se necesita la obligación o si el optimizador puede proporcionar
un plan mejorado.
Obligación de índice y tablas de bloqueo sólo de datos
La opción de índice utilizado para una consulta puede obligarse con la cláusula
index y un nombre de índice, como en este comando:
select title_id, type, price
from titles (index title_id_ix)
Adaptive Server acepta una identificación de índice en lugar de la palabra clave
index y el nombre de índice. La siguiente instrucción obliga a la utilización de
un índice agrupado en una tabla de bloqueo allpages:
select title_id, type, price
from titles (1)
Cuando convierte una tabla con un índice agrupado en bloqueo sólo de datos,
el identificador de índice del índice agrupado cambia. Si ejecuta una consulta
que especifica el identificador de índice 1, el optimizador todavía utilizará el
índice agrupado de la tabla. Debería comprobar cuidadosamente todos los
planes de consulta que obligan el identificador de índice 1.
Nota: Sybase recomienda encarecidamente la utilización de nombres de índice,
en vez de los identificadores de índice, para obligar la selección de índice.
74
CAPÍTULO 4 Nuevas funciones en Adaptive Server versión 11.9.2
Rendimiento tras la carga de bases de datos de versiones anteriores a la 11.9
Cuando se cargan bases de datos de versiones anteriores a la 11.9 en la
versión 11.9.2 de Adaptive Server, el proceso de actualización inserta filas en
las tablas de estadísticas, basándose en las estadísticas disponibles. El proceso
de actualización no busca las tablas e índices para generar los tipos nuevos de
estadísticas que puede utilizar el optimizador de consultas mejorado. Para las
estadísticas que son nuevas en esta versión, el proceso de actualización inserta
valores calculados o mágicos.
Si carga una base de datos de una versión anterior a la 11.9, ejecute update
statistics en las tablas con la mayor premura posible. Si experimenta problemas
de rendimiento tras cargar una base de datos de una versión anterior a la 11.9,
ejecute update statistics para las tablas en la aplicación antes de probar otras
soluciones.
Ordenación de los resultados con tablas de bloqueo sólo de datos
Los índices agrupados en tablas de bloqueo sólo de datos pueden no devolver
las filas en el orden clave de agrupamiento si no hay una cláusula order by. No
se garantiza que la copia masiva copie una tabla en el orden clave de agrupamiento.
Las consultas en tablas de bloqueo allpages sin particiones con índices agrupados
devuelven las filas en el orden clave de agrupamiento si la consulta no incluye
una ordenación (es decir, si no hay cláusulas como order by o distinct). La copia
masiva también copia las filas de las tablas de bloqueo allpages en el orden
clave de agrupamiento para tablas con o sin particiones.
Retardo de compilación de cursores hasta el cursor abierto
En las versiones anteriores a la 11.9.2 de SQL Server y Adaptive Server, se
optimiza y compila un cursor cuando se declara. Para cursores con variables
o parámetros locales, esto puede resultar en un plan de consulta no óptimo, ya
que los valores predeterminados se utilizan para calcular el número de filas a
devolver. El problema de los planes pobres es más común con los cursores
cliente, enviados con Open Client™ Client-Library™ o Embedded SQL™.
En la versión 11.9.2, la optimización de la consulta se pospone hasta que el
cursor se abre. Se conocen los valores de las variables en el momento de abrir
el cursor y la optimización puede mejorar apreciablemente.
75
Cambios que pueden afectar a las aplicaciones existentes
Efectos visibles de la optimización retardada del cursor
Además de los planes de consulta mejorados, los únicos cambios visibles para
el usuario son los siguientes:
•
Si utiliza showplan, el plan ya no se muestra en la instrucción de declarar
cursor, sino en la instrucción de abrir.
•
La consulta se normaliza en la instrucción de declarar cursor, así que los
mensajes de error sobre errores de sintaxis, tablas que no se encuentran,
etc., se notifican en ese momento.
•
Algunos mensajes de error no aparecen hasta que se compila y optimiza la
consulta, incluyendo los mensajes para los cursores que requieren índices
exclusivos. Si aparecen mensajes de error en el momento de abrir el cursor
(como la falta de un índice necesario), se debe quitar la asignación del
cursor y volver a declararlo. No puede corregir el problema y volver a abrir
el cursor.
•
En versiones anteriores a la 11.9.2, el cambio de niveles de aislamiento
entre el momento de declaración del cursor y el momento de abrirlo
generaba un mensaje de error cuando se abría el cursor. En la versión 11.9.2,
la siguiente secuencia de comandos no genera un error y se compila el
cursor al nivel 0 de aislamiento de transacción:
/* start at isolation level 1 */
declare curs1 cursor for
select t.title_id, au_lname
from titles t , authors a, titleauthor ta
where t.title_id = ta.title_id
and a.au_id = ta.au_id
go
set transaction isolation level 0
go
open curs1
go
fetch curs1
go
Nota: La optimización retardada no se aplica a los cursores que se declaran en
un procedimiento almacenado (denominados cursores de servidor). Los
cursores de servidor se compilan y optimizan cuando se declaran.
76
CA P Í TUL O
5
Nuevas funciones en Adaptive
Server versión 11.5
Este capítulo describe las características añadidas y los cambios realizados
al sistema de Sybase Adaptive Server Enterprise versión 11.5.
Además de añadir un gran número de funciones nuevas al servidor,
Adaptive Server 11.5 proporciona un producto más completo gracias a la
incorporación de productos y herramientas anteriores:
•
SQL Server Manager™ se ha sustituido por Sybase Central™
Para obtener más información, consulte "Sybase Central", en la
página 108.
•
OmniConnect™ se ha sustituido por Component Integration Services
La mayoría de las características de OmniConnect versión 10.5 se han
incorporado a la característica Component Integration Services (CIS)
de Adaptive Server 11.5. Para obtener más información sobre esta
función, consulte "Servicios de integración de componentes", en la
página 82.
Nuevas características de la versión 11.5
Las nuevas características de Adaptive Server versión 11.5 son:
Nombre
"Recuperación previa asíncrona", en la página 78
"Mejoras en el sistema de auditoría", en la página 80
"Expresión CASE", en la página 82
"Servicios de integración de componentes", en la página 82
"Mejoras en create index", en la página 85
"Mejoras de dbcc", en la página 86
"Optimización de exploración con índice descendente", en la página 89
"Servicios de directorio", en la página 89
77
Recuperación previa asíncrona
Nombre
"Afinidad de motor y precedencia de ejecución", en la página 90
"Registro ampliado de errores", en la página 92
"Procedimientos almacenados extendidos (ESP)", en la página 93
"Límites de integridad referencial aumentados", en la página 96
"Administración de caché de metadatos", en la página 97
"Control del acceso a texto SQL por lotes", en la página 97
"Copia masiva paralela", en la página 99
"Consultas paralelas y particiones mejoradas", en la página 100
"Recuperación a un momento dado", en la página 101
"Autorización proxy", en la página 102
"Aislamiento de fallos de recuperación", en la página 103
"Política de sustitución de caché LRU flexible", en la página 105
"Límites de recursos", en la página 106
"Verificación y cifrado de texto fuente", en la página 108
"Sybase Central", en la página 108
"sp_sysmon", en la página 109
"Mejoras de ejecución en dos fases", en la página 109
"Roles definidos por el usuario", en la página 111
"Integración de Registro de eventos de Windows NT", en la página 111
"Compatibilidad con la interfaz MAPI de Windows NT", en la página 112
"Integración del Monitor de rendimiento de Windows NT", en la página 113
Recuperación previa asíncrona
La función de recuperación previa asíncrona mejora el rendimiento ya que
prevé las páginas necesarias para algunas clases bien definidas de actividades
de base de datos, cuyos modelos de acceso son predecibles. Las peticiones de
E/S para estas páginas se emiten antes de que la consulta las necesite de forma
que la mayoría de las páginas están preparadas en el caché cuando el proceso
de consultas necesita tener acceso a ellas.
La recuperación previa asíncrona puede mejorar el rendimiento para:
78
•
Exploraciones secuenciales, por ejemplo, exploraciones de tabla, de índice
agrupado y de índice no agrupado cubierto
•
El comando update statistics
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
•
Los accesos mediante índices no agrupados
•
Algunas comprobaciones dbcc
•
Recuperación
La función de recuperación previa asíncrona puede mejorar el rendimiento de
las consultas que tienen acceso a un gran número de páginas, por ejemplo,
aplicaciones de sistemas de ayuda a la toma de decisiones (DSS, Decision
Support System), siempre y cuando los subsistemas de E/S del equipo no estén
saturados.
La función de recuperación previa asíncrona no puede ayudar (o puede ayudar
sólo ligeramente) si el subsistema de E/S está ya saturado o si Adaptive Server
depende de la unidad CPU. Puede utilizarse en algunas aplicaciones de
procesamiento de transacciones en línea (OLTP, Online Transaction Processing)
aunque en un grado mucho menor, ya que las consultas en las aplicaciones
OLTP suelen realizar un número inferior de operaciones de E/S.
Nota: El valor predeterminado de global async prefetch limit (límite global de
recuperación previa asíncrona) es 10, lo que significa que la función se activa
cuando instala o actualiza Adaptive Server a la versión 11.5 y todas las
agrupaciones pueden utilizar un máximo del 10 por ciento de los buffers para
lecturas asíncronas.
La tabla 5-1 muestra dónde encontrar más información sobre la función de
recuperación previa asíncrona.
Tabla 5-1: Información adicional sobre recuperación previa asíncrona
Para obtener
información sobre
Cómo se pueden beneficiar
las consultas de la función
de recuperación previa
asíncrona
Configuración de los límites
de agrupaciones
Configuración de límites
para servidor
Mejoras de los límites de
recuperación previa
asíncrona
Consulte
Capítulo 18, "Mejoras de la función de recuperación
previa asíncrona", del Manual de rendimiento y
mejoras
Capítulo 9, "Configuración de cachés de datos", del
Manual de administración del sistema
Capítulo 11, "Definición de los parámetros de
configuración", del Manual de administración del
sistema
Capítulo 24, "Control del rendimiento con
sp_sysmon" en el Manual de rendimiento y mejoras
79
Mejoras en el sistema de auditoría
Mejoras en el sistema de auditoría
El sistema de auditoría cuenta con las siguientes mejoras:
•
Compatibilidad con varias tablas de auditoría. Esta característica le
permite archivar y procesar datos de auditoría sin intervención manual ni
pérdida de registros.
•
Nueva interfaz de usuario mejorada para que el oficial de seguridad del
sistema pueda controlar la auditoría. La nueva interfaz, que sustituye a la
interfaz de auditoría actual, puede configurar todas las opciones de auditoría
mediante un solo procedimiento de sistema, sp_audit.
•
Adición de eventos sobre los que puede ejecutarse la auditoría:
•
Creación de objetos
•
Enlace y desenlace de reglas, valores predeterminados y mensajes
•
Todas las acciones de usuarios individuales
•
Todas las acciones realizadas con un rol concreto activo
•
Un conjunto de eventos para todo el servidor, con importancia para la
seguridad
Nuevos procedimientos de sistema
Utilice los procedimientos de sistema de la tabla 5-2 para administrar el
proceso de auditoría.
Tabla 5-2: Nuevos procedimientos de sistema para la función
de auditoría
Procedimiento de sistema
sp_addauditrecord
sp_audit
Descripción
Añade registros de auditoría definidos por el usuario (comentarios) a la pista de
auditoría Los usuarios pueden añadir estos registros sólo si el oficial de
seguridad del sistema activa el sistema de auditoría mediante sp_audit.
Activa y desactiva todas las opciones de auditoría. Éste es el único
procedimiento de sistema necesario para definir los eventos sobre los que se va
a ejecutar la auditoría.
sp_configure
"auditing"
"audit queue size"
80
Activa o desactiva la función de auditoría en Adaptive Server. Este parámetro
tiene efecto inmediatamente después de ejecutar sp_configure. La auditoría sólo
tiene lugar cuando este parámetro está activado.
Define el tamaño de la cola de auditoría. Este parámetro afecta a la asignación
de memoria, por lo tanto, no tiene efecto hasta que se reinicia Adaptive Server.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Procedimiento de sistema
Descripción
"current audit table"
Define la tabla de auditoría actual. Este parámetro tiene efecto inmediatamente
después de ejecutar sp_configure.
"suspend auditing when full"
Controla el comportamiento del proceso de auditoría cuando se llena un
dispositivo de auditoría. Este parámetro tiene efecto inmediatamente después de
ejecutar sp_configure.
Muestra las opciones de auditoría activas.
sp_displayaudit
Nota: Los procedimientos de sistema sp_auditoption, sp_auditdatabase,
sp_auditobject, sp_auditsproc y sp_auditlogin son obsoletos. Utilice sp_audit
para configurar las opciones que en versiones anteriores a la versión 11.5
definía mediante dichos procedimientos.
La tabla 5-3 muestra los procedimientos de sistema utilizados para configurar las
opciones de auditoría en versiones anteriores a la versión 11.5 y los tipos de opciones
que las sustituyen en Adaptive Server 11.5. Las opciones de auditoría de los
grupos mencionados en la segunda columna de la tabla 5-3 se describen junto
con la información sobre sp_audit en el Manual de consulta de Adaptive Server.
Tabla 5-3: Comparación de opciones previas a 11.5 y de 11.5
Opciones definidas en
versiones anteriores a 11.5
sp_auditoption
Opciones de la versión 11.5
Opciones globales de auditoría
sp_auditdatabase
Opciones de auditoría específicas de base de
datos
sp_auditobject
sp_auditsproc
Opciones de auditoría específicas de objetos
Opciones de ejecución de auditoría
sp_auditlogin
Opciones de auditoría específicas de usuarios
Por ejemplo, en versiones anteriores a la versión 11.5, se utilizaba el siguiente
comando para ejecutar la auditoría de las acciones de eliminación, actualización
e inserción de información en la tabla authors de la base de datos pubs2:
sp_auditobject "authors", "pubs2", "both", "dui"
En la versión 11.5, estas acciones quedan cubiertas por las opciones delete,
update e insert del grupo específico de objetos. Para obtener los mismos
resultados que con los comandos obsoletos anteriores, debe utilizar los
siguientes comandos:
sp_audit "delete", "all", "authors", "on"
sp_audit "update", "all", "authors", "on"
sp_audit "insert", "all", "authors", "on"
81
Expresión CASE
Para instalar la función de auditoría, consulte el manual de configuración de
Adaptive Server correspondiente a su plataforma. Para obtener más información
sobre auditoría, consulte el Capítulo 8, "Auditoría," del Manual de
administración de seguridad.
Expresión CASE
La utilización de la expresión CASE simplifica las expresiones estándar de
SQL ya que permite una construcción del tipo when...then en vez de una
construcción del tipo if...else. Una expresión CASE es más concisa que una
instrucción if...else y el tiempo de respuesta de Adaptive Server es más rápido
ya que el optimizador procesa menos líneas de código SQL. Además, las
consultas escritas con expresiones CASE suelen ser más fáciles de leer y
comprender que aquéllas escritas en lenguaje SQL estándar. Debido a su
naturaleza concisa, las expresiones CASE se permiten en todos los casos en los
que se utilizan expresiones de valor.
Las expresiones CASE se escriben mediante la siguiente sintaxis:
case
[when condición_búsqueda1 then resultado1]
[when condición_búsquedan then resultadon]
end
Para obtener más información sobre expresiones CASE, consulte el Manual de
consulta de Adaptive Server.
Para obtener más información y ejemplos de expresiones CASE, consulte el
Manual del usuario de Transact-SQL.
Servicios de integración de componentes
La función Component Integration Services (CIS, servicios de integración de
componentes) le permite conectar con bases de datos remotas de Sybase y otros
fabricantes. Presenta una vista uniforme de los datos empresariales a las
aplicaciones cliente y proporciona transparencia de ubicación a las fuentes de
datos a las que tiene acceso.
82
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Cuando se obtiene acceso a bases de datos de Sybase y a otras bases de datos
en distintos servidores, puede utilizar los archivos de datos del equipo, tablas,
disparadores, vistas, llamadas a procedimientos remotos y la mayoría de los
comandos de los sistemas de bases de datos como Adaptive Server, Informix,
DB2 y Oracle.
Component Integration Services puede utilizarlo cualquier usuario que necesite
tener acceso a varias fuentes de datos o datos heredados. También lo puede
utilizar cualquier usuario que necesite convertir datos de un servidor a otro.
Normalmente se utiliza un solo servidor para tener acceso a los datos en varios
servidores externos. Component Integration Services gestiona los datos con
independencia de la ubicación de los servidores externos. La administración de
los datos es transparente para la aplicación cliente.
Figura 5-1: CIS se conecta a bases de datos de varios proveedores
La función Component Integration Services le permite:
•
Tener acceso a tablas en servidores remotos como si se tratase de tablas
locales.
•
Realizar uniones entre tablas de varios servidores remotos heterogéneos.
Por ejemplo, puede unir tablas entre Adaptive Server y una base de datos
Oracle DBMS, entre Adaptive Server y archivos de Record Management
System (RMS) en OpenVMS y entre tablas de varios servidores Adaptive
Server.
•
Utilizar el comando select into para transferir el contenido de una tabla a otra
tabla nueva en cualquier servidor remoto admitido.
83
Servicios de integración de componentes
•
Proporcionar acceso transparente a datos heterogéneos a aplicaciones como
PowerBuilder®, Microsoft Access y DataEase.
•
Mantener la integridad referencial entre las fuentes de datos heterogéneas.
•
Tener acceso a funciones originales del servidor remoto mediante el modo
passthrough de Component Integration Services.
Para obtener más información sobre Component Integration Services, consulte
el Manual del usuario de Component Integration Services.
Comandos nuevos
La tabla 5-4 muestra los comandos nuevos para la función Component
Integration Services:
Tabla 5-4: Comandos para CIS
Comando
Descripción
connect to...disconnect
Conecta con el servidor especificado y desconecta el
servidor conectado.
create existing table
Crea una tabla proxy, a continuación recupera y
almacena metadatos de una tabla remota y coloca los
datos en la tabla proxy.
set cis_rpc_handling
Determina si Component Integration Services gestiona
peticiones de llamadas a procedimientos remotos
(RPC) de salida de forma predeterminada.
set transactional_rpc
Controla la gestión de llamadas a procedimientos
remotos.
Nuevos procedimientos de sistema
La tabla 5-5 muestra los procedimientos de sistema nuevos para la función
Component Integration Services.
Tabla 5-5: Nuevos procedimientos de sistema para CIS
Procedimiento
de sistema
sp_addexternlogin
sp_addobjectdef
84
Descripción
Crea un cuenta y contraseña de login alternativa para utilizarla
en la comunicación con un servidor remoto mediante CIS.
Especifica la correspondencia entre una tabla local y una
ubicación de almacenamiento externa. El comando
sp_addobjectdef sustituye a sp_addtabledef.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Procedimiento
de sistema
sp_autoconnect
Descripción
Define una conexión
passthrough con un servidor remoto para un usuario
específico, que permite a dicho usuario entrar en modo
passthrough automáticamente al iniciar la sesión.
sp_configure
"enable cis"
Activa o desactiva la función CIS. El valor predeterminado es
0 (desactivada).
sp_defaultloc
Define una ubicación de almacenamiento predeterminada para
los objetos de una base de datos local.
Elimina la definición de un identificador de login remoto
creado anteriormente por sp_addexternlogin.
Elimina la correspondencia de almacenamiento externo
suministrada para un objeto local.
sp_dropexternlogin
sp_dropobjectdef
sp_passthru
Permite al usuario transferir un buffer de comando SQL a un
servidor remoto.
sp_remotesql
Establece una conexión con un servidor remoto, transfiere un
buffer de consulta desde el cliente al servidor remoto
y devuelve los resultados al cliente.
Procedimientos de sistema modificados
Los siguientes procedimientos de sistema se han modificado para hacerlos
compatibles con la función Component Integration Services:
•
sp_addserver
•
sp_dropserver
•
sp_help
•
sp_helpdb
•
sp_helpserver
•
sp_serveroption
Mejoras en create index
En versiones anteriores de SQL Server™, podía utilizar el comando create
clustered index...with sorted_data para omitir el paso de ordenación de los datos
que ya estaban ordenados. No obstante, create clustered index siempre copiaba
las páginas de datos a una nueva ubicación en los dispositivos de datos.
85
Mejoras de dbcc
En la versión 11.5, create clustered index...with sorted_data no clasifica o copia
las páginas de datos excepto si se especifican ciertas cláusulas opcionales en
create index. Si se especifican estas cláusulas para tablas particionadas, debe
llevarse a cabo una ordenación paralela.
Para obtener más información, consulte el Capítulo 23, "Actividades de
mantenimiento y rendimiento", en el Manual de rendimiento y mejoras.
Mejoras de dbcc
El comando dbcc ha mejorado su rendimiento en entornos paralelos y ampliado
su modo de detectar, registrar y notificar los errores. El comando dbcc checkstorage
le permite comprobar una base datos en uso, con muy poco impacto o ninguno
sobre el rendimiento. Almacena los resultados de la comprobación en la base
de datos dbccdb. Cuando la comprobación ha finalizado, puede utilizar los
nuevos procedimientos almacenados dbcc para generar informes basados en
los datos recopilados.
Ventajas de utilizar dbcc checkstorage
El comando dbcc checkstorage:
•
Utiliza un caché con nombre, de forma que su ejecución en la base de datos
de destino no interfiera con el uso simultáneo de dicha base de datos.
•
Escala de forma lineal con el rendimiento de E/S añadido.
•
No bloquea tablas o páginas durante largos periodos, lo que permite que
dbcc checkstorage localice errores mientras tiene lugar una actividad de
actualización simultánea.
86
•
Combina muchas de las comprobaciones suministradas por los demás
comandos dbcc.
•
Proporciona una descripción detallada de la utilización del espacio en la
base de datos de destino.
•
Separa las funciones de comprobación y notificación, lo que permite la
evaluación y generación personalizada de informes.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
•
Registra la actividad dbcc checkstorage y los resultados en la base de datos
dbccdb, lo que permite elaborar un análisis de tendencias y una fuente de
información de diagnóstico precisa para la prestación de soporte técnico.
Para obtener más información sobre dbcc, consulte el Capítulo 18,
"Comprobación de la coherencia de bases de datos", en el Manual de
administración del sistema.
Procedimientos almacenados y de sistema para la creación
de dbccdb
Para poder utilizar dbcc checkstorage, debe configurar la base de datos dbccdb.
La tabla 5-6 muestra los procedimientos almacenados y de sistema para la
creación de dbccdb. sp_plan_dbccdb es el único procedimiento de sistema.
Reside en sybsytemprocs. sp_dbcc_createws y sp_dbcc_updateconfig son
procedimientos dbcc almacenados. Residen en dbccdb.
Tabla 5-6: Procedimientos almacenados y de sistema para la creación
de dbccdb
Procedimiento
sp_dbcc_createws
sp_dbcc_updateconfig
sp_plan_dbccdb
Descripción
Crea una zona de trabajo del tipo y tamaño especificado
en el segmento y base de datos especificados.
Actualiza los parámetros de configuración para la base
de datos especificada.
Recomienda valores para el tamaño de dbccdb, los
dispositivos adecuados, los tamaños para las zonas de
trabajo scan y text, el tamaño de caché y el número de
procesos de trabajo para un funcionamiento óptimo.
Procedimientos almacenados para el mantenimiento de dbccdb
La tabla 5-7 muestra los procedimientos almacenados dbcc para el
mantenimiento de dbccdb.
Tabla 5-7: Procedimientos almacenados para el mantenimiento de dbccdb
Procedimiento
almacenado
sp_dbcc_alterws
sp_dbcc_deletedb
Descripción
Cambia el tamaño de la zona de trabajo especificada al
valor especificado e inicializa la zona de trabajo.
Elimina toda la información en la base de datos
especificada de dbccdb.
87
Mejoras de dbcc
Procedimiento
almacenado
sp_dbcc_deletehistory
Descripción
Elimina los resultados de las operaciones dbcc
checkstorage en la base de datos especificada de
dbccdb.
sp_dbcc_evaluatedb
Recomienda valores para los parámetros de
configuración, a partir de los resultados de operaciones
dbcc previas.
sp_dbcc_runcheck
Ejecuta dbcc checkstorage en la base de datos
especificada y genera un informe resumido o el informe
que especifique.
Procedimientos almacenados para la generación de informes
en dbccdb
La tabla 5-8 muestra los procedimientos almacenados dbcc para la generación
de informes en dbccdb.
Tabla 5-8: Procedimientos almacenados para la generación de informes
en dbccdb
Procedimiento
almacenado
sp_dbcc_configreport
sp_dbcc_differentialreport
sp_dbcc_faultreport
sp_dbcc_fullreport
sp_dbcc_statisticsreport
sp_dbcc_summaryreport
88
Descripción
Notifica los parámetros de configuración para la base
de datos especificada.
Compara los resultados de las operaciones dbcc
checkstorage realizadas en la fecha1 y fecha2 para
nombrebd..nombre_objeto.
Notifica los fallos registrados para
nombrebd..nombre_objeto en o antes de la fecha
especificada.
Notifica la información de configuración, estadísticas y
fallos para base_datos..nombre_objeto en o antes de la
fecha especificada.
Notifica la información estadística de la tabla
dbcc_counters generada por la operación dbcc
checkstorage en o antes de la fecha especificada.
Notifica todas las operaciones dbcc checkstorage
realizadas para nombrebd en o antes de la fecha
especificada.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Optimización de exploración con índice descendente
Esta opción supone una mejora del rendimiento de las consultas que utilizan la
palabra clave desc en los tipos order by para devolver conjuntos de resultados
en orden descendente. En versiones anteriores de SQL Server, para obtener
conjuntos de resultados en orden descendente eran necesarios una tabla de
trabajo y una ordenación. En Adaptive Server 11.5, el optimizador puede
utilizar el índice y evitar el paso de ordenación, si de esta forma el coste de la
consulta resulta inferior.
Las exploraciones con índice descendentes pueden agilizar el uso del acceso de
índices agrupados y no agrupados, reducir el espacio de tempdb necesario para
las tablas temporales, ahorrar el tiempo de CPU necesario para realizar la
ordenación y reducir el tiempo de retención de bloqueos, si las exploraciones
descendentes utilizan holdlock o aislamiento de transacción de nivel 3. Sin
embargo, puede dar lugar a un aumento de interbloqueos en algunas aplicaciones.
Consulte el Capítulo 11, "Definición de los parámetros de configuración", en
el Manual de administración del sistema para obtener más información sobre
el parámetro de configuración allow backward scans, que sirve para desactivar
esta función de optimización si los interbloqueos representaran un problema.
Las exploraciones descendentes están activadas de forma predeterminada.
Esta función no modifica la sintaxis para la cláusula order by, únicamente
modifica el modo de optimización de las cláusulas order by con la clave desc.
Servicios de directorio
Para que Adaptive Server y una aplicación cliente puedan comunicarse entre sí,
cada una debe conocer la ubicación de la otra en la red. En las versiones anteriores
a Adaptive Server 11.5, la única ubicación para almacenar información de
servicio de redes (nombre de servidor, tipo de servicio y protocolo de red,
dispositivo y dirección) era el archivo de interfaces de SQL Server.
Adaptive Server 11.5 proporciona una alternativa a la utilización del archivo
de interfaces tradicional ya que admite la conexión a la información de servicio
de red mediante proveedores de servicios de directorio de otros fabricantes.
La ventaja de utilizar un servicio de directorio es que cuando se modifica la red
(por ejemplo, cuando se añade un servidor nuevo o se modifica una dirección
de servidor), no necesita actualizar varios archivos de interfaces. Sólo necesita
actualizar el servicio de directorio que utilizan los servidores y clientes.
89
Afinidad de motor y precedencia de ejecución
La tabla 5-9 muestra el proveedor de servicios de directorio y la plataforma que
admite en Adaptive Server 11.5.
Tabla 5-9: Proveedor de servicios de directorio
Proveedor de servicios de directorio
Registro de Windows
Plataforma
Microsoft Windows NT
Si no configura Adaptive Server de forma que utilice un proveedor de servicios
de directorio, utilizará el archivo de interfaces de Sybase como ubicación
predeterminada para obtener información de servicio de red.
Consulte el manual de configuración de Adaptive Server correspondiente a la
plataforma que utiliza para obtener información sobre cómo configurar
Adaptive Server para que utilice servicios de directorio.
Afinidad de motor y precedencia de ejecución
El nuevo Administrador de procesos lógicos de la versión 11.5 le proporciona
un modo de controlar el orden que sigue Adaptive Server en la ejecución de
peticiones de conexiones y sesiones. Las dos nuevas funciones, afinidad de
motor y precedencia de ejecución, ofrecen procedimientos de sistema que le
permiten especificar a Adaptive Server el equilibrio de rendimiento que desea
utilizar en las distintas conexiones y sesiones en entornos de carga de trabajo
mixtos.
Por ejemplo, puede dar mayor prioridad a una aplicación cliente, login
o procedimiento almacenado con respecto a los demás con los procedimientos
de sistema mediante la asignación de atributos de ejecución. Adaptive Server
tendrá en cuenta las asignaciones realizadas al colocar la entidad en una de tres
colas de ejecución de diferente prioridad. Además, puede utilizar afinidad de
motor para hacer sugerencias sobre cómo particionar los recursos de motor de
Adaptive Server entre conexiones y sesiones.
En un entorno de varias aplicaciones, el hecho de definir una precedencia de
ejecución puede mejorar el rendimiento de las aplicaciones seleccionadas, así
como en general de algunos procesos en funcionamiento de Adaptive Server.
90
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
El usuario decide qué aplicaciones cliente, logins y procedimientos almacenados
reciben precedencia de ejecución mediante la creación de una jerarquía entre
objetos de ejecución (aplicaciones cliente, logins y procedimientos almacenados)
con un grupo nuevo de procedimientos de sistema de Adaptive Server
(consulte la tabla 5-10). Adaptive Server utiliza la jerarquía como guía para
la distribución de recursos de procesamiento entre los objetos de ejecución.
Para obtener más información, consulte el Capítulo 22, "Distribución de
recursos de motor entre tareas", del Manual de rendimiento y mejoras.
Nuevos procedimientos de sistema
Puede implementar y administrar la jerarquía de ejecución para aplicaciones
cliente, logins y procedimientos almacenados mediante las cinco categorías
de procedimientos de sistema enumeradas en la tabla 5-10.
Tabla 5-10: Nuevos procedimientos de sistema para la administración
de precedencia de ejecución
Categoría
Clase de
ejecución
definida por el
usuario
Procedimiento
de sistema
• sp_addexeclass
• sp_dropexeclass
Enlaces de clase
de ejecución
• sp_bindexeclass
• sp_unbindexeclass
Inmediato
• sp_setpsexe
• sp_clearpsexe
Motores
• sp_addengine
• sp_dropengine
Notificación
• sp_showcontrolinfo
• sp_showexeclass
• sp_showpsexe
Descripción
Crea o elimina una clase definida por el
usuario con atributos personalizados,
modifica los atributos de una clase
existente.
Enlaza o desenlaza tanto clases
predefinidas como definidas por el
usuario con aplicaciones cliente e logins.
Define o elimina atributos de una sesión
activa sólo.
Añade o elimina motores de grupos de
motores; crea y elimina grupos de
motores.
Notifica las asignaciones de grupos de
motores, enlaces de aplicación y
atributos de clase de ejecución.
91
Registro ampliado de errores
Registro ampliado de errores
Los usuarios pueden ejercer un mayor control sobre los tipos de mensajes que
quedan registrados en el diario de errores de Adaptive Server.
Mediante la definición de los parámetros de configuración log audit logon
success o log audit logon failure, puede activar o desactivar el registro de logins
correctos o incorrectos de Adaptive Server.
También puede especificar que un mensaje concreto, identificado por su id de
mensaje, se registre mediante el parámetro with_log en los procedimientos de
sistema sp_addmessage o sp_altermessage. Consulte estos procedimientos
de sistema en el Manual de consulta de Adaptive Server.
Estas funciones afectan al diario de errores de Adaptive Server en todas las
plataformas, así como al diario de eventos de Windows NT en servidores de
Windows NT, si está activada la opción event logging.
Nuevos procedimientos de sistema
La tabla 5-11 muestra los procedimientos de sistema nuevos para la función de
registro ampliado de errores.
Tabla 5-11: Procedimientos de sistema nuevos para el registro
ampliado de errores
Procedimiento
de sistema
sp_altermessage
Descripción
Activa y desactiva el registro de un mensaje definido
por el sistema o el usuario en el diario de errores de
Adaptive Server.
sp_configure
92
"log audit logon success"
Especifica si deben registrarse los logins correctos de
Adaptive Server en el diario de errores de Adaptive
Server y de los servidores de Windows NT en el
Registro de eventos de Windows NT, si está activado
el registro de eventos.
"log audit logon failure"
Especifica si deben registrarse los logins incorrectos
de Adaptive Server en el diario de errores de Adaptive
Server y de los servidores de Windows NT en el
Registro de eventos de Windows NT, si está activado
el registro de eventos.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Procedimientos de sistema modificados
Los siguientes procedimientos de sistema se han modificado para hacerlos
compatibles con la función de registro ampliado de errores mediante el uso del
parámetro with_log:
•
sp_addmessage
•
sp_addserver
Procedimientos almacenados extendidos (ESP)
Esta versión admite procedimientos almacenados extendidos (ESP) definidos
por el usuario y por el sistema.
Los procedimientos ESP proporcionan un método de llamada a las funciones
de lenguaje de procedimientos desde Adaptive Server. El lenguaje de
procedimientos en el que están escritas las funciones debe ser capaz de llamar
a funciones del lenguaje C y de manipular tipos de datos C.
Los procedimientos ESP permiten a Adaptive Server llevar a cabo una tarea
fuera de Adaptive Server en respuesta a un evento que tenga lugar dentro de
Adaptive Server. Por ejemplo, una tarea de procedimiento fuera del sistema de
administración de base de datos relacional (RDBMS), por ejemplo, la
comunicación de seguridad, puede invocarla un disparador en una tabla de base
de datos que se activa cuando el valor de seguridad alcanza un valor determinado.
También es posible enviar una notificación de correo electrónico o difusión a
toda la red en respuesta a un evento que tenga lugar en el sistema RDBMS.
La interfaz con ESP es similar a la interfaz con los procedimientos de sistema
y procedimientos almacenados definidos por el usuario. La diferencia radica en
que ESP ejecuta código de lenguaje de procedimientos, en lugar de
instrucciones de Transact-SQL.
93
Procedimientos almacenados extendidos (ESP)
XP Server
Los procedimientos almacenados extendidos los implementa una aplicación
Open Server™ denominada XP Server, que se ejecuta en el mismo equipo que
Adaptive Server. La ejecución de procedimientos almacenados extendidos en
un proceso independiente protege a Adaptive Server de los fallos de código
ESP erróneo. Adaptive Server y XP Server se comunican mediante llamadas
a procedimientos remotos (RPC, remote procedure calls).
La función que implementa el procedimiento ESP se compila y vincula en una
biblioteca de vínculos dinámicos (DLL) o en una biblioteca compartida.
Adaptive Server busca la función con el mismo nombre que el procedimiento
ESP solicitado en las tablas del sistema y transfiere el nombre de la función
y de la biblioteca DLL a XP Server.
XP Server es el responsable de:
•
Cargar la DLL, si no lo está.
•
Invocar la función que implementa el procedimiento ESP.
•
Transferir el estado de devolución de la función, parámetros de salida
y resultados a Adaptive Server.
Adaptive Server transfiere los resultados de la función al cliente.
Adaptive Server inicia XP Server con la primera petición ESP y cierra
XP Server cuando se cierra Adaptive Server.
El programa de instalación o configuración de cada plataforma añade la
entrada predeterminada <hostname>_XP al archivo de interfaces y la tabla
sysservers. Para añadir otras entradas de XP Server al archivo de interfaces,
debe utilizar dsedit. Las entradas de XP Server en la tabla sysservers deben
realizarse de forma manual. No existe un archivo run_server asociado con
XP Server.
Consulte la información relativa a la utilización y desarrollo de procedimientos
ESP en el Manual del usuario de Transact-SQL.
Para desarrollar sus propios procedimientos ESP, debe adquirir el producto
Open Server.
94
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Procedimientos ESP definidos por el sistema
La tabla 5-12 enumera los procedimientos ESP definidos por el sistema.
Tabla 5-12: Procedimientos ESP definidos por el sistema
Procedimiento de
sistema
xp_cmdshell
xp_enumgroups
Descripción
Ejecuta un comando del sistema operativo original en el
sistema servidor que está ejecutando Adaptive Server.
Muestra los grupos de un dominio de Windows NT
concreto. (Sólo en Windows NT)
Además, los procedimientos ESP específicos para Windows NT admiten funciones
de Windows NT, por ejemplo, registro de eventos y correo de Adaptive Server.
Para obtener una lista completa de procedimientos ESP de sistema, consulte
el Capítulo 5, "Procedimientos almacenados extendidos de sistema", en el
Manual de referencia de Adaptive Server.
Nuevos procedimientos de sistema para ESP
La tabla 5-13 enumera los procedimientos de sistema para ESP.
Tabla 5-13: Nuevos procedimientos de sistema para ESP
Procedimiento de
sistema
Descripción
sp_addextendedproc
Crea un procedimiento ESP.
sp_configure
"esp execution priority"
Define la prioridad del subproceso de XP Server para
la ejecución ESP.
"esp execution stacksize"
Define el tamaño de la pila, en bytes, que se asigna a la
ejecución ESP.
Especifica si las DLL que admiten procedimientos
ESP deben descargarse automáticamente de la
memoria de XP Server después de completar la
llamada ESP.
Define el contexto de seguridad para el comando de
sistema operativo que se va a ejecutar mediante el
procedimiento de sistema xp_cmdshell.
Elimina un procedimiento ESP.
"esp unload dll"
"xp_cmdshell_context"
sp_dropextendedproc
sp_freedll
Descarga una DLL que se cargó en la memoria de XP
Server para admitir la ejecución de un procedimiento
ESP.
95
Límites de integridad referencial aumentados
Procedimiento de
sistema
sp_helpextendedproc
Descripción
Muestra los procedimientos ESP en la base de datos
actual con sus archivos DLL asociados.
Comandos compatibles
Los siguientes comandos de Transact-SQL se han mejorado para hacerlos
compatibles con los procedimientos ESP.
•
create procedure
•
drop procedure
•
execute
Límites de integridad referencial aumentados
La función de límite flexible de integridad referencial incrementa el número
máximo de referencias de tablas permitido en una consulta de 16 a 192.
El nuevo límite elimina la necesidad de escribir disparadores especiales para
compensar la limitación anterior de 16 tablas.
Si una tabla tiene referencias a otras tablas, Adaptive Server explora las tablas
a las que se hace referencia cuando se modifica ésta. Adaptive Server utiliza
descriptores de exploración para administrar la exploración de las tablas.
Un descriptor de exploración es una estructura de datos interna que administra
la exploración de las tablas consultadas. Para hacer un uso eficaz de los recursos
de Adaptive Server, puede configurarlo de modo que utilice el número adecuado
de descriptores de exploración en su sistema.
Para obtener más información sobre el uso de la integridad referencial,
consulte el Manual del usuario de Transact-SQL.
Para obtener información sobre la configuración de descriptores de exploración,
consulte el parámetro de configuración number of aux scan descriptors en el
Capítulo 11, "Definición de los parámetros de configuración", del Manual de
administración del sistema.
96
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Administración de caché de metadatos
Adaptive Server le permite administrar cachés de metadatos independientes
para:
•
Índices de usuario
•
Objetos como procedimientos, disparadores, vistas, reglas y valores
predeterminados
•
Bases de datos
La administración de cachés de metadatos independientes para estos objetos
es beneficiosa para los servidores que contienen un gran número de índices de
usuario y objetos, así como los casos en los que hay un alto grado de
simultaneidad entre los usuarios.
Un caché de metadatos es una zona reservada de memoria para el seguimiento
de índices, objetos o bases de datos. Cuando configura un caché de metadatos
para los índices, objetos o bases de datos, Adaptive Server obtiene acceso a la
información directamente desde la estructura de la memoria que los describe
en la fila sysindexes, sysobjects o sysdatabases.
Este método mejora el rendimiento porque Adaptive Server omite la realización
de llamadas costosas que requieren acceso al disco. La configuración de cachés
de metadatos también mejora el rendimiento porque reduce la sincronización
y los conflictos de spinlock cuando Adaptive Server tiene que recuperar
información de índices, objetos o bases de datos en el momento de ejecución.
Para obtener más información sobre la configuración de cachés de metadatos,
consulte "Cachés de metadatos" en las páginas 11-61 del Manual de
administración del sistema.
Control del acceso a texto SQL por lotes
La función de control de acceso a texto SQL por lotes permite al usuario
administrador del sistema mostrar el texto SQL por lotes de cualquier comando
cliente que esté ejecutándose en Adaptive Server. Aunque puede configurar
Adaptive Server de forma que guarde el texto por lotes, los lotes sólo están
visibles mediante Monitor Server de Adaptive Server.
El control de acceso incluye sp_showplan, que le permite ver el plan de consultas
para la consulta que se está ejecutando. No necesita Monitor Server para
recuperar los planes de consulta.
97
Control del acceso a texto SQL por lotes
Tanto la función de control de acceso como sp_showplan resultan especialmente
útiles para determinar por qué se cuelga una sesión de cliente o utiliza gran
cantidad de tiempo de CPU o E/S física.
Asignación de memoria para texto por lotes
La opción control de acceso a texto SQL por lotes está desactivada de forma
predeterminada cuando se instala Adaptive Server, por lo tanto, debe
configurar Adaptive Server de modo que asigne memoria para esta función.
Tenga en cuenta la siguiente información para ayudarle a determinar cuánta
memoria debe asignar por usuario:
•
Los lotes de SQL que superan la cantidad asignada de memoria se truncan
sin aviso. Por lo tanto, si no asigna memoria suficiente para las instrucciones
del lote, el texto que desea ver puede ser la parte del lote que quede
truncado.
•
A mayor cantidad de memoria compartida asignada al texto de SQL,
menor es la posibilidad de que la instrucción problemática quede truncada
del lote copiado a la memoria compartida. No obstante, la memoria que
asigne al texto SQL reduce la cantidad de memoria disponible para los
cachés de datos y procedimientos.
Nuevas columnas en sysprocesses
Puede que el procedimiento que desea ver esté anidado en un lote de texto
SQL. Para ayudarle a ver el procedimiento anidado, se han añadido columnas
a la tabla sysprocesses que especifican el identificador de objeto, número de
instrucción actual y número de línea de la instrucción actual del procedimiento
que está ejecutándose.
La tabla 5-14 muestra las columnas nuevas añadidas a la tabla sysprocesses.
Tabla 5-14: Columnas añadidas a sysprocesses
98
Nombre
de columna
Tipo
de datos
id
número
entero
Determina
El identificador del objeto del procedimiento en
ejecución; si el valor es 0, no se está ejecutando ningún
procedimiento.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Nombre
de columna
Tipo
de datos
linenum
número
entero
stmtnum
número
entero
Determina
El número de línea de la instrucción actual dentro del
procedimiento almacenado en ejecución o el número
de línea de la instrucción del lote SQL actual, si no se
está ejecutando ningún procedimiento.
El número de instrucción actual dentro del
procedimiento en ejecución o el número de instrucción
del lote SQL, si no se está ejecutando ningún
procedimiento.
Para obtener más información, consulte "Configuración de Adaptive Server
para el almacenamiento de texto SQL por lotes" en las páginas 4–17 del
Manual de administración del sistema.
Copia masiva paralela
La función de copia masiva paralela le permite copiar datos en paralelo
a Adaptive Server desde varios archivos. La copia masiva paralela aumenta el
rendimiento de forma considerable durante las sesiones bcp porque las tareas
de copia masiva de gran tamaño pueden dividirse en varias sesiones y ejecutarse
de forma simultánea.
Para poder copiar datos a la base de datos mediante la función de copia masiva
paralela, debe particionar la tabla que contendrá los datos. A continuación podrá
emitir varias sesiones bcp y cada sesión copiará sus datos de un archivo fuente
distinto a una partición distinta. Si está copiando datos de un archivo de sistema
operativo de gran tamaño, puede dividir este archivo en varios más pequeños
e iniciar varias sesiones de copia masiva paralelas.
La figura 5-2 muestra el funcionamiento de la función de copia masiva paralela.
99
Consultas paralelas y particiones mejoradas
Figura 5-2: Copia de datos en una tabla particionada mediante copia
masiva paralela
También puede utilizar los indicadores -F y -L para designar la primera y última
fila del mismo archivo de equipo para cada una de las sesiones de copia masiva
paralela.
Para obtener más información sobre la copia masiva paralela, consulte el
comando bcp en el el manual de utilidades para su plataforma.
Consultas paralelas y particiones mejoradas
Cuando configura Adaptive Server para la utilización de procesamiento de
consultas paralelas, el optimizador evalúa cada consulta para determinar si se
puede ejecutar de forma paralela. Si es así, la consulta se divide en componentes
que se procesan de forma simultánea. Los resultados se combinan y se envían
al cliente en un periodo de tiempo inferior al que supondría procesar las
consultas en serie como componentes individuales.
A fin de obtener el mismo rendimiento, el procesamiento de una consulta en
paralelo requiere que Adaptive Server trabaje más y utilizar recursos adicionales
que el procesamiento de la consulta en serie. También supone evaluar equilibrios
de recursos más complejos para obtener un rendimiento óptimo. El procesamiento
de consultas paralelas completamente activado requiere varios procesos,
motores y particiones, lo que tiene como consecuencia un mayor consumo
general para Adaptive Server, más requisitos de CPU y mayor E/S de disco.
100
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Puede configurar varios niveles de paralelismo, cada uno de los cuales supone
un beneficio de rendimiento y requiere un sacrificio en recursos físicos equivalente.
El Capítulo 13, "Introducción al procesamiento de consultas paralelas" del
Manual de rendimiento y mejoras introduce el modelo de procesamiento de
consultas paralelas de Adaptive Server y sus conceptos. También trata del
equilibrio entre recursos y las mejoras de rendimiento para los distintos niveles
de paralelismo.
Para obtener más
información
En el Manual de rendimiento y mejoras, consulte:
•
Capítulo 5, "Bloqueo en Adaptive Server", para obtener información sobre
el bloqueo en Adaptive Server para la ejecución de consultas paralelas.
•
Capítulo 9, "Planes de consulta", para obtener información sobre los
nuevos mensajes showplan añadidos para la ejecución de consultas
paralelas.
•
Capítulo 14, "Optimización de consultas paralelas", para obtener información
sobre cómo determina el optimizador de Adaptive Server la idoneidad
para la ejecución paralela.
•
Capítulo 15, "Ordenación paralela", para ver una introducción a los temas
de ordenación paralela.
•
Capítulo 17, "Control de la ubicación de datos físicos", para obtener
información sobre tablas particionadas, creación de índices agrupados en
tablas particionadas y procesamiento en paralelo.
En el Manual de administración del sistema, consulte:
•
Capítulo 11, "Definición de parámetros de configuración", para obtener
información sobre cómo configurar varios niveles de paralelismo, cada
uno de los cuales supone un beneficio de rendimiento y requiere el
sacrificio en recursos físicos equivalente.
Recuperación a un momento dado
La recuperación a un momento dado le permite recuperar una base de datos
mediante la confirmación de un momento dado en su diario de transacciones.
Para ello, utilice la opción until_time del comando load transaction.
101
Autorización proxy
Esta función resulta útil si, por ejemplo, un usuario elimina una tabla
importante de una base de datos por error, ya que puede utilizar la opción
until_time para recuperar los cambios realizados a dicha base de datos hasta el
momento justo antes de que se borrara la tabla.
Puede utilizar la recuperación a un momento dado en todas las bases de datos
que se pueden cargar y volcar. No obstante, no puede utilizarlo en bases de
datos en las que los datos y diarios estén en el mismo dispositivo, por ejemplo,
la base de datos master o cualquier base de datos, por ejemplo tempdb, cuyo
diario se haya trucado desde el último dump database.
Para obtener más información sobre la recuperación a un momento dado,
consulte "Carga de registros de transacción a un momento dado" en las páginas
21–44 del Manual de administración del sistema y el comando load transaction
en el Manual de consulta de Adaptive Server.
Autorización proxy
Adaptive Server proporciona una función de autorización proxy, que permite
a un usuario asumir la identidad de otro para todo el servidor. El oficial de
seguridad del sistema puede conceder esta capacidad de asumir el contexto de
seguridad de otro usuario a ciertos identificadores de login. Si un identificador
de login tiene permiso para utilizar autorización proxy, puede suplantar
a cualquier otro en Adaptive Server.
Advertencia: La capacidad de asumir la identidad de otro usuario es una
herramienta muy poderosa y debe limitarse de forma estricta. Los usuarios con
esta capacidad podrían asumir la identidad del usuario "sa", lo que les daría
poderes ilimitados dentro de Adaptive Server. Conceda este permiso sólo a
administradores y aplicaciones fiables y supervise su actividad en el servidor.
Un oficial de seguridad o administrador del sistema puede asumir los permisos
de otro usuario para verificar que éstos son los adecuados o para realizar tareas
de mantenimiento en los objetos de la base de datos del usuario.
Un servidor de aplicaciones puede utilizar la autorización proxy para iniciar
una sesión en Adaptive Server con un identificador genérico, que el servidor
utiliza para ejecutar procesos y comandos para varios usuarios.
102
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Un oficial de seguridad del sistema utiliza el comando grant set proxy o grant
set session authorization para conceder a un usuario permiso para utilizar la
autorización proxy. A continuación, con este permiso, el usuario puede ejecutar
los comandos set proxy o set session authorization para representar a otro
usuario. Los usuarios que ejecutan set proxy o set session authorization operan
con el identificador de login y servidor correspondiente al usuario al que
representan. El identificador de login y servidor está activo a lo largo de todo
el servidor en todas las bases de datos.
Nota: set proxy y set session authorization son idénticos en funciones y pueden
utilizarse de forma intercambiable. La única diferencia entre ellos es que set
session authorization es compatible con SQL92 y set proxy es una extensión de
Transact-SQL.
Para obtener más información sobre la autorización proxy, consulte el
Manual de administración de seguridad.
Aislamiento de fallos de recuperación
En las versiones anteriores, cuando la función de recuperación detectaba daños
en una base de datos, dejaba inaccesible toda la base de datos. La base de datos
quedaba inaccesible para todos los usuarios hasta que las páginas sospechosas
se reparasen o eliminasen de la misma.
Con el aislamiento de fallos de recuperación, el administrador del sistema tiene
la opción de aislar las páginas dañadas marcadas como sospechosas por la
recuperación mientras que el resto de la base de datos está disponible en línea
para todos los usuarios.
El aislamiento de fallos de recuperación aporta al administrador del sistema la
capacidad de:
•
Especificar si debe quedar inaccesible toda la base de datos o sólo las
páginas sospechosas cuando la recuperación detecte daños
•
Especificar si una base de datos con páginas sospechosas se pone en línea
en modo read_only
•
Enumerar las bases de datos con páginas sospechosas
•
Enumerar las páginas sospechosas por identificador de página, identificador
de índice y nombre de objeto
103
Aislamiento de fallos de recuperación
•
Poner las páginas sospechosas en línea para el administrador del sistema
mientras se reparan
•
Poner las páginas sospechosas en línea para todos los usuarios de la base
de datos una vez que se hayan reparado
La capacidad de aislar las páginas sospechosas mientras que el resto de la base
de datos está disponible en línea aporta un mayor grado de flexibilidad al
tratamiento de los datos dañados. Los problemas se pueden diagnosticar,
y a veces corregir, mientras que la mayor parte de la base de datos sigue
estando accesible a los usuarios. El alcance del daño puede evaluarse y pueden
planificarse reparaciones de emergencia para el momento más adecuado.
El administrador del sistema puede hacer que las páginas sin conexión pasen
a estar en línea de modo temporal, únicamente para su uso, para ayudarle en el
análisis y reparación de las páginas sospechosas.
El aislamiento de fallos de recuperación sólo se aplica a las bases de datos de
usuario. Las bases de datos de sistema quedan sin conexión en su totalidad si
tienen alguna página sospechosa.
Nuevos procedimientos de sistema
La tabla 5-15 enumera los nuevos procedimientos de sistema para el aislamiento
de fallos de recuperación:
Tabla 5-15: Procedimientos de sistema nuevos para el aislamiento de
fallos de recuperación
Procedimiento
de sistema
sp_forceonline_db
sp_forceonline_page
sp_listsuspect_db
sp_listsuspect_page
sp_setsuspect_granularity
sp_setsuspect_threshold
104
Descripción
Proporciona acceso a todas las páginas sospechosas
de una base de datos.
Proporciona acceso a una página sospechosa concreta.
Enumera todas las bases de datos que tienen páginas
marcadas como sospechosas por la recuperación.
Enumera todas las páginas de una base de datos que
están marcadas como sospechosas por la recuperación.
Muestra y define el modo de aislamiento de fallos de
recuperación. Este modo define si la recuperación
marca una base de datos como sospechosa en su
totalidad o sólo las páginas dañadas.
Define el número máximo de páginas sospechosas
que la recuperación permitirá en una base de datos
antes de marcar la base de datos como sospechosa en
su totalidad.
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Efectos secundarios del aislamiento de fallos de recuperación
•
Las transacciones que intenten obtener acceso a los datos sin conexión de
forma directa o indirecta fallarán.
•
No puede utilizar el comando dump database en una base de datos que
tenga páginas sin conexión. Esto impide a los usuarios volcar una base de
datos dañada.
•
No puede utilizar los comandos dump transaction with no_log o dump
transaction with truncate_only en una base de datos con páginas sin
conexión.
Para obtener más información sobre el aislamiento de fallos de recuperación,
consulte "Aislamiento de fallos durante la recuperación" en las páginas 20–7
del Manual de administración del sistema.
Política de sustitución de caché LRU flexible
La política de sustitución de caché LRU (least recently used, usado menos
recientemente) flexible es una función de mejora del rendimiento diseñada con
el fin de reducir los recursos de proceso en los cachés con nombre donde no
tenga lugar ninguna sustitución de buffer o ésta sea de muy poca importancia.
La política de sustitución LRU flexible elimina el consumo de vínculo del
caché necesario para los cachés mantenidos en modo MRU/LRU (usado más
recientemente/usado menos recientemente) La sustitución LRU flexible está
pensada para utilizarse cuando se cumplan las dos condiciones siguientes:
•
No existe sustitución de buffers en el caché o ésta es de muy poca importancia.
•
Los datos no se actualizan o se actualizan con muy poca frecuencia.
Además de ahorrar los recursos de proceso necesarios para mantener la cadena
MRU/LRU, la política de sustitución LRU flexible puede mejorar el rendimiento
de la unidad CPU en servidores con varias unidades CPU.
Consulte el Capítulo 9, "Configuración de cachés de datos", en el Manual de
administración del sistema para obtener información sobre la configuración de
cachés con el fin de utilizar la política de sustitución de caché LRU.
105
Límites de recursos
Consulte el Capítulo 16, "Utilización y rendimiento de la memoria", en el Manual
de rendimiento y mejoras para obtener información sobre cómo seleccionar
cachés para los que la política de sustitución LRU flexible pueda mejorar el
rendimiento.
Límites de recursos
Adaptive Server proporciona límites de recursos para ayudar a los administradores
del sistema a impedir que las consultas y transacciones monopolicen los
recursos del servidor. Un límite de recurso es un grupo de parámetros
especificado por un administrador del sistema para impedir que un identificador
de login o aplicación concreta:
•
Exceda los costes de E/S estimados o reales, determinados por el optimizador
•
Devuelva más de un número concreto de filas
•
Supere un tiempo transcurrido determinado
El grupo de parámetros para el límite de recursos incluye la hora del día en la
que entra en vigor el límite y el tipo de acción que se va a realizar. Por ejemplo,
puede impedir que se ejecuten informes de gran tamaño durante las horas
críticas del día o interrumpir una sesión cuya consulta genere productos
cartesianos no deseados.
Para especificar horas del día o la semana, puede crear intervalos de tiempo
concretos. Un intervalo de tiempo es un bloque continuo de tiempo dentro del
mismo día o a lo largo de uno o más días contiguos de la semana. Lo definen
sus periodos de inicio y fin. Los días contiguos de la semana pueden abarcar el
final de una y el comienzo de la siguiente.
Adaptive Server incluye un intervalo de tiempo predefinido, el intervalo "at all
times", que abarca el periodo de medianoche a medianoche, de lunes a domingo.
Puede crear, modificar y eliminar otros intervalos de tiempo necesarios para los
límites de recursos.
Para obtener más información sobre límites de recursos, consulte el Capítulo 12,
"Limitación del acceso a los recursos del servidor", del Manual de
administración del sistema.
106
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Nuevos procedimientos de sistema
Los procedimientos de sistema de la tabla 5-16 se han añadido para la función
de límites de recursos.
Tabla 5-16: Nuevos procedimientos de sistema para límites de recursos
Procedimiento
de sistema
sp_add_resource_limit
Descripción
Crea un límite de recursos.
sp_add_time_range
Crea un intervalo de tiempo con nombre.
sp_configure
"allow resource limits"
sp_drop_resource_limit
sp_drop_time_range
sp_help_resource_limit
sp_modify_resource_limit
sp_modify_time_range
Apunta al servidor que asigne memoria interna para
intervalos de tiempo, límites de recursos y alarmas
internas de servidor. También apunta al servidor que
asigne internamente los intervalos y límites
correspondientes a las sesiones de usuario. Cuando
esta opción tiene el valor 1 (activada), sp_configure
muestra el coste estimado del optimizador para una
consulta. El valor predeterminado es 0 (desactivada).
Elimina un límite de recursos.
Elimina un intervalo de tiempo con nombre.
Muestra los límites de recursos del servidor actual.
Modifica un límite de recursos.
Modifica un intervalo de tiempo con nombre.
Comandos compatibles
Los siguientes comandos son compatibles con la función de límites de
recursos:
•
set showplan
•
set statistics io
•
statistics time
•
select @@rowcount
107
Verificación y cifrado de texto fuente
Verificación y cifrado de texto fuente
En versiones anteriores a Adaptive Server 11.5, el texto fuente de los objetos
compilados se guardaba en syscomments, con el fin de que pudiese devolverse
a un usuario que ejecutara sp_helptext. Dado que ésta era la única razón para
guardar el texto fuente, los usuarios normalmente lo borraban para ahorrar
espacio en el disco y eliminar información confidencial de esta zona pública.
En Adaptive Server 11.5, no debe eliminar el texto fuente de syscomments. La
eliminación de texto fuente de syscomments ocasionará problemas a la hora de
actualizar a la siguiente versión de Adaptive Server. El proceso de actualización
de versiones futuras de Adaptive Server necesitará que el texto fuente de los
objetos compilados esté presente en syscomments en el momento de la
actualización. Antes de actualizar a la siguiente versión de Adaptive Server,
debe restaurar el texto fuente que falta en syscomments.
Puede utilizar el procedimiento de sistema sp_checksource para verificar que
el texto fuente está presente en syscomments por cada objeto compilado. Para
impedir que otros usuarios puedan ver el texto fuente de syscomments, puede
cifrarlo mediante el procedimiento de sistema sp_hidetext.
Para obtener más información, consulte "Objetos compilados" en las páginas 1–3
del Manual del usuario de Transact-SQL. Consulte también los procedimientos
sp_checksource y sp_hidetext en el Manual de consulta de Adaptive Server.
Sybase Central
Con el lanzamiento de Adaptive Server, Sybase ya no suministra SQL Server
Manager, que se ha sustituido por Sybase Central™, la interfaz de administración
común de Sybase y el complemento Adaptive Server Enterprise para Sybase
Central.
El complemento Adaptive Server para Sybase Central le permite administrar
las instalaciones de Adaptive Server mediante la herramienta gráfica de
administración Sybase Central. Puede administrar los servidores Adaptive
Server que se ejecuten en cualquier plataforma desde un equipo con los
sistemas operativos Windows 95 o Windows NT.
Para aprender a utilizar Sybase Central a fin de administrar Adaptive Server,
consulte Administración y control de Sybase Adaptive Server Enterprise.
108
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
sp_sysmon
sp_sysmon es compatible con las nuevas funciones de mejora de rendimiento
de la versión 11.5, incluidas las siguientes nuevas secciones del informe
sp_sysmon:
•
Administración de cola de aplicaciones
•
Uso de recuperación previa asíncrona
•
Administración de caché de metadatos
•
Control del acceso a SQL en ejecución
•
Administración de consultas paralelas
•
Administración de procesos de trabajo
La sintaxis para sp_sysmon se ha modificado:
•
Puede especificar el intervalo mediante la fórmula "hh:mm:ss".
•
Puede utilizar el argumento begin_sample para iniciar sp_sysmon que
continuará supervisando hasta que utilice end_sample para imprimir el
informe.
•
Puede imprimir sólo una sección del informe a la vez. Este ejemplo
especifica un intervalo de 15 minutos e imprime sólo la sección de
administración de caché de datos:
sp_sysmon "00:15:00, dcache
Para obtener más información, consulte el Capítulo 24, "Control del
rendimiento con sp_sysmon" en el Manual de rendimiento y mejoras.
Mejoras de ejecución en dos fases
El protocolo de ejecución en dos fases permite a las aplicaciones cliente
coordinar las actualizaciones de transacciones en dos o más servidores
Adaptive Server y considera estas transacciones como una sola. La ejecución
en dos fases garantiza que se actualicen todas o ninguna de las bases de datos
en los servidores Adaptive Server que participan.
109
Mejoras de ejecución en dos fases
Las mejoras de ejecución en dos fases son:
•
Mejor administración de espacio y diario: la tabla spt_committab ha pasado
de la base de datos master a una base de datos de sistema nueva, sybsystemdb.
•
Rendimiento mejorado: puede utilizar un valor aleatorio para el
identificador de la ejecución – commid.
spt_comittab ha pasado a sybsystemdb
La tabla spt_committab en Adaptive Server almacena información y realiza un
seguimiento del estado de finalización de todas las transacciones con ejecución
en dos fases. Todas las actividades realizadas sobre spt_committab quedan
registradas. Antes de la versión 11.5, spt_committab residía en la base de datos
master. No obstante, la actividad de registro en spt_committab para las
transacciones con ejecución en dos fases puede ocupar el diario de
transacciones de master, lo que puede generar problemas frecuentes de
administración de espacio.
En la versión 11.5, la tabla spt_committab reside en una base de datos nueva
denominada sybsystemdb, en vez de la base de datos master. El hecho de que
spt_committab cuente con su propia base de datos facilita la administración y
recuperación de espacio para las transacciones con ejecución en dos fases, por
dos motivos:
•
El comando dump tran puede utilizarse sobre sybsystemdb.
•
A diferencia de la base de datos master, la base de datos sybsystemdb es
ampliable.
El identificador de la ejecución ha cambiado a un valor aleatorio
El valor del identificador de la ejecución, commid en la tabla spt_committab, se
ha convertido en un valor aleatorio (entre 1 y 2.147.483.647 (231–1), en lugar
de ser un valor que se incrementa de forma monótona. Con ello se reducen los
conflictos de bloqueo de páginas en la fila donde reside el commid máximo
cuando varias transacciones distribuidas intentan insertar una entrada en la
tabla spt_committab. spt_committab sigue teniendo un índice agrupado único.
Para obtener información sobre la configuración de Adaptive Server para la
función de ejecución en dos fases, consulte la documentación de configuración
de Adaptive Server correspondiente a su plataforma.
110
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Roles definidos por el usuario
La función de roles definidos por el usuario permite al oficial de seguridad del
sistema simplificar la tarea de conceder e impedir el acceso a los datos.
El oficial de seguridad del sistema puede crear roles, solicitar a los propietarios
de objetos que concedan privilegios a cada rol y conceder los roles definidos
por el usuario a empleados concretos, según las funciones que desempeñen en
la organización. El oficial de seguridad del sistema también puede revocar los
roles definidos por el usuario concedidos al empleado.
Para obtener más información sobre los roles definidos por el usuario, consulte
el Manual de administración de seguridad.
Integración de Registro de eventos de Windows NT
Esta versión ha ampliado las opciones de registro de errores de Adaptive
Server en el Registro de eventos de Windows NT. Esta función se suma al
registro automático en el diario de errores de Adaptive Server. Esta opción sólo
está disponible en servidores de Windows NT.
La opción de Windows NT de registro de eventos de mensajes de Adaptive
Server está activada de forma predeterminada, aunque puede desactivarla si
define un valor de 0 para el parámetro de configuración event logging. También
puede especificar que un equipo Windows NT remoto reciba el diario de
eventos si define el nombre del equipo remoto como el parámetro de
configuración event log computer name.
Esta función proporciona un procedimiento almacenado extendido que puede
utilizar para registrar eventos definidos por el usuario en el Registro de eventos
de Windows NT desde Adaptive Server. Consulte sp_logdevice en el Manual
de consulta de Adaptive Server.
111
Compatibilidad con la interfaz MAPI de Windows NT
Procedimientos de sistema y procedimientos almacenados
extendidos compatibles
Los siguientes procedimientos ESP de sistema y parámetros sp_configure
admiten la función de integración de registro de eventos de Windows NT.
Tabla 5-17: Compatibilidad de sistema para la integración con el
registro de eventos de Windows NT
Procedimiento
Descripción
xp_logevent
Procedimiento ESP definido por el sistema que
registra un evento definido por el usuario en el
Registro de eventos de Windows NT.
sp_configure
"event log computer name"
"event logging"
Especifica el nombre del equipo Windows NT que
registra los mensajes de Adaptive Server en el
Registro de eventos de Windows NT.
Activa y desactiva el registro de mensajes de
Adaptive Server en el Registro de eventos de
Windows NT.
Compatibilidad con la interfaz MAPI de Windows NT
Sybase Adaptive Server Enterprise para Windows NT puede enviar y recibir
mensajes de correo electrónico mediante la interfaz MAPI (Message Application
Programming Interface) de Microsoft. Esta función, denominada Sybmail,
sólo está disponible para Windows NT en este momento.
Adaptive Server puede enviar mensajes de salida que estén formados por texto
o resultados de consultas. Adaptive Server puede recibir consultas como
mensajes de entrada.
Para utilizar Sybmail, Adaptive Server debe tener una cuenta de correo de
Windows NT y un perfil de correo de Windows NT. Sybmail también debe
tener un identificador de login en Adaptive Server.
Consulte la información relativa a la configuración y utilización de Sybmail en
Configuración de Adaptive Server para Windows NT.
112
CAPÍTULO 5 Nuevas funciones en Adaptive Server versión 11.5
Procedimientos de sistema y procedimientos almacenados
extendidos compatibles
Los siguientes procedimientos de sistema y ESP de sistema admiten la función
MAPI de Windows NT:
Tabla 5-18: Compatibilidad con la interfaz MAPI de Windows NT
Procedimiento
Descripción
sp_configure
"start mail session"
sp_processmail
Activa y desactiva el inicio automático de una sesión de
correo de Adaptive Server cuando se inicia Adaptive
Server.
Lee, envía y elimina mensajes de la bandeja de entrada de
Adaptive Server. Disponible sólo en Windows NT.
xp_deletemail
Elimina un mensaje de la bandeja de entrada de Adaptive
Server.
xp_findnextmsg
Recupera el identificador del siguiente mensaje en la
bandeja de entrada de Adaptive Server.
xp_readmail
xp_startmail
Lee un mensaje de la bandeja de entrada de Adaptive
Server.
Envía un mensaje a los destinatarios especificados
mediante la interfaz MAPI.
Inicia una sesión de correo de Adaptive Server.
xp_stopmail
Detiene una sesión de correo de Adaptive Server.
xp_sendmail
Para obtener más información sobre los procedimientos ESP definidos por el
sistema, consulte el Capítulo 5, "Procedimientos almacenados extendidos de
sistema", en el Manual de consulta de Adaptive Server.
Integración del Monitor de rendimiento de Windows NT
Puede activar y desactivar la posibilidad de controlar las estadísticas de
Adaptive Server desde el Monitor de rendimiento de Windows NT mediante la
definición del parámetro de configuración SQL Perfmon integration. Este
parámetro se aplica sólo a servidores de Windows NT.
113
Integración del Monitor de rendimiento de Windows NT
Adaptive Server debe registrarse como servicio NT para admitir la integración
con el monitor de rendimiento. Esto ocurre de forma automática cuando inicia
Adaptive Server mediante Sybase Central, el Administrador de servicios o la
opción Servicios del Panel de control, así como cuando ha configurado
Windows NT para que inicie Adaptive Server como servicio automático.
Para obtener más información sobre el Monitor de rendimiento de Windows NT,
consulte el Capítulo 9, "Tareas administrativas y rendimiento y mejoras", en el
Configuración de Adaptive Server para Windows NT.
Procedimiento de sistema compatible
El siguiente parámetro de configuración sp_configure admite la función
Integración del Monitor de rendimiento de Windows NT.
Tabla 5-19: Compatibilidad con el Monitor de rendimiento
de Windows NT
Procedimiento
Descripción
sp_configure
"SQL Perfmon Integration"
114
Activa y desactiva la posibilidad de supervisar las
estadísticas de Adaptive Server desde el Monitor de
rendimiento de Windows NT.
CA P Í TUL O
6
Nuevas funciones de SQL Server
versión 11.0
En este capítulo se describen las funciones y modificaciones del sistema
introducidas en SQL Server versión 11.0. Si se actualiza a la versión 11.5
desde una versión anterior a la 11.0, estas funciones le resultarán nuevas.
Se cubren los siguientes temas:
•
"Nuevas funciones de la versión 11.0", en la página 115
•
"Cambios del sistema en la versión 11.0", en la página 133
•
"Cambios que pueden afectar a las aplicaciones existentes", en la
página 138
Nuevas funciones de la versión 11.0
Las nuevas funciones de la versión 11.0 son las siguientes:
•
"Cachés definidos por el usuario", en la página 116
•
"Cambios en el almacenamiento de datos", en la página 119
•
"Cambios del diario de transacciones", en la página 122
•
"Nivel 0 de aislamiento", en la página 123
•
"Cambios del administrador de bloqueos", en la página 124
•
"Tarea housekeeper", en la página 126
•
"Configuración de SQL Server", en la página 127
•
"Promoción de bloqueos", en la página 128
•
"Motores múltiples de red", en la página 128
•
"Mejoras introducidas en showplan", en la página 128
•
"Cambios introducidos en las consultas y la modificación de datos",
en la página 130
115
Nuevas funciones de la versión 11.0
•
"Actualización de los volcados de base de datos", en la página 130
•
"Determinación del dispositivo de cinta por Backup Server", en la
página 131
•
"Cambios en la columna IDENTITY", en la página 132
•
"Nuevas variables globales text e image", en la página 133
Cachés definidos por el usuario
La versión 11.0 permite que los administradores del sistema dividan el caché
de datos de SQL Server en cachés de datos con nombres diferentes, y enlazar
bases de datos u objetos de base de datos a los mismos. Asimismo, los
administradores del sistema pueden crear bancos dentro de los cachés que
realizan E/S grande al disco, por lo que mejora el rendimiento de muchas
consultas.
Configuración de cachés
Los cachés de datos con nombre se crean con el nuevo procedimiento del
sistema sp_cacheconfig. Los bancos de memoria para E/S grande se configuran
dentro de los cachés de datos con sp_poolconfig. También se pueden configurar
los cachés y los bancos mediante la edición de un archivo de configuración.
Las entidades se enlazan a los cachés con sp_bindcache y se desenlazan con
sp_unbindcache o sp_unbindcache_all. El procedimiento del sistema sp_helpcache
proporciona información sobre los cachés y los enlaces de caché. sp_cacheconfig
también proporciona información sobre los cachés y los bancos dentro de éstos.
Consulte el Capítulo 9, "Configuración de cachés de datos", del Manual de
administración del sistema para obtener instrucciones sobre la configuración
de cachés con nombre y el enlace de objetos de base de datos a ellos.
Enlace de objetos a cachés definidos por el usuario
En general, puede incrementar el rendimiento al enlazar los siguientes objetos
a sus propios cachés con nombre:
•
La tabla sysindexes y su índice
Enlace estos dos objetos al mismo caché con nombre. Esta tabla y su
índice son los utilizados con mayor frecuencia. No obstante, no tiene que
hacer excesivamente grande su caché con nombre.
116
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
•
La tabla syslogs
Le ayuda a reducir la contención de los bloqueos de bucle de la
administración del búfer. También debería configurar un banco de
memoria de 4 K en el caché con nombre para beneficiarse del tamaño de
E/S elevado, como se define en sp_logiosize.
•
Base de datos tempdb
Esto le ayuda en el rendimiento si las aplicaciones generan muchas tablas
temporales o de trabajo.
Además de los objetos anteriores, las tablas y los índices utilizados con mayor
frecuencia (basado en los diseños de su base de datos y aplicaciones) son
buenos candidatos para enlazarlos a sus propios cachés. No obstante, si sólo
tiene una tabla sin índice, no se mejorará el rendimiento al enlazarla con un
caché con nombre.
Nota: En general, no es una buena idea tener demasiados cachés con nombre
sin aumentar la memoria total disponible para el servidor. Cada caché con
nombre adicional reduce la cantidad de memoria disponible en el caché
predeterminado.
Estrategias de caché
SQL Server versión 11.0 proporciona nuevas estrategias de optimización y
nuevos comandos para controlar la utilización de esas estrategias con los
objetos, sesiones y consultas. La figura 6-1 muestra las dos estrategias de
caché.
Figura 6-1: Opciones de estrategia de caché
117
Nuevas funciones de la versión 11.0
SQL Server puede:
•
Leer las páginas al comienzo de la cadena MRU (utilizada más recientemente)
para mantener las páginas en caché, de manera que se pueda acceder
a ellas muchas veces sin realizar E/S adicional
•
Leer las páginas cerca del final del caché para que no fuercen otras páginas
fuera del caché.
Consulte el Capítulo 16, "Utilización y rendimiento de la memoria", del
Manual de rendimiento y mejoras para obtener información sobre el
rendimiento con las estrategias de caché.
E/S grande
Cuando se crean los cachés, todo el espacio se le asigna a un banco de 2 K. Se
puede dividir este banco para permitir que el caché realice E/S grande, leyendo
hasta ocho páginas de datos simultáneamente. Como la mayor parte del tiempo
de E/S se pasa en la realización de operaciones de cola, búsqueda y
posicionamiento, una E/S grande puede mejorar apreciablemente el rendimiento
para las consultas que buscan tablas enteras o rangos de tablas.
SQL Server puede también realizar E/S grande en el diario de transacciones.
Cambio del tamaño de E/S de diario
Utilizando el nuevo procedimiento del sistema sp_logiosize , puede cambiar el
tamaño de E/S de diario que utiliza SQL Server. Esto puede mejorar el
rendimiento al reducirse el número de veces que SQL Server escribe páginas
del diario de transacciones en el disco. El valor que especifique para sp_logiosize
debe corresponderse a un banco de memoria existente configurado para el
caché utilizado por el diario de transacciones de la base de datos.
Como valor predeterminado, SQL Server define el tamaño de E/S de diario de
una base de datos como 4 K. Si el diario de transacciones de una base de datos
está enlazado con el caché predeterminado o un caché definido por el usuario
que no contenga un banco de memoria de 4 K, SQL Server define un tamaño
de E/S de diario de 2 K (en cualquier caché siempre existe un banco de
memoria de 2 K). Para la mayoría de las cargas de trabajo, un tamaño de E/S
de diario de 4 K rinde mucho mejor que uno de 2 K, así que cada caché que se
utilice en un diario de transacciones debería tener un banco de memoria de 4 K.
118
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Nuevas opciones de mejora de consulta
Las nuevas opciones de mejora de consulta admiten las funciones de los cachés
con nombre y proporcionan control adicional al mejorar las consultas:
•
El comando set forceplan on fuerza a que SQL Server una las tablas en una
consulta en el orden en el que aparecen en la lista de la cláusula from.
•
El comando set table count le permite especificar el número de tablas que
se consideran cuando se optimizan las uniones.
•
El nuevo procedimiento del sistema sp_cachestrategy desactiva y
reactiva las estrategias de caché y la E/S grande para objetos individuales.
•
Las nuevas cláusulas para los comandos select, delete e insert le permiten
especificar el índice, la estrategia de caché y el tamaño de E/S para una
consulta.
•
El comando set prefetch le permite habilitar o deshabilitar E/S grande para
una sesión.
Consulte el Capítulo 10, "Técnicas de optimización avanzadas", del Manual de
mejoras y rendimiento para obtener información sobre las opciones de
procesamiento de consulta que controlan las estrategias de caché y el tamaño
de E/S.
Cambios en el almacenamiento de datos
Esta sección describe los cambios en el modo en que SQL Server almacena los
datos.
Número máximo de filas por página
Ahora puede configurar el número máximo de filas por página que se almacenan
en una página de datos o en una página de hoja de índice. El valor
max_rows_per_page especificado en un comando create table, create index
o alter table restringe el número de filas permitidas en una página de datos, una
página de hoja de índice agrupado o una página de hoja de índice no agrupado.
Esto reduce la contención de bloqueo y mejora la concurrencia para tablas a las
que se accede con frecuencia.
El valor max_rows_per_page se aplica a las páginas de datos de una tabla sin
índice o a las páginas de hojas de un índice. El valor de max_rows_per_page
se almacena en la columna maxrowsperpage de sysindexes. (La columna
maxrowsperpage se denominaba rowpage en versiones anteriores de SQL Server.)
119
Nuevas funciones de la versión 11.0
A diferencia de fillfactor, que no se mantiene después de crear una tabla o un
índice, SQL Server retiene el valor max_rows_per_page cuando añade
o elimina filas. Para obtener información sobre la utilización de
max_rows_per_page para reducir la contención de bloqueo y mejorar la
concurrencia del servidor, consulte el Manual de rendimiento y mejoras.
Asignación de páginas
SQL Server 10.0 y versiones anteriores buscaban en la cadena de páginas
OAM páginas sin utilizar antes de asignar nuevas extents a un objeto. La
versión 11.0 proporciona un parámetro de configuración para todo el sistema,
page utilization percent, que permite que SQL Server asigne una nueva extent a
un objeto sin buscar en la cadena de páginas OAM, dependiendo de la proporción
de páginas usadas y no usadas de la tabla con las extents asignadas a la tabla.
Tablas con particiones
Nota: 11.5 Nota: La versión 11.5 añade la capacidad de buscar en tablas con
particiones en paralelo y crear índices agrupados.
De manera predeterminada, SQL Server almacena los datos de una tabla de
pila en una cadena doble de páginas de base de datos. Cuando una transacción
inserta una fila en una tabla, mantiene un bloqueo exclusivo de página en la
última página de la cadena de páginas mientras se inserta la fila. Cuando varias
transacciones intentan insertar filas en la misma tabla de manera simultánea,
puede haber problemas de rendimiento. Como sólo una transacción puede
obtener un bloqueo exclusivo de la última página en un momento dado, otras
transacciones de inserción simultáneas se bloquean, como se muestra en la
figura 6-2.
Figura 6-2: Contención de página durante la inserción
120
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
En la versión 11.0, SQL Server proporciona la capacidad de hacer particiones
de las tablas de pila. Una partición es sólo un nombre diferente para una
cadena de páginas. La partición de una tabla crea varias cadenas de página
(particiones) para la tabla y, por ello, varias páginas últimas para las operaciones
de inserción.
Cuando una transacción inserta datos en una tabla con particiones, SQL Server
asigna la transacción aleatoriamente a una de las particiones de la tabla. Las
inserciones simultáneas tienen menos probabilidades de bloquearse, ya que
hay varias últimas páginas disponibles para las inserciones, como se muestra
en la figura 6-3.
Figura 6-3: Solución de la contención de páginas con particiones
Si el segmento de una tabla ocupa varios discos físicos, SQL Server distribuye
las particiones de la tabla entre dichos discos cuando las crea. Esto puede
mejorar el rendimiento E/S cuando SQL Server escribe los datos del caché al
disco. Ya que la E/S se distribuye entre varios dispositivos.
SQL Server versión 11.0 administra tablas con particiones de manera transparente
a los usuarios y aplicaciones. Las tablas con particiones tienen exactamente el
mismo aspecto que las que no las tienen, excepto cuando se accede a ellas
mediante los comandos dbcc checktable y dbcc checkdb o cuando se las ve con
el nuevo procedimiento sp_helpartition.
Consulte el Capítulo 17, "Control de la ubicación de datos físicos" del Manual
de rendimiento y mejoras para obtener información sobre cómo crear
y administrar tablas con particiones.
121
Nuevas funciones de la versión 11.0
Cambios del diario de transacciones
Esta sección describe los cambios introducidos en el diario de transacciones en
la versión 11.0.
Cachés de diario de usuario
Existe un caché de diario de usuario para cada conexión de usuario configurada.
SQL Server utiliza estos cachés de diario de usuario para almacenar en búfer
los registros del diario de transacciones del usuario, lo que reduce la contención
al final del diario de transacciones. Cuando se llena el caché del diario del
usuario o cuando sucede otro evento (como cuando se finaliza la transacción),
SQL Server "vacía" todos los registros del caché de diario del usuario en el
diario de transacciones de la base de datos. Puede configurar el tamaño de los
cachés de diario de usuario para el servidor con el parámetro user log cache size
de sp_configure; el tamaño predeterminado es de 2048 bytes.
Como más de un proceso puede acceder al contenido del caché de diario de un
usuario para determinar un posible "vaciado", SQL Server utiliza bloqueos de
bucle para proteger los cachés de diario de usuario. Un spinlock es un mecanismo
interno de bloqueo que impide que un segundo proceso acceda a la estructura
de datos mientras la utiliza un primer proceso. SQL Server utiliza el parámetro
user log cache spinlock ratio de sp_configure para especificar la proporción de
cachés de diario de usuario por bloque de bucle de caché de diario de usuario;
el valor predeterminado es de 20 cachés de diario de usuario por cada spinlock.
Para obtener información sobre la configuración de user log cache size y user
log cache spinlock ratio, consulte el Capítulo 11, "Definición de los parámetros
de configuración", del Manual de administración del sistema.
Tabla syslogshold
Puede consultar la nueva tabla del sistema syslogshold para determinar la
transacción activa más antigua de cada base de datos. syslogshold existe en la
base de datos master, y cada fila de la tabla representa:
122
•
La transacción activa más antigua de la base de datos, o
•
El punto de truncado de Replication Server® para el diario de la base de
datos.
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Una base de datos puede no tener filas en syslogshold, una fila que represente
una de las opciones anteriores, o dos filas que representen ambas opciones.
Para obtener información sobre cómo el punto de truncado de Replication
Server afecta el truncado del diario de transacciones de una base de datos,
consulte la documentación de Replication Server.
Las consultas a syslogshold le pueden ayudar cuando el diario de transacciones
está demasiado lleno, a pesar de los volcados frecuentes de diario. El comando
dump transaction trunca el diario eliminando todas las páginas del principio del
mismo hasta la página anterior a la que contiene el registro de una transacción
sin confirmar (la transacción activa más antigua). Cuanto mayor tiempo
permanezca sin confirmar esta transacción activa, menor será el espacio
disponible en el diario de transacciones, ya que dump transaction no puede
truncar páginas adicionales.
Para obtener información sobre cómo consultar syslogshold para determinar la
transacción activa más antigua que retiene los volcados de transacciones,
consulte el Capítulo 21, "Copia de seguridad y restauración de bases de datos
de usuario", del Manual de administración del sistema.
Nivel 0 de aislamiento
Puede especificar un nivel 0 de aislamiento para las consultas en las
transacciones, además de los niveles 1 y 3 de aislamiento admitidos por la
versión 10.0. El nivel 0 de aislamiento impide que otras transacciones modifiquen
datos ya modificados por una transacción sin confirmar. Se bloquea las otras
transacciones de modificación de datos hasta que se confirma la transacción.
No obstante, las otras transacciones aún pueden leer los datos sin confirmar
(lo que se conoce como lectura sucia).
Las consultas que se ejecutan al nivel 0 de aislamiento no adquieren ningún
bloqueo de lectura para sus búsquedas, por lo que no bloquean otras transacciones
de escritura en los mismos datos, y viceversa. Las aplicaciones que no sufren
el impacto de las lecturas sucias pueden tener mejor concurrencia y menos
interbloqueos cuando acceden a los mismos datos utilizando el nivel 0 de
aislamiento. No obstante, las transacciones que requieran consistencia de datos
no deberían utilizar el nivel 0 de aislamiento.
Puede especificar un nivel 0 de aislamiento para las transacciones de una
sesión de la siguiente manera:
set transaction isolation level 0
123
Nuevas funciones de la versión 11.0
Como este comando hace que todas las consultas se ejecuten al nivel 0 de
aislamiento, sea cauteloso a la hora de utilizarlo con una transacción que
requiera consistencia de datos. En vez de esto, puede elegir selectivamente
el nivel 0 de aislamiento para una consulta en una transacción utilizando la
cláusula at isolation de la siguiente manera:
select *
from titles
at isolation read uncommitted
Para obtener información sobre las transacciones y los niveles de aislamiento,
consulte el Capítulo 18, "Transactions: Maintaining Data Consistency and
Recovery", del Manual del usuario de Transact-SQL.
Cambios del administrador de bloqueos
Esta sección describe los cambios en el comportamiento de bloqueo.
Tablas de bloqueo de tabla, página y dirección
SQL Server administra la adquisición y liberación de los bloqueos de tabla
utilizando una tabla hash interna con 101 filas (conocidas como depósitos
hash) y la de los bloqueos de página y dirección mediante tablas hash internas
con 1031 filas cada una. En la versión 11.0, estas tablas utilizan uno o más
bloqueos de bucle para serializar el acceso entre procesos que se ejecutan en
diferentes motores. Un spinlock es un mecanismo interno de bloqueo que
impide que un segundo proceso acceda al recurso que utiliza un primer proceso.
Todos los procesos que intenten acceder al recurso deben esperar (en bucle)
hasta que se libera el bloqueo.
Para los SQL Servers que funcionan con varios motores, puede definir el
promedio de bloqueos de bucle que protegen cada tabla hash con los parámetros
de configuración table lock spinlock ratio, page lock spinlock ratio y address lock
spinlock ratio. Los bloqueos de tabla de la tabla hash tienen un promedio
predeterminado de 20 filas para cada spinlock, y los bloqueos de página
o dirección de la tabla hash tienen un promedio predeterminado de 100 filas
por cada spinlock. Un SQL Server que esté configurado con un motor único
sólo tiene un spinlock para cada tabla hash, independientemente de los valores
especificados en estos parámetros.
Para obtener información sobre cómo configurar los parámetros table lock
spinlock ratio, page lock spinlock ratio y address lock spinlock ratio, consulte el
Capítulo 11, "Definición de los parámetros de configuración", del Manual de
administración del sistema.
124
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Comprobación de interbloqueo
SQL Server realiza una comprobación de interbloqueo tras un periodo mínimo
de tiempo para cada proceso que esté en espera de que se libere un bloqueo.
De manera predeterminada, este periodo mínimo de tiempo es de 500 ms.
Las versiones anteriores de SQL Server realizan está comprobación de
interbloqueo en el momento en el que el proceso empieza a esperar por un
bloqueo. Esta comprobación de interbloqueo es un proceso que requiere mucho
tiempo para las aplicaciones que esperan sin un interbloqueo.
Puede modificar la cantidad mínima de tiempo (en milisegundos) que un
proceso debe esperar hasta que inicia una comprobación de interbloqueo con
el parámetro de configuración deadlock checking period. Si espera que sus
aplicaciones se interbloqueen con poca frecuencia, puede retrasar la
comprobación de interbloqueo aún más y reducir el coste del proceso general.
No obstante, la configuración de deadlock checking period con un valor más
alto produce retrasos mayores antes de que se detecten los interbloqueos.
Para obtener información sobre la comprobación de interbloqueo, consulte el
Capítulo 5, "Bloqueo en Adaptive Server", del Manual de rendimiento y
mejoras.
Nuevas listas de bloqueos disponibles de motor
En la versión 11.0, cuando un proceso que se ejecuta en un SQL Server de
varios motores solicita un bloqueo, lo busca en la lista de bloqueos disponibles
del motor. Si en la lista de bloqueos disponibles del motor no queda ninguno,
SQL Server desplaza un determinado número de bloqueos desde la lista global
de bloqueos disponibles a la del motor. Para los SQL Servers de un solo motor,
se transfiere la lista global de bloqueos disponibles a la del motor cuando se
inicia el servidor.
Una vez que un motor completa un proceso, todos los bloqueos mantenidos por
el mismo se liberan y se devuelven a la lista de bloqueos disponibles de ese
motor. Esto reduce la contención de cada motor que accede a la lista global de
bloqueos disponibles. No obstante, si el número de bloqueos liberados al motor
excede el número de bloqueos permitidos en la lista de bloqueos disponibles
del motor, SQL Server desplaza un número de bloqueos a la lista global de
bloqueos disponibles. Esto repone el número de bloqueos disponibles para
otros motores desde la lista global.
125
Nuevas funciones de la versión 11.0
Puede configurar el número máximo de bloqueos disponibles para las listas de
bloqueos disponibles de motor como un porcentaje del número total de
bloqueos disponibles en el servidor con el parámetro de configuración max
engine freelocks. También puede configurar el número de bloqueos que se
transfieren entre las listas de bloqueos disponibles global y del motor con el
parámetro freelock transfer block size. Para obtener información sobre estos
parámetros, consulte el Capítulo 11, "Definición de los parámetros de
configuración", del Manual de administración del sistema.
Aumento de las listas de bloqueos disponibles de motor
La lista de bloqueos disponibles de cada motor representa una parte de la lista
global de bloqueos disponibles asignados a los motores, definida por el
parámetro de configuración max engines freelocks como un porcentaje del
número total de bloqueos. Como valor predeterminado, SQL Server asigna un
10 por ciento del número total de bloqueos a las listas de bloqueos disponibles
de todos los motores, y el número restante permanece en la lista global de
bloqueos disponibles. Por ejemplo, si el servidor está configurado con 5000
bloqueos, 500 se distribuyen en partes iguales entre las listas de bloqueos
disponibles del motor y los 4500 restantes permanecen en la lista global de
bloqueos disponibles.
Para la mayoría de las configuraciones de SQL Server, puede doblar el
porcentaje de bloqueos asignados a las listas de bloqueos disponibles del motor
y mejorar el rendimiento de las aplicaciones.
Tarea housekeeper
Cuando SQL Server no tiene tareas de usuarios que procesar, un proceso
housekeeper comienza automáticamente a escribir los búferes modificados del
caché al disco. Como estas escrituras se hacen en los ciclos de inactividad del
servidor, se conocen con el nombre de escrituras libres.
Los beneficios del proceso housekeeper son los siguientes:
126
•
Utilización mejorada de la CPU
•
Disminución de la necesidad de limpieza de búfer durante el procesamiento
de transacciones
•
Checkpoints más rápidos
•
Tiempo de recuperación menor
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
En aplicaciones que actualizan la misma página de datos de la base de datos
constantemente, la tarea housekeeper puede iniciar algunas escrituras de base
de datos innecesariamente. Los administradores del sistema pueden utilizar el
parámetro de configuración housekeeper free write percentage para deshabilitar
la tarea housekeeper o controlar sus efectos secundarios.
Para obtener información adicional sobre la tarea housekeeper, consulte el
Capítulo 21, "Utilización de motores y CPU por Adaptive Server" del Manual
de rendimiento y mejoras.
Configuración de SQL Server
En versiones anteriores, SQL Server se configuraba utilizando sp_configure,
reconfigure y un número de parámetros dbcc tune y buildmaster -y sin
documentar. Para proporcionar un punto de entrada único para toda la
configuración de SQL Server (excepto la administración del búfer), se ha
rediseñado sp_configure para incorporar parámetros de configuración que se
implementaban anteriormente con dbcc tune y buildmaster -y. Además, se ha
implementado un número de parámetros de configuración nuevos.
Para obtener información sobre los parámetros que tienen nuevos nombres,
consulte "Nuevos nombres para parámetros de configuración existentes", en
la página 139.
La interfaz de sp_configure se ha rediseñado para incluir las siguientes
características nuevas:
•
Niveles de visualización, que permiten que el usuario seleccione una de las
tres vistas de los parámetros de configuración:
•
Nivel básico, apropiado para la optimización general de SQL Server
•
Nivel intermedio, un poco más global que el Nivel básico
•
Nivel completo, apropiado para el nivel más detallado de
optimización de SQL Server
•
Jerarquía de los parámetros, que organiza los parámetros de configuración
según el área del comportamiento de SQL Server a la que pertenecen.
•
Archivos de configuración, que permiten a los usuarios replicar
configuraciones específicas, validarlas antes de definirlas y crear varias
configuraciones que se pueden cambiar con facilidad.
Para obtener información sobre la configuración de SQL Server, consulte el
Capítulo 11, "Definición de los parámetros de configuración", del Manual de
administración del sistema.
127
Nuevas funciones de la versión 11.0
Promoción de bloqueos
En versiones anteriores de SQL Server, una vez que una instrucción acumulaba
más de 200 bloqueos de página en una tabla, SQL Server intentaba emitir un
bloqueo de tabla sobre ese objeto. Si el bloqueo de tabla era satisfactorio, los
bloqueos de página ya no eran necesarios y se liberaban.
Los parámetros de configuración lock promotion HWM, lock promotion LWM
y lock promotion PCT y el procedimiento del sistema sp_setpglockpromote
configuran el número de bloqueos de página que adquiere SQL Server en una
tabla antes de que intente elevarse a un bloqueo de tabla para todo el servidor
basándose en la base de datos y la tabla.
Para obtener información adicional, consulte el Capítulo 5, "Bloqueo en
Adaptive Server", del Manual de rendimiento y mejoras.
Motores múltiples de red
Si el sistema de multiprocesamiento simétrico (SMP) admite la migración por
afinidad de red, cada motor de SQL Server gestiona la E/S de red para sus
conexiones en la versión 11.0. Durante el login, SQL Server migra la tarea de
conexión de cliente del motor 0 al motor que sirve el menor número de conexiones.
Las tareas del cliente ejecutan la E/S de red en ese motor hasta que se termina
la conexión.
Al distribuir la E/S de red entre sus motores, SQL Server puede gestionar más
conexiones de usuario. El límite por proceso del número máximo de descriptores
de archivo abierto ya no limita el número de conexiones. Al añadir más motores
linealmente se aumenta el número máximo de descriptores de archivo. Para
obtener información adicional sobre el funcionamiento de motores múltiples
de red en un entorno SMP, consulte el Capítulo 10, "Administración de
servidores multiprocesador", del Manual de administración del sistema.
Mejoras introducidas en showplan
La salida del comando set showplan se ha mejorado de la siguiente manera:
128
•
Se han añadido sangrías y delimitadores para mejorar su legibilidad.
•
Los números de línea y los números de instrucción ayudan a depurar los
lotes y procedimientos largos.
•
Los mensajes adicionales incluyen las claves utilizadas en índices y
mensajes para proporcionar más información sobre los métodos de acceso.
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
•
Los tipos de subconsulta, los niveles de anidamiento y otra información
sobre las subconsultas ayudan a comprobar el rendimiento de las
subconsultas.
•
Se han añadido mensajes a las funciones de la versión 11.0 para mostrar el
tamaño de E/S y la estrategia de caché.
En el siguiente ejemplo, hay un índice que se llama title_ix en la tabla titles:
select title_id, price
from titles
where title = "Computers and Privacy"
Ésta es la salida de showplan en versiones anteriores a la 11.0:
STEP 1
The type of query is SELECT.
FROM TABLE
titles
Nested iteration
Index : title_ix
Ésta es la salida de showplan de la versión 11.0:
QUERY PLAN FOR STATEMENT 1 (at line 1).
STEP 1
The type of query is SELECT.
FROM TABLE
titles
Nested iteration.
Index : title_ix
Ascending scan.
Positioning by key.
Keys are:
title
Using I/O Size 2 Kbytes.
With LRU Buffer Replacement Strategy.
Todos los mensajes de showplan se documentan en el Capítulo 9, "Planes de
consulta", del Manual de rendimiento y mejoras.
129
Nuevas funciones de la versión 11.0
Cambios introducidos en las consultas y la modificación de datos
Esta sección describe los cambios introducidos en el procesamiento de
subconsultas y el comportamiento de las actualizaciones.
Cambios introducidos en las subconsultas
El comportamiento de determinadas subconsultas ha variado. Consulte
"Cambios que pueden afectar a las aplicaciones existentes", en la página 138
para obtener información detallada sobre estos cambios y cómo afectan a las
aplicaciones existentes.
Cambios introducidos en la actualización
Las estrategias de actualización de SQL Server han mejorado. Se hacen más
actualizaciones ahora in situ o directamente, con menos escrituras en el diario
de transacciones. Consulte el Manual de rendimiento y mejoras para obtener
más información sobre el rendimiento y las operaciones de actualización.
Actualización de los volcados de base de datos
Cuando se actualiza la instalación de SQL Server a una versión nueva, todas
las bases de datos asociadas con el servidor se actualizan automáticamente.
Como resultado, los volcados de base de datos y diario de transacciones
creados con una versión anterior de SQL Server deben actualizarse antes de
poderlos utilizar con el SQL Server actual.
SQL Server versión 11.0 proporciona un mecanismo de actualización automática,
por base de datos, para actualizar el volcado de la base de datos o el diario de
transacciones desde cualquier SQL Server versión 10.0 al SQL Server actual,
con lo que se hace compatible el volcado para su utilización. Este mecanismo
es un mecanismo completamente interno de SQL Server versión 11.0 y no
requiere la utilización de programas externos. Proporciona la flexibilidad de
actualizar los volcados individuales según se necesiten.
Esta función de actualización automática no admite las siguientes tareas:
130
•
Cargar una base de datos master de SQL Server versión 10.0 a la
versión 11.0.
•
Instalar procedimientos almacenados nuevos o modificados. Continuar
utilizando installmaster.
•
Cargar y actualizar volcados anteriores a SQL Server versión 10.0.
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Asociado con esta función, existe el nuevo comando online database. Este
comando marca una base de datos disponible para uso público tras una
secuencia de carga normal y, si es necesario, actualiza una base de datos
cargada y/o los volcados del diario de transacciones a la versión actual de
SQL Server.
Para obtener información adicional sobre la actualización de los volcados de
base de datos, consulte el Capítulo 21, "Copia de seguridad y restauración de
bases de datos de usuario", del Manual de administración del sistema y los
comandos load database y dump database en el Manual de consulta.
Para obtener más información sobre el comando online database, consulte el
Manual de consulta.
Determinación del dispositivo de cinta por Backup Server
Para ser menos dependiente de los dispositivos y más flexible, Backup Server™
proporciona un método para determinar las características del dispositivo de
cinta (el posicionamiento de la cinta para lectura, cierre, añadir, tamaño de E/S,
marcas de archivo y posibilidad de sobrescribir una marca de archivo) para una
operación de volcado.
Cuando emite un comando dump database o dump transaction, Backup Server
comprueba para ver si el tipo de dispositivo del dispositivo de volcado especificado
es conocido (suministrado y admitido de manera interna) por SQL Server.
Si el dispositivo no es un tipo conocido, Backup Server comprueba el archivo
de configuración de la cinta (la ubicación predeterminada es
$SYBASE/backup_tape.cfg) para la configuración del dispositivo. Si se
encuentra la configuración, prosigue el comando dump.
Si no se encuentra la configuración en el archivo de configuración del
dispositivo de cinta, el comando dump falla con el siguiente mensaje de error:
Device not found in configuration file. INIT needs to
be specified to configure the device.
Esto significa que se tiene que configurar el dispositivo. Emita dump database
o dump transaction con el calificador init para configurar el dispositivo.
Utilizando llamadas al sistema operativo, Backup Server intenta determinar las
características del dispositivo y, si son satisfactorias, almacena las características
del dispositivo en el archivo de configuración de la cinta.
131
Nuevas funciones de la versión 11.0
Si Backup Server no puede determinar las características del dispositivo de
volcado, adopta el valor predeterminado de un volcado por cinta. El dispositivo
no se puede utilizar si la configuración no puede escribir al menos un archivo
de volcado.
La configuración de la cinta por Backup Server se aplica sólo a las plataformas
UNIX.
Para obtener información adicional sobre la determinación de los dispositivos
de cinta y el archivo de configuración de cinta, consulte el Capítulo 21, "Copia
de seguridad y restauración de bases de datos de usuario", del Manual de
administración del sistema.
Cambios en la columna IDENTITY
La función de la columna IDENTITY le permite crear una columna con valores
generados por el sistema que identifican de manera única cada fila de una tabla.
La versión 11.0 proporciona las siguientes mejoras de las columnas IDENTITY:
•
Para tablas sin índices exclusivos, la opción de base de datos identity in
nonunique index le permite crear un índice exclusivo al incluir una
columna IDENTITY en la clave del índice. Se necesitan los índices
exclusivos para las lecturas de nivel 0 de aislamiento y los cursores
actualizables.
•
El parámetro de configuración identity grab size permite que cada proceso
SQL Server en un entorno multiprocesador reserve un número
determinado de valores de columna IDENTITY cuando añade filas en
tablas que contienen columnas IDENTITY.
•
El parámetro de configuración size of auto identity define la precisión de
las columnas IDENTITY que genera SQL Server para las tablas creadas
en bases de datos donde se ha activado la opción de base de datos auto
identity database.
Para obtener información adicional sobre las mejoras de las columnas
IDENTITY, consulte el Capítulo 7, "Creating Databases and Tables", del
Manual del usuario de Transact-SQL.
132
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Nuevas variables globales text e image
Las siguientes cinco variables globales se han añadido en la versión 11.0 para
facilitar la inserción o actualización de datos text e image a través de
aplicaciones Open Client™:
•
@@textcolid
•
@@textdbid
•
@@textobjid
•
@@textptr
•
@@textts
Para obtener información sobre estas variables globales, consulte el Capítulo13,
"Using Batches and Control-of-Flow Language", del Manual del usuario de
Transact-SQL. Para obtener información sobre la utilización de estas variables
en un procedimiento para aplicaciones Open Client, consulte el Manual de
referencia de Client-Library/C.
Cambios del sistema en la versión 11.0
Esta sección proporciona un resumen de los cambios introducidos en la
versión 11.0. Los cambios son los siguientes:
•
Nuevo comando online database
•
Cambios introducidos en los comandos existentes
•
Nuevas opciones set
•
Nuevos procedimientos del sistema
•
Cambios introducidos en los procedimientos del sistema
•
Nuevas tablas del sistema
•
Cambios introducidos en las tablas del sistema existentes
133
Cambios del sistema en la versión 11.0
Nuevo comando online database
La tabla 6-1 describe el nuevo comando online database:
Tabla 6-1: Nuevo comando online database
Nombre
Función
online database
Hace que una base de datos esté disponible para uso público tras
una secuencia de carga normal y, si es necesario, actualiza una
base de datos cargada y los volcados del diario de transacciones
a la versión actual de SQL Server.
Cambios introducidos en los comandos existentes
La tabla 6-2 resume las modificaciones introducidas en los comandos
existentes:
Tabla 6-2: Cambios introducidos en los comandos existentes
Nombre
alter table
buildmaster
delete
reconfigure
select
set showplan
set transaction
isolation level
update
134
Cambio
La nueva cláusula partition le permite crear cadenas de página
adicionales para una tabla que no tiene un índice agrupado. La
nueva cláusula unpartition le permite concatenar todas las
cadenas de página de una tabla con particiones.
El indicador buildmaster -r ya no se admite.
Las nuevas cláusulas le permiten especificar el índice, la
estrategia de caché y el tamaño de E/S para una consulta.
El comando reconfigure ya no se necesita para activar cambios
hechos con sp_configure. reconfigure ya no es operativo. Los
archivos de secuencias de comandos que utilicen reconfigure
aún se ejecutarán, pero deberían cambiarse con prontitud, ya
que en versiones futuras podría no admitirse reconfigure.
Las nuevas cláusulas le permiten especificar el índice, la
estrategia de caché y el tamaño de E/S para una consulta. La
nueva cláusula at isolation le permite especificar el nivel de
aislamiento para la consulta.
Cambios introducidos en la salida.
Nueva opción de nivel de aislamiento: 0
Las nuevas cláusulas le permiten especificar el índice, la
estrategia de caché y el tamaño de E/S para una consulta.
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Nuevas opciones set
La tabla 6-3 resume las nuevas opciones set:
Tabla 6-3: Nuevas opciones set
Opción
Función
forceplan
Fuerza al optimizador a realizar las uniones en el orden en el
que se nombran las tablas en la cláusula from de una consulta.
prefetch
Habilita o deshabilita la E/S grande (prelectura de datos) para
una sesión.
statistics
subquerycache
Imprime las estadísticas sobre el uso del caché de la
subconsulta durante la ejecución de la misma.
Especifica el número de tablas que se deben optimizar al
mismo tiempo en una consulta conjunta.
table count integer
Nuevos procedimientos del sistema
Los siguientes procedimientos del sistema nuevos proporcionan parte de la
funcionalidad de las funciones descritas con anterioridad:
Tabla 6-4: Nuevos procedimientos del sistema
Procedimiento
Función
sp_bindcache
Enlaza bases de datos, tablas, índices o cadenas text o image a los cachés de datos.
Configura los cachés de datos con nombre y proporciona información sobre los
cachés.
sp_cacheconfig
sp_cachestrategy
Habilita y deshabilita las estrategias de caché y la E/S grande para determinadas
tablas e índices.
sp_chgattribute
Cambia el valor max_rows_per_page para futuras asignaciones de espacio de una
tabla o índice.
sp_displaylevel
Define y muestra el nivel de visualización del usuario. El nivel de visualización
determina los parámetros de configuración de SQL Server que se muestran en la
salida sp_configure.
sp_dropglockpromote
Elimina los valores de promoción de bloqueo de una tabla o base de datos.
Proporciona información sobre los requisitos generales de caché y también
proporciona información sobre los cachés y los enlaces de caché.
Proporciona una lista de la primera página y la página de control de cada partición de
una tabla con particiones.
sp_helpcache
sp_helpartition
sp_logiosize
sp_poolconfig
Cambie el tamaño de E/S de diario utilizado por SQL Server a un banco de memoria
diferente cuando realiza la E/S para el diario de transacciones de la base de datos
actual.
Configura los bancos con cachés con nombre para permitir la E/S grande.
135
Cambios del sistema en la versión 11.0
Procedimiento
Función
sp_procqmode
Informa del modo de procesamiento de subconsulta de un objeto.
Define o cambia los umbrales de promoción de bloqueo para una base de datos, una
tabla o un SQL Server.
Desenlaza una base de datos, tabla, índice u objeto text o image específicos de un
caché de datos.
Desenlaza todos los objetos enlazados a un caché.
sp_setpglockpromote
sp_unbindcache
sp_unbindcache_all
Cambios introducidos en los procedimientos del sistema
En esta versión, se han modificado los siguientes procedimientos del sistema:
Tabla 6-5: Cambios introducidos en los procedimientos del sistema
Procedimiento
Cambio
sp_dboption
Tiene una nueva opción de base de datos, identity in nonunique
index, que le permite crear un índice exclusivo al incluir una
columna IDENTITY en la clave del índice.
Incluye nuevos parámetros y subcomandos opcionales y muestra
una nueva salida.
sp_configure
Nuevas tablas del sistema
Las siguientes tablas del sistema son nuevas en esta versión:
Tabla 6-6: Nuevas tablas del sistema
Tabla
sysattributes
syslogshold
syspartitions
136
Función
Define los atributos para objetos como bases de datos, tablas,
índices, usuarios, logins y procedimientos.
Almacena información sobre la transacción activa más antigua y el
punto de truncado de Replication Server para cada base de datos.
Almacena información interna sobre las particiones de tabla.
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Cambios introducidos en las tablas del sistema existentes
La tabla 6-7 ofrece una lista de las tablas del sistema que se han modificado en
esta versión:
Tabla 6-7: Cambios introducidos en las tablas del sistema
Tabla
Cambio
sysindexes
Columna modificada: rowpage a maxrowsperpage
sysconfigures
La entrada de la columna root para una tabla se queda obsoleta cuando se hacen
particiones en la tabla. Las páginas raíz para la partición individual se derivan de la
información en la nueva tabla syspartitions.
Nuevas columnas añadidas:
• name contiene el nombre del parámetro de configuración
• parent contiene el grupo al que pertenece el parámetro de configuración
• value2 se utiliza para los parámetros de configuración cuyos valores son cadenas
de caracteres
syscurconfigs
• value3 no se utiliza actualmente
Nuevas columnas añadidas:
• value2 se utiliza para los parámetros de configuración cuyos valores son cadenas
de caracteres
• defvalue contiene los valores predeterminados de los parámetros de configuración
• minimum_value contiene el valor válido mínimo para un parámetro de
configuración
• maximum_value contiene el valor válido máximo para un parámetro de
configuración
• memory_used contiene la cantidad de memoria utilizada por unidad por un
parámetro de configuración
• display level contiene el nivel de visualización asociado con un parámetro de
configuración
• datatype y message_num son de uso interno
sysdatabases
Nueva columna añadida:
• El bit de estado offline se utiliza para la función de actualización de volcados de
base de datos
137
Cambios que pueden afectar a las aplicaciones existentes
Cambios que pueden afectar a las aplicaciones
existentes
Esta sección describe los cambios del sistema introducidos en la versión 11.0
que pueden afectar a las aplicaciones si se actualiza a la versión 11.5 desde una
versión anterior a la 11.0. Los temas que se tratan son los siguientes:
•
Nuevas palabras de Transact-SQL en la versión 11.0
•
Cambios introducidos en la configuración de SQL Server
•
Cambios introducidos en las subconsultas
•
Cambios introducidos en la salida showplan en la versión 11.0
•
Las nuevas estrategias de caché pueden afectar el rendimiento
•
Actualización de los volcados de base de datos
•
Particiones y posición física de los datos
Nuevas palabras de Transact-SQL en la versión 11.0
Las siguientes palabras claves son nuevas palabras reservadas en SQL Server 11.0.
No se pueden utilizar como nombres de objetos o nombres de columnas.
•
errordata
•
max_rows_per_page
•
online
•
partition
•
unpartition
Debe cambiar todos los nombres de bases de datos que sean nuevas palabras
reservadas antes de poder actualizarse desde una versión anterior del servidor.
Puede cambiar los nombres de tablas, vistas y columnas o utilizar identificadores
delimitados. Una vez se haya actualizado, no podrá utilizar objetos de base de
datos cuyos nombres sean nuevas palabras reservadas hasta que modifique los
procedimientos, archivos de secuencias de comandos SQL y aplicaciones.
138
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Cambios introducidos en la configuración de SQL Server
Los siguientes cambios introducidos en la interfaz de configuración de
SQL Server afectarán a las aplicaciones existentes.
El comando reconfigure
En versiones anteriores, los cambios realizados con sp_configure se tenían que
activar con el comando reconfigure. Ya no es necesario. reconfigure ya no es
operativo. Los archivos de secuencias de comandos existentes deberían seguir
funcionando, pero deberían cambiarse con prontitud, ya que en versiones
futuras podría no admitirse reconfigure.
buildmaster -r ya no se admite
El indicador buildmaster -r, que se utilizaba para volver a escribir el bloque de
configuración con los valores predeterminados para los parámetros de
configuración de SQL Server, ya no se admite.
Para ejecutar SQL Server con sus valores predeterminados integrados:
1
Vuelva a nombrar, mueva o elimine el archivo de configuración.
2
Apague y reinicie SQL Server.
Cuando se hace así, SQL Server utiliza los valores de configuración
predeterminados integrados y crea un archivo de configuración
server_name.cfg en el directorio desde el que se inició SQL Server. No
obstante, estos valores no se escriben en sysconfigures. Para escribirlos en
sysconfigures, necesita apagar y reiniciar SQL Server otra vez.
Nuevos nombres para parámetros de configuración existentes
Los siguientes parámetros de configuración de SQL Server, que antes recibían
el nombre de "variables de configuración", tienen nuevos nombres:
Tabla 6-8: Nuevos nombres de parámetros de configuración
en la versión 11.0
Nombre antiguo
Nombre nuevo
T1204 (traceflag)
print deadlock information
T1603 (traceflag)
allow sql server async i/o
T1610 (trace flag)
tcp no delay
T1611 (trace flag)
lock shared memory
allow updates
allow updates to system tables
calignment
memory alignment boundary
139
Cambios que pueden afectar a las aplicaciones existentes
Nombre antiguo
Nombre nuevo
cclkrate
sql server clock tick length
cfgcprot
permission cache entries
cguardsz
stack guard size
cindextrips
number of index trips
cmaxnetworks
max number network listeners
cmaxscheds
i/o polling process count
cnalarm
number of alarms
cnblkio
disk i/o structures
cnlanginfo
number of languages in cache
cnmaxaio_engine
max async i/os per engine
cnmaxaio_server
max async i/os per server
cnmbox
number of mailboxes
cnmsg
number of messages
coamtrips
number of oam trips
cpreallocext
number of pre-allocated extents
cpu flush
cpu accounting flush interval
cschedspins
runnable process search count
csortbufsize
number of sort buffers
csortpgcount
sort page count (Eliminado en la versión 11.5.)
ctimemax
cpu grace time
database size
default database size
default language
default language id
devices
number of devices
extent i/o buffers
number of extent i/o buffers (Eliminado en la versión 11.5.)
fillfactor
default fill factor percent
i/o flush
i/o accounting flush interval
language in cache
number of languages in cache
locks
number of locks
maximum network packet size
max network packet size
memory
total memory
mrstart
shared memory starting address
nested trigger
allow nested triggers
open databases
number of open databases
open objects
number of open objects
password expiration interval
systemwide password expiration
pre-read packets
remote server pre-read packets
procedure cache
procedure cache percent
recovery flags
print recovery information
recovery interval
recovery interval in minutes
140
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Nombre antiguo
Nombre nuevo
remote access
allow remote access
remote connections
number of remote connections
remote logins
number of remote logins
remote sites
number of remote sites
sql server code size
executable code size
tape retention
tape retention in days
user connections
number of user connections
Nuevos parámetros de configuración
La versión 11.0 introdujo un número de parámetros de configuración nuevos
que aparecen en la tabla 6-9. Consulte el Capítulo 11, "Definición de los
parámetros de configuración", del Manual de administración del sistema para
obtener una descripción completa de estos parámetros.
Tabla 6-9: Nuevos parámetros de configuración de SQL Server para
la versión 11.0
address lock spinlock ratio
configuration file
deadlock checking period
deadlock retries
event buffers per engine
freelock transfer block size
housekeeper free write percent
identity grab size
lock promotion HWM
lock promotion LWM
lock promotion PCT
max engine freelocks
o/s async i/o enabled
o/s file descriptors
page lock spinlock ratio
page utilization percent
partition groups
partition spinlock ratio
size of auto identity column
table lock spinlock ratio
total data cache size
user lock cache size
user lock cache spinlock ratio
141
Cambios que pueden afectar a las aplicaciones existentes
Nuevo parámetro deadlock checking period
En versiones anteriores de SQL Server se realizaba la comprobación de
interbloqueo cuando el proceso comenzaba a esperar por un bloqueo. En la
versión 11.0, SQL Server realiza la comprobación de interbloqueo de un proceso
después de que haya esperado un mínimo de 500 ms a que se libere el bloqueo.
Para volver al método anterior de comprobación de interbloqueo, defina un
valor de 0 para deadlock checking period.
Nuevo parámetro page utilization percent
El comportamiento predeterminado de versiones anteriores de SQL Server
consiste en buscar la cadena de páginas OAM para las páginas no usadas antes
de asignar una nueva extent. Para mantener este comportamiento, defina un
valor de 100 para page utilization percent.
Aumento de los tamaños de objetos compilados
El tamaño de los objetos compilados es mayor en System 11, y era mucho
mayor en System 10. Es posible que necesite cambiar el tamaño del caché del
procedimiento para mantener el mismo rendimiento.
Aumento del tamaño del código de SQL Server
Se utiliza más memoria para el kernel y las estructuras internas. Es posible que
necesite añadir más memoria para mantener el mismo rendimiento de la
versión anterior.
Cambios introducidos en las subconsultas
Se han resuelto varios problemas de las subconsultas en SQL Server versión 11.0.
Esta sección describe detalladamente los comportamientos antiguo y nuevo.
Examine las aplicaciones que utilizan subconsultas para determinar si la
aplicación depende de un comportamiento que se ha corregido.
El procesamiento de subconsultas en versiones anteriores de SQL Server
utilizaba un procesamiento "de dentro a fuera". Las subconsultas de la versión 11.0
se procesan "de fuera a dentro" para lograr mayor eficiencia. La actualización a la
versión 11.0 no cambia automáticamente el modo de procesamiento de la
subconsulta.
142
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Tras actualizarse a la versión 11.0, debe eliminar y volver a crear los objetos
para beneficiarse del nuevo estilo de procesamiento. Utilice sp_procqmode
para identificar los objetos que incluyen subconsultas. Tras actualizarse a
SQL Server versión 11.0, no puede crear un objeto que utilice el procesamiento
de la versión 10.0.
Es mejor probar los procedimientos que contienen subconsultas y realizar los
cambios necesarios para su aplicación antes de actualizar el sistema de
producción.
Resultados diferentes
Las subconsultas realizadas en objetos creados con SQL Server versión 11.0
pueden devolver resultados diferentes a las realizadas en objetos creados con
una versión anterior de SQL Server. Para probar el rendimiento tras la
actualización, cree los objetos en SQL Server versión 11.0, pruebe los
resultados y rendimiento, e introduzca las modificaciones necesarias en la
aplicación.
Determinación del modo de procesamiento de consultas
Un nuevo procedimiento del sistema, sp_procqmode, informa sobre el modo de
procesamiento de la subconsulta en un objeto.
Duplicados en los resultados de la subconsulta
Desde la versión 10.0, las subconsultas que utilizan predicados in o any no
devuelven duplicados.
Se proporcionó set dup_in_subquery on como una ruta de actualización a
SQL Server versión 10.0. Ya no se admite. Si la aplicación depende de las filas
duplicadas en el juego de resultados, vuelva a escribir la subconsulta como una
unión.
Por ejemplo:
select a from s where b in
(select c from t)
se convertiría en:
select a from s, b where s.b = t.c
Los procedimientos creados en SQL Server versión 10.0 que utilizan
dup_in_subquery continuarán funcionando hasta que se elimine el procedimiento
y se vuelva a crear en la versión 11.0.
143
Cambios que pueden afectar a las aplicaciones existentes
Cambios introducidos en las restricciones de subconsulta
Se han eliminado las siguientes restricciones de subconsulta:
•
Puede utilizar distinct con group by en una subconsulta.
La palabra clave distinct suprimía las filas duplicadas en la salida de
subconsultas de versiones anteriores a la 10.0. Esta palabra ya no es
necesaria en las subconsultas y se pasa por alto.
•
Puede hacer referencia a una variable correlativa en la lista de selección de
una subconsulta. Por ejemplo, ahora se admite la siguiente subconsulta de
expresión:
select t1.c1 from t1
where t1.c2 = (select t2.c2 + t1.c3 from t2)
Se ha añadido la siguiente restricción de subconsulta:
•
Existe un máximo de 16 subconsultas en un solo lado de la unión.
Gestión de resultados NULL
Antes de la versión 11.0, una subconsulta de expresión correlativa en una
cláusula set de una actualización devolvía 0 en vez de NULL cuando no había
filas coincidentes. La versión 11.0 correctamente devuelve NULL cuando no
hay filas coincidentes, y surge un error si la columna no permite valores vacíos.
Si tiene aplicaciones que dependen del comportamiento de versiones anteriores
a la 11.0, tendrá que volver a escribirlas.
Por ejemplo, el siguiente disparador intenta actualizar una columna que no
permite valores NULL:
update t1
set c1 = (select max(c1)
from inserted where t1.c2 = inserted.c2)
El disparador correcto es:
update t1
set c1 = (select isnull(max(c1), 0)
from inserted
where t1.c2 = inserted.c2)
o
update t1
set c1 = (select max(c1)
from inserted
where t1.c2 = inserted.c2)
where exists (select * from inserted
where t1.c2 = inserted.c2)
144
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
La cláusula where actualiza la tabla t1.c1 a 0, si la subconsulta no devuelve
ningún valor de correlación desde la tabla externa t1.
Otro ejemplo de esto es totalsales_trig en la base de datos de muestra pubs2.
En versiones anteriores, el disparador era el siguiente:
create trigger totalsales_trig
on salesdetail
for insert, update, delete
as
/* Save processing: return if there are no rows affected */
if @@rowcount = 0
begin
return
end
/* add all the new values */
/* use isnull: a null value in the titles table means
**
"no sales yet" not "sales unknown"
*/
update titles
set total_sales = isnull(total_sales, 0) +
(select sum(qty)
from inserted
where titles.title_id = inserted.title_id)
/* remove all values being deleted or updated */
update titles
set total_sales = isnull(total_sales, 0) (select sum(qty)
from deleted
where titles.title_id = deleted.title_id)
sum(qty) es NULL si no se devuelve una fila de la tabla, así que cuando una
instrucción cambia la columna total_sales, el disparador cambia a NULL todas
las filas de titles que no califiquen.
Para garantizar que la subconsulta en la expresión para la actualización
devuelve un valor que no sea NULL, el disparador correcto es:
create trigger totalsales_trig
on salesdetail
for insert, update, delete
as
/* Save processing: return if there are no rows affected */
if @@rowcount = 0
begin
return
145
Cambios que pueden afectar a las aplicaciones existentes
end
/* add all the new values */
/* use isnull: a null value in the titles table means
**
"no sales yet" not "sales unknown"
*/
update titles
set total_sales = isnull(total_sales, 0) +
(select sum(qty)
from inserted
where titles.title_id = inserted.title_id)
where title_id in (select title_id from inserted)
/* remove all values being deleted or updated */
update titles
set total_sales = isnull(total_sales, 0) (select sum(qty)
from deleted
where titles.title_id = deleted.title_id)
where title_id in (select title_id from deleted)
Rendimiento mejorado
Casi todas las subconsultas tendrán un rendimiento mejorado después de
eliminarlas y volver a crearlas.
No obstante, una subconsulta de expresión que contenga una función añadida
donde la tabla externa sea muy grande y tenga unos cuantos valores correlativos
duplicados, y la tabla interna sea pequeña, podría tener un rendimiento más
pobre en la versión 11.0. Por ejemplo:
select * from huge_table where x=
(select sum(a) from tiny_table
where b = huge_table.y)
La alternativa es:
select huge_table.y, s=sum(a)
into #t
from huge_table, tiny_table
where b=huge_table.y
group by huge_table.y
select huge_table.*
from huge_table, #t
where x=#t.x
and huge_table.y=#t.y
146
CAPÍTULO 6 Nuevas funciones de SQL Server versión 11.0
Cambios introducidos en la salida showplan en la versión 11.0
La salida para la opción showplan de set ha cambiado. Si tiene aplicaciones que
utilicen esa salida generada, necesitará cambiarlas para que utilicen la nueva
salida.
Consulte el Capítulo 9, "Understanding Query Plans", del
Manual de rendimiento y mejoras.
Las nuevas estrategias de caché pueden afectar el rendimiento
Ahora el optimizador puede elegir una nueva estrategia de caché que se llama
"recuperar y descartar". La estrategia de caché estándar lee las páginas en la
cabeza de la cadena MRU/LRU (utilizado más recientemente/utilizado menos
recientemente) del caché. Esto vacía otras páginas del caché. La estrategia
recuperar y descartar (o MRU) lee las páginas en el caché más cerca del final
del caché, así que no vacía otras páginas. Pero estas páginas permanecen en
caché un periodo de tiempo mucho más corto, por lo que las consultas de
usuario subsiguientes que podrían obtener un "acierto en caché" al encontrar
estas páginas en caché en la estrategia estándar tienen menos probabilidades de
encontrar la página en caché ahora.
Cuando el optimizador calcula que un consulta en particular leerá un número
significativo de páginas, y sólo necesitará esas páginas una vez durante la
consulta, puede elegir la estrategia de recuperar y descartar. Si la E/S del disco
aumenta en la versión 11.0, compruebe la estrategia de E/S para las consultas
con showplan para ver la estrategia de caché que se utiliza. Si las consultas
utilizan la estrategia de recuperar y descartar (MRU), puede añadir una cláusula
a los comandos select, update y delete para especificar la estrategia de caché
estándar.
Consulte el Capítulo 10, "Técnicas de optimización avanzadas", del Manual de
rendimiento y mejoras.
147
Cambios que pueden afectar a las aplicaciones existentes
Actualización de los volcados de base de datos
Si utiliza archivos de secuencias de comandos para realizar las cargas de bases
de datos con los comandos load database y load transaction, los archivos de
secuencias de comandos darán error a menos que incluya el comando online
database al final de la secuencia de carga. También debería eliminar las
siguientes opciones de sp_dboption de los archivos de secuencias de comandos:
no chkpt on recovery, dbo use only y read only. Ya no se necesitan estas opciones
con la versión 11.0, ya que load database define el estado de la base de datos
como fuera de conexión, haciéndola así inaccesible a los usuarios.
Para obtener información adicional sobre la actualización de los volcados de
base de datos, consulte el Capítulo 21, "Copia de seguridad y restauración de
bases de datos de usuario", del Manual de administración del sistema y los
comandos load database y dump database en el Manual de consulta.
Particiones y posición física de los datos
Nota: La versión 11.5 añade la posibilidad de crear índices agrupados en tablas
con particiones y acceder a las tablas en paralelo. Consulte el Manual de
rendimiento y mejoras para obtener más información.
En la versión 10.0, los datos de una tabla de pila se insertaban siempre al final
de una cadena de páginas única. Esto significaba que una tabla de pila (por
ejemplo, una tabla de historial) almacenaba físicamente las entradas más
recientes al final de la cadena de páginas y las más antiguas al principio.
Una sencilla instrucción select o una exploración de cursor con tal tabla podía
devolver filas en el mismo orden aproximadamente de su inserción.
En la versión 11.0 puede crear tablas con particiones que tienen varias cadenas
de página. Las inserciones en las tablas con particiones pueden ocurrir al final
de muchas cadenas de página diferentes. En una tabla así, los datos no se
almacenan físicamente en orden secuencial. Si desea ver las filas de una tabla
con particiones en orden secuencial, utilice la cláusula order by en la
instrucción select.
Consulte el Manual de rendimiento y mejoras para obtener más información
acerca de las particiones.
148
Índice
Indice
A
B
activación de disparadores 46
actualizaciones directas 130
actualizaciones in situ 130
Adaptive Server
cambios que pueden afectar a las aplicaciones para
la versión 12.5 28
columnas anchas y truncado de datos 28
compatibilidad con sistema externo de archivos 9
compatibilidad con Unichar 13
número de grupos 4
número de logins 4
número de usuarios 4
SQLJ 6
tamaño de columna 3
tamaños de páginas lógicas 2
versión 12.5 límites flexibles 2
administración de transacciones distribuidas 47
administrador de bloqueos 124
administrador de procesos lógicos 90
afinidad de motor 90
almacenamiento de datos, max_rows_per_page y
119
alta disponibilidad, utilizando Sybase Failover 33–
34, 55
archivo .cshrcarchivo cshrc] xiii
archivo de interfaces 49
archivo libtcl*.cfg 8
archivo .profile xiii
archivos
.cshrc xiii
.profile xiii
asignación de páginas 120
asignar nombres a clientes 38
auditoría, procedimientos de sistema para 80
auto identity, sp_dboption 132
autorización proxy
concesión de permiso para 102
valor para aplicaciones 102
valor para usuarios 102
Backup Server
cintas sin rebobinado 36
copia de datos en paralelo 99
copia de seguridad y restauración de alto rendimiento
35
determinación del dispositivo de cinta 131
operaciones de volcado 36
bancos 118
bancos de memoria 118
base de datos
integridad, garantizar 36
para depuración 39
propietarios de objetos, seguimiento 54
suspender 37
sybdiagdb 39
bloqueos de bucle 122, 124
bloqueos de dirección 124
bloqueos de página 124
bloqueos de tabla 124
búsquedas de tabla, tablas con particiones y 148
C
cachés de datos 116
cachés de datos con nombre 116
cachés de diario de usuario 122
cachés de metadatos 97
cambiar los rangos de identificación 39
cambios de configuración 127, 139
Cambios introducidos en la actualización de las
subconsultas 130
capa de control de directorio (DCL) 49
checkpoints, proceso housekeeper y 126
cintas sin rebobinado para Backup Server 36
cláusula at isolation 124
cláusula order By 148
clientes, asignar nombres a 38
149
Índice
columna ancha 28
columna status, syssrvroles 62
columnas IDENTITY, cambios para 11.0 132
comando
alter role 57
alter table 20, 57
alter table, activación o desactivación de disparadores
46
alter table, modificar el esquema de una tabla existente
37
clientapplname 21, 58
clienthostname 58
clientname 58
create role 57
create table 39, 57
dbcc 57
dbcc engine 38
delete, seguimiento del creador del 54
disk init 36, 58
disk reinit 36, 58
dsync 36
dump database 105
dump database, opción compress 12
dump transaction 105, 123
dump transaction, opción compress 12
execute 44, 58
insert, seguimiento del creador del 54
load transaction 101
online database, utilización 131, 134, 148
quiesce database 11, 37, 57
reconfigure 139
remove java 57
reorg rebuild 35
select 43
select into 39
select, nuevas cláusulas 119, 124
set 38
set proxy 102
set session authorization 102
set showplan 128
set, clientapplname 21, 58
set, clienthostname 58
set, clientname 58
sp_configure 45
strict_dtm_enforcement 58
transactional_rpc 58
150
update, seguimiento del creador del 54
compatibilidad con archivo comprimido 12
compatibilidad con sistema externo de archivos 9
compatibilidad con Unichar 13
compatibilidad para los sistemas de archivos UNIX 36
Component Integration Services (CIS) 47, 48
compresión de volcado
definición 12
ejemplo de sintaxis 12
comprobación de interbloqueo 125
concesión de permiso para autorización proxy 103
configurar cachés 116
consultas
cambios introducidos en 130
limitaciones con sp_add_resource_limit 106
mejoras en 42
mejoras en el coste 43
número de tablas en 41
planes abstractos para 45
control de acceso 10
control del acceso a SQL en ejecución 97, 98
configuración de cantidad de texto guardado en
memoria 98
convenciones de sintaxis xiii
copia de seguridad y restauración de alto rendimiento
35
copia masiva paralela
copia de datos en paralelo 99
y los indicadores -F y -L 100
y tablas particionadas 99
coste para las consultas 43
creación de objetos 54
cuenta de correo de Windows NT 112
cursores
compilación 75
optimización 75
tablas con particiones y 148
D
daños 103
dbcc checkdb 121
dbcc checktable 121
dbcc tune 127
Índice
definidas por el usuario
funciones para Java 40
definido por el usuario
seguridad de login 50
definidos por el usuario
cachés 116
desactivación de disparadores 46
desconexión de motores 38
determinación del dispositivo de cinta
diario de errores 92
diario de transacciones 118, 122
disparadores
activación 46
desactivación 46
resultados NULL 144
G
grupos, número de para 12.5
4
I
131
identity in nonunique index
sp_dboption 132
índices, reconstrucción 35
información general de las opciones set
insertar, nuevas cláusulas para 119
integridad
base de datos 36
mensaje 50
integridad del mensaje 50
intervalos de tiempo 106
intervalos de tiempo concretos 106
135
E
E/S grande 118
ejecución
atributos 90
de comandos de Transact-SQL 44
objetos 91
precedencia 90
procedimientos de sistema para 91
ejecución en dos fases 109
eliminar, nuevas cláusulas para 119
ESP 93
estrategias de caché 117
expresión CASE 82
expresiones, longitud máxima 3
J
Java
clases como tipos de datos 41
en Adaptive Server Enterprise 40–41
funciones definidas por el usuario 40
instalación en Adaptive Server 6
posibilidades 40
tipos de datos 41
jerarquía de los parámetros 127
join 20, 57
L
F
Failover, using in a high availability system 33–34
Failover, utilización en un sistema de alta
disponibilidad 55
filas por página 119
fillfactor, comparado con max_rows_per_page 120
función autorizada 33, 40, 47
funciones de lenguaje de procedimientos, llamada 93
funciones, Java 40
LDAP, definición en libtcl.cfg 8
lenguajes de tratamiento de datos 10
límites de recursos 106
límites de tablas en consultas 41
listas de bloqueos disponibles 125
listas de bloqueos disponibles de motor
listas globales de bloqueos disponibles
Login unificado 50
Logins
número de para 12.5 4
servidor 54
unificados 50
125
125
151
Índice
M
max_rows_per_page
comparado con fillfactor 120
mejoras
para tipos de datos 45
mejoras de integridad referencial 96
mejoras introducidas en showplan 128
mejoras para consultas 42
mensajes de correo electrónico 112
Microsoft Distributed Transaction Coordinator (MSDTC)
47
Monitor de rendimiento de Windows NT 113
motores fuera de conexión 38
motores múltiples de red 128
N
Niveles de aislamiento 123
nombre de usuario de servidor e Id.
número de grupos 4
número de logins 4
número de usuarios 4
54
O
objetos, creación 54
opciones configname para sp_helpconfig 39
opciones de mejora de consulta 118
Open Client y los nuevos límites de Adaptive Server
operaciones de volcado y Backup Server 36
operador union en una vista 7
optimización para consultas 42
P
page utilization percent 142
páginas OAM 120
páginas sospechosas 103, 105
palabras clave
nuevas para la versión 11.0 138
nuevas para la versión 11.5 64
nuevas para la versión 12.5 26
152
29
palabras reservadas
nuevas para la versión 11.0 138
nuevas para la versión 12.0 64
parámetro
identity gap 39
parámetro de configuración
check password for digit 55
dtm detach timeout period 55
dtm lock timeout period 55
enable cis 56
enable dtm 55
enable HA 55
enable java 55
enable sort-merge joins and JTC 42
enable xact coordination 56
log audit logon failure 92
log audit logon success 92
maximum failed logins 56
minimum password length 56
number of aux scan descriptors 96
number of dtx participants 56
size of global fixed heap 56
size of process object fixed heap 56
size of process object fixed heap 56
size of shared class heap 56
SQL Perfmon Integration 113
strict dtm enforcement 56
text prefetch size 45, 56
txn to pss ratio 56
xact coordination level 56
xp_cmdshell 95
parámetros, cambios de nombre de 139
particiones originales 36
perfil de correo de Windows NT 112
planes abstractos para consultas 45
planes, consulta 45
precedencia de ejecución de aplicaciones,
procedimientos de sistema 91
procedimiento del sistema
sp_addlogin 59
sp_addmessage 92
sp_altermessage 92
sp_chgattribute 39
sp_companion 59
sp_deviceattr 36, 59
sp_displaylogin 60
Índice
sp_displayroles 60
sp_ha_admin 59
sp_help 39
sp_helpconfig 39
sp_helpdevice 36, 60
sp_helpjava 59
sp_lock 60
sp_modifylogin 60
sp_monitorconfig 60
sp_poolconfig 116, 135
sp_transactions 59
sp_who 22, 60
procedimientos almacenados extendidos, véase ESP
procedimientos almacenados, longitud máxima 3
procedimientos del sistema
sp_bindcache 135
sp_cacheconfig 135
sp_cachestrategy 135
sp_chgattribute 135
sp_configure 127, 136
sp_dboption 136
sp_displaylevel 135
sp_dropglockpromote 135
sp_helpartition 135
sp_helpcache 135
sp_logiosize 118, 135
sp_poolconfig 135
sp_procqmode 136, 143
sp_setpglockpromote 128, 136
sp_unbindcache 136
sp_unbindcache_all 136
procesamiento de consultas
modo 143
paralelas 100
procesamiento de consultas paralelas 100
promoción de bloqueos 128
protocolo X/Open XA 47
puntos de truncado 122
R
rangos de identificación, cambiar
reconstrucción de índices 35
recuperación 101, 103
recuperación a un momento dado
39
101
red
motores E/S 128
seguridad 49
registro de eventos de Windows NT 92
rendimiento
de la seguridad de red 49
equilibrio de aplicaciones 90
representación de otro usuario 102
resultados duplicados de la subconsulta 143
S
segmentos, particiones y 121
seguridad
login definido por el usuario 50
red 49
seguridad de login, definido por el usuario 50
servicios de directorio 89
servicios de integración de componentes (CIS) 82
servidores remotos, conexión con Component
Integration Services 82
set dup_in_subquery 143
set forceplan 119
set prefetch 119
set table count 119
set transaction isolation level 123
Shell Bourne xiii
Shell C xiii
Shell Korn xiii
Shells xiii
sistema de archivos UNIX, compatibilidad 36
sistemas SMP 128
sp_bindcache 116, 135
sp_cacheconfig 116, 135
sp_cachestrategy 119, 135
sp_chgattribute 135
sp_configure 127, 136, 142
deadlock checking period 125, 142
freelock transfer block size 126
identity grab size 132
lock promotion 128
max engine freelocks 126
porcentaje de utilización de página 120
promedio de spinlock de bloqueos de dirección
124
153
Índice
promedio de spinlock de bloqueos de página 124
promedio de spinlock de bloqueos de tabla 124
proporción de spinlock de caché de diario de usuario
122
tamaño de caché de diario de usuario 122
sp_dboption 136
auto identity 132
identity in nonunique index 132
sp_displaylevel 135
sp_dropglockpromote 135
sp_helpartition 121, 135
sp_helpcache 116, 135
sp_logiosize 118, 135
sp_procqmode 136, 143
sp_setpglockpromote 128, 136
sp_unbindcache 116, 136
sp_unbindcache_all 136
SQLJ en Adaptive Server 6
SSL, definición 8
subconsultas 142, 145
cambios introducidos en 130
restricciones 144
resultados NULL 144
suid (Id. de usuario de servidor), creador de objeto y 54
supervisión desde el Monitor de rendimiento de Windows
NT 113
suspender bases de datos 37
Sybmail 112
T
tabla del sistema
sysattributes 62, 136
syscolumns 61
sysconfigures 62, 137
syscoordinations 61
syscurconfigures 137
sysdatabases 137
sysdevices 61
syservroles 62
sysindexes 137
sysjars 61
syslocks 61
syslogins 62
syslogshold 122, 136
154
syspartition 136
sysprocesses 61
syssessions 62
systransactions 62
sysusers 62
sysxtypes 62
titles 45
tabla syssrvroles 62
tablas con particiones 120
posición de los datos y 148
tablas de pila 120
tablas de sistema 24
tablas del sistema 61, 136
tablas hash 124
tablas, número de, en una consulta 41
tamaño de columna 3
tamaño de E/S de diario 118
tamaños de páginas lógicas 2
tarea housekeeper
escrituras libres y 126
tiempo de recuperación, tarea housekeeper y 126
tipos de datos
clases de java como 41
mejoras para 45
tipos de datos image 45
tipos de datos text 45
transacciones
administración de distribuidas 47
ejecución en dos fases 109
limitaciones con sp_add_resource_limit 106
transacciones activas más antiguas 122
transacciones distribuidas, administración 47
Transact-SQL, ejecución dinámica de 44
U
uniones
fusionadas 42
utilización de sintaxis ANSI 43
uniones ANSI 43
uniones de fusión 42
usuarios, número de para 12.5 4
utilidad buildmaster -y 127
utilidad extractjava (UNIX) 60
utilidad extrjava (NT) 60
Índice
utilidad installjava (UNIX) 61
utilidad instjava (NT) 61
utilización de la CPU, proceso housekeeper y
X
126
XP Server 94
prioridad 95
V
variable global @@ textts 133
variable global @@textcolid 133
variable global @@textptr 133
variables globales
@@textcolid 133
@@textdbid 133
@@textobjid 133
@@textptr 133
@@textts 133
variables globales image 133
variables globales text 133
variables, longitud máxima 3
vistas, utilización de operadores union
volcados, base de datos, actualización
7
130, 148
155
Índice
156
Descargar