INF: Cambia a SQL Server 6.5 que afectan a la 6.0 aplicaciones

Seleccione idioma Seleccione idioma
Id. de artículo: 152032 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo contiene una lista de los cambios realizados en Microsoft SQL Server versión 6.5 que puede afectar a las aplicaciones de versión 6.0 de SQL Server existentes.

Contenido:
  1. Cambios de la tabla del sistema
  2. Cambios en los procedimientos y cambios el almacenados del sistema en formato
  3. Valores predeterminados de instalación nueva
  4. Palabras clave
  5. FROM cláusula y nombres de tablas
  6. SELECT DISTINCT con ORDER BY
  7. Permiso REFERENCES necesario para crear la clave externa
  8. SELECT INTO o CREATE VIEW sin nombre de columna
  9. RAISERROR establece @@ ERROR a 0 si es de gravedad 10 o menos
  10. Procedimiento de inicio: sp_sqlregister
  11. Predeterminado de cursores de sólo avance para cursores dinámicos
  12. Están en caché planes para cursores en procedimientos almacenados
  13. Nuevo servicio: MSDTC
  14. USE la instrucción en EXECUTE restablece en finalización
  15. Configuración del controlador ODBC
  16. Sintaxis JOIN y marca de traza 204
  17. Objetos creados en una transacción
  18. SELECT INTO es ahora una operación atómica
  19. Conexiones de ISQL/W reducidas debido a más tamaños de paquetes
  20. Variables globales no permitidas en restricciones DEFAULT y CHECK
  21. Libros en pantalla: Visor nuevo
  22. VBSQL.ocx reemplaza VBSQL.vbx
  23. Ha quitado el plan de presentación gráfica
  24. Procedimientos almacenados extendidos
  25. Problemas futuros

Más información

Cambios de la tabla de sistema 1.

Ha habido algunos cambios en las tablas del sistema: han agregado nuevas columnas, el significado o el contenido de algunas columnas se ha cambiado y han agregado algunas nuevas tablas de sistema. Para obtener más información, vea SQL Server 6.5 Books Online, novedades de SQL Server 6.5, parte 4: "Novedades de Transact-SQL".

2. Sistema almacenados cambios en los procedimientos y cambios en el formato

Ha habido varios cambios en procedimientos almacenados del sistema. En muchos casos la funcionalidad se ha ampliado para incluir nuevas características de versión 6.5 de SQL Server. En algunos casos, el formato del resultado se ha modificado para proporcionar una presentación más clara de la información. Para obtener más información, vea SQL Server 6.5 Books Online, novedades de SQL Server 6.5, parte 4: "Novedades de Transact-SQL".

3. Nueva predeterminados de instalación

El directorio de raíz predeterminado en las instalaciones nuevas es MSSQL en lugar de SQL60 (como en 6.0) o SQL (como en 4.2 x). Cuando actualiza un x 4.2 o instalación 6.0, se conserva el nombre de directorio existente.

4. Palabras clave

Las palabras siguientes reservadas en SQL Server 6.0, son palabras clave en SQL Server 6.5:
   AUTHORIZATION     FULL      OUTER          SCHEMA
   CASCADE           INNER     PRIVILEGES     WORK
   CROSS             JOIN      RESTRICT
   ESCAPE            LEFT      RIGHT
				

La palabra DISTRIBUTED también es una nueva palabra clave en SQL Server 6.5.

Todos los objetos de base de datos se comprueban automáticamente los conflictos con estas nuevas palabras clave mediante la ejecución ChkUpg65.exe.

5. FROM cláusula y nombres de tablas

En SQL Server 6.5, errores se notifican cuando los nombres de tabla redundante aparecen en la cláusula FROM. Por ejemplo, las instrucciones SELECT indican a continuación se admiten en versiones anteriores pero generar errores en SQL Server 6.5. En la primera instrucción SELECT, las tablas se trataban como dos tablas diferentes. En la segunda instrucción SELECT se descarta la referencia del autor de segundo.
   SELECT * FROM pubs..authors, pubs.dbo.authors
   SELECT * FROM authors, authors
				

Anteriormente, SQL Server utiliza las comparaciones de cadenas únicamente para determinar si dos nombres de tabla identifican la misma tabla. Por ejemplo, pubs.dbo.authors y pubslos autores se consideran que diferentes tablas. Ahora si dos nombres de tabla no son idénticos, los identificadores de base de datos y el ID de tabla se comparan para determinar si es o no son la misma tabla. Anteriormente en una instrucción UPDATE SQL Server podría buscar la primera tabla en la cláusula FROM que coincidan con un nombre de columna sin calificar y suponga que era la simplemente el usuario significaba. Ahora este tipo de consulta producirá un error, porque se no sabe con seguridad qué tabla debe actualizarse. Indicador de traza 110 deshabilitará todos estos cambios.

6. SELECT DISTINCT con ORDER BY

Las versiones anteriores de SQL Server permiten consultas SELECT DISTINCT que contiene las columnas de ordenación de la cláusula ORDER BY que no estaban en la lista de selección. Por ejemplo:
   SELECT DISTINCT au_id FROM authors ORDER BY au_lname
				

SQL Server 6.5 cumple con el ANSI estándar, el error 145:
Orden por elementos deben aparecer en la lista Seleccione si se especifica SELECT DISTINCT.

Indicador de traza 204 permite el comportamiento anterior, que no sean ANSI (así como otros comportamientos que no sean ANSI que implican las subconsultas, etc. de SQL Server 6.0).

7. REFERENCES permiso necesario para crear la clave externa

En SQL Server 6.5, si crea una clave externa en una tabla que no es propietario, debe tener permiso REFERENCES en la tabla; Esto cumple el estándar ANSI. En SQL Server 6.0, se requería permiso SELECT sólo en la tabla que se hace referencia. Indicador de traza 237 permite el comportamiento anterior.

8. SELECT INTO o CREATE VIEW sin nombre de columna

En SQL Server versión 6.5, se produce un error si no se especifica ningún nombre de columna a una columna creada por una instrucción SELECT INTO o CREATE VIEW. Por ejemplo, CREATE VIEW testview AS SELECT au_id, upper(au_lname) FROM authors resultado mensaje de error 4511:
Crear vista porque no se especificó ningún nombre de columna para la columna 2.
Debe especificar un alias de columna de la segunda columna.

SQL Server 6.0 permite esto; indicador de traza 246 permite el comportamiento anterior.

9. RAISERROR establece @@ ERROR a cero si la gravedad es diez o menos

Ahora la instrucción RAISERROR establece @@ ERROR a cero si la gravedad es entre uno y diez inclusive (mensajes con gravedad diez niveles y en no son errores pero proporcionan información adicional). Si establece el msg_id mediante la opción WITH SETERROR, la instrucción RAISERROR asigna el msg_id a @@ ERROR independientemente de gravedad.

En SQL Server versión 6.0, @@ ERROR se establece a 50.000 mensajes con niveles de gravedad diez y bajo.

Para volver al comportamiento de SQL Server versión 6.0, utilizar la opción SETERROR o indicador de traza 2701.

Procedimiento de inicio de 10.: sp_sqlregister

En SQL Server 6.5 sp_sqlregister el procedimiento almacenado se instala como un procedimiento de inicio predeterminada. Al inicio, sp_sqlregister recopila información de configuración básica del sistema operativo, red y SQL Server y, a continuación, se difunde la presencia de SQL Server en la red. Cualquier servidor que lleva a cabo xp_sqlinventory puede recopilar la información en una tabla. El procedimiento almacenado sp_unmakestartup se puede ejecutar para quitar sp_sqlregister como un procedimiento almacenado de inicio.

11. De sólo avance predeterminado de cursores para cursores dinámicos

En SQL Server 6.5, los cursores de sólo avance son dinámicos de forma predeterminada, que permite la apertura de cursor más rápido y también permite que el conjunto de resultados para mostrar las actualizaciones realizadas en las tablas subyacentes. Los cursores dinámicos son más rápidos en la versión 6.5 y ya no requieren índices únicos.

Indicador de traza 7501 deshabilita las mejoras de cursor dinámico y vuelve al comportamiento de la versión 6.0.

12. Planes para cursores en procedimientos almacenados están en caché

SQL Server 6.5 almacena en caché los planes de cursores para algunos procedimientos almacenados extendidos; Esto proporciona un aumento del rendimiento para muchas operaciones de cursor. Sin embargo también utilizará la caché de procedimiento para mantener estos planes, afecta quizás a una aplicación caché comportamiento (y rendimiento). Indicador de traza 7502 deshabilita este almacenamiento en caché de planes de cursor.

13. Nuevo servicio: MSDTC

Un nuevo servicio se instala con SQL Server 6.5. El servicio MSDTC es el Coordinador de transacciones distribuidas, que proporciona capacidades de transacciones entre servidores (confirmación en dos fases automática). Normalmente el servicio MSDTC no debería afectar al existentes (otras aplicaciones la automática coherencia transaccional), sin embargo, requiere cierta cantidad de memoria y algún tiempo de procesamiento, por lo que puede afectar a las aplicaciones existentes. El servicio puede detenerse si no se requieren sus características.

14. USE la instrucción en EXECUTE restablece en finalización

En SQL Server 6.5 después de finalizar EXECUTEing una cadena que contiene una instrucción USE, la base de "datos actual" automáticamente se restablecerá a la base de datos que se estaba utilizando antes el EXECUTE. En SQL Server 6.0, la base de "datos actual" configuración se conserva después de la EXECUTE.

Para hacer que el mismo comportamiento que en SQL Server 6.0, se debe ejecutar cada instrucción que debe ejecutarse en la base de datos utilizado como una cadena con la instrucción USE antepuesta. El siguiente lote generaría "pubs" en SQL Server 6.0; en SQL Server 6.5 envía "patrón:"
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb)
   go
   SELECT db_name()
   go
				

Para obtener el comportamiento de SQL Server 6.0 en SQL Server 6.5, debe utilizarse el siguiente lote:
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb + 'SELECT db_name()')
   go
				

Este lote se lleva a cabo la instrucción SELECT en la base de datos utilizado pero se devuelve a la base de datos principal al finalizar.

Configuración del controlador ODBC de 15.

Artículo 149921 explica algunas de los cambios de configuración ANSI en el controlador ODBC de Microsoft SQL Server 2.65.0201 que podrían afectar a las aplicaciones. Generalmente, estos todo causados por las siguientes opciones SET que forzar el cumplimiento de ANSI:
   SET TEXTSIZE 2147483647
   SET ANSI_DEFAULTS ON
   SET CURSOR_CLOSE_ON_COMMIT OFF
   SET IMPLICIT_TRANSACTIONS OFF
				

16. JOIN sintaxis y el indicador de traza 204

Aunque los operadores de combinación externa * = y = * desde se admiten las versiones anteriores de SQL Server, no se puede utilizar operadores de combinación externa y tablas combinada de estilo de ANSI SQL en la misma consulta.

Cuando se habilita el indicador de traza 204, se permite la instrucción SELECT sólo la sintaxis de las versiones 6.0 y versiones anteriores de SQL Server; no se permiten tablas combinadas, tablas derivadas y otras características de ANSI.

17. Objetos creados en una transacción

SQL Server 6.5 permite que los objetos crearse dentro de una transacción. Estas operaciones están protegidas por las reglas estándar transaccionales y pueden se confirma o se deshace volver según sea necesarios. Sin embargo, la creación de un objeto en una transacción hace que bloqueos se mantienen en tablas del sistema en la base de datos hasta que se confirma o deshace la transacción de creación. Utilice precaución al crear objetos dentro de una transacción; Esto incluye la creación de objetos temporales en la base de datos tempdb.

18. SELECT-INTO es ahora una operación atómica

SELECT INTO es ahora una operación atómica y mantiene los bloqueos exclusivos sobre sysindexes, sysobjects y syscolumns para la duración de la INTO SELECT o toda la transacción si dentro de una transacción.

Conexiones de 19. ISQL/W reducidas debido a más tamaños de paquetes

El número de conexiones de ISQL/w en los clientes de Win16 se ve afectado por el valor de configuración Network Packet Size de SQL Server. Cuanto menor sea el red tamaño de paquete (mínimos de 512 bytes), las conexiones simultáneas más puede hacer desde el mismo cliente de DB-Library, puesto que cuanto mayor sea el tamaño de paquete de red, se utilizan más recursos de sistema en el cliente de Windows 3.x. Si el tamaño de paquete de red en el servidor está configurado para ser 512, debe hacer el mismo número de conexiones como puede en SQL Server 6.0 desde el mismo cliente. Para obtener más información, consulte Microsoft Knowledge Base artículo 150909 "INF: número de conexiones para clientes SQL Server 6.5 Win16."

Variables de 20. globales no permitidas en restricciones DEFAULT y CHECK

Las variables globales (como por ejemplo, @@ SPID etc.) no se puede utilizar en las restricciones CHECK o DEFAULT (en instrucciones CREATE TABLE o ALTER TABLE). Esto nunca se ha documentado como una opción válida y ahora está marcado como sintaxis no válida, producir el error 112:
No se permiten variables en la instrucción CREATE TABLE.

Funciones integradas continúan trabajando en las restricciones.

21. Libros en pantalla: Visor nuevo

Los libros en pantalla de SQL Server 6.5 utiliza el programa de InfoView.exe para ver el texto en lugar de MSIN32.exe en el que se utilizó anteriormente.

SQL Server no tiene que instalarse para leer el libros en pantalla; pueden instalarse independientemente haciendo lo siguiente:
  1. Crear un directorio (c:\sqlbks quizás)
  2. Copie los archivos de \sqlbks65\sqlbooks.* y \i386\InfoView.exe desde el CD-ROM en ese directorio. MSIN32.EXE de 6.0 no funcionará como el lector de los 6.5 libros, es necesario InfoView.exe (no necesita los archivos DLL).
  3. Crear un elemento de administrador de programas con:

    Una línea de comandos de c:\sqlbks\infoview.exe sqlbooks.mvb un directorio de trabajo c:\sqlbks
A continuación, podrá leer los libros en pantalla.

22. VBSQL.ocx reemplaza VBSQL.vbx

Un proyecto de Visual Basic 3.0 que utiliza la anterior DB-Library 16 bits para Visual Basic, VBSQL.vbx, se debe migrar para el nueva DB-Library para Visual Basic OLE control personalizado, VBSQL.ocx. Para obtener más información, consulte SQL Server 6.5 los libros en pantalla, "Trasladar un anterior DB-Library para proyecto de Visual Basic".

Ha quitado el plan de presentación gráfica 23.

Debido a cambios en la salida SHOWPLAN, las fichas de plan de presentación gráficas no están disponibles en el administrador del corporativo de SQL Query Tool y en ISQL/w.

Procedimientos almacenados extendidos de 24.

Debido a cambios a las estructuras subyacentes, de todos los procedimientos almacenados extendidos escritos en el lenguaje de programación C. deben tener a compilar desde el código fuente de C y vincular en Microsoft SQL Server versión 6.5 a OPENDS60.LIB.

Aunque en SQL Server 6.0 puede llamar a volver el servidor desde un XP, esto era no compatible. Se admiten tales conexiones de "bucle invertido" en SQL Server 6.5 mediante el uso de conexiones enlazadas en el que pueden compartir el mismo espacio de bloqueo de transacción y la misma transacción varias conexiones y pueden trabajar en los mismos datos sin conflictos de bloqueo.

Problemas futuros 25.

SQL Server 6.5 incluye nuevas características que reemplazan la funcionalidad de algunas características anteriores. Aunque todas las características de SQL Server 6.0 seguir sea compatible con 6.5, las versiones futuras de SQL Server podrían no admitir algunas instrucciones donde puede ser la misma funcionalidad lograrse mediante otros medios. Por ejemplo, las siguientes características son compatibles con 6.5, pero podrían ser suspendidas en futuras versiones:
  • Modo de exploración: Aunque SELECT FOR BROWSE es compatible con 6.5, la funcionalidad de la cláusula FOR BROWSE en las instrucciones SELECT puede ahora lograrse con más eficacia utilizando cursores.
  • Reflejo de dispositivo de SQL Server: si la instalación de SQL Server está utilizando actualmente el reflejo de SQL Server, es recomendable que utilice el reflejo de la funcionalidad de Windows NT o basado en hardware reflejo en su lugar.
  • Sintaxis de combinación externa: Con SQL Server 6.5, el ' * = ' y ' = * ' sintaxis de combinaciones externas en una cláusula WHERE puede reemplazarse por el estándar ANSI-combinación de sintaxis en la cláusula FROM, mediante:

    LEFT OUTER JOIN, RIGHT OUTER JOIN y FULL OUTER JOIN.
  • Cadenas de dobles citado: El uso de carácter de comillas dobles se debe reservar para delimitados o identificadores entre comillas. Aunque todavía se pueden utilizar comillas dobles para delimitar una cadena de caracteres (en lugar de un nombre de objeto), si se ejecuta SET QUOTED_IDENTIFIER ON, cualquier cadena delimitada por comillas dobles se supone que para ser un identificador.
  • Distinto de (! =): sintaxis estándar de la ANSI para representar 'no igual' es '<>'. Esto se debe utilizar en lugar de '! = ' en todos los casos.
  • Null comparación (= NULL): Estándar ANSI el IS NULL y debe utilizarse en todos los casos. De hecho, si SET ANSI_NULLS ON es en efecto, "= NULL" devolverá FALSE en todos los casos, porque ANSI especifica que no hay ningún valor (NULL incluso propio) es igual a NULL.
  • Indicadores de traza: Traza de SQL debe utilizarse para supervisar el búfer de recepción en lugar de utilizar indicadores de traza 4030 y 4032.

    Según los libros en pantalla, indicadores de traza deben utilizarse para solucionar temporalmente un problema hasta que se coloca una solución permanente en lugar. Aunque la información proporcionada por los indicadores de traza puede ayudar a diagnosticar problemas, tenga en cuenta que los indicadores de traza no forman parte del conjunto de características compatibles. Esto significa que no se asegura compatibilidad futura o el uso continuado.
También se debe considerar dejar el uso de las siguientes características:
  • Segmentos: Segmentos definidos por el usuario suelen utilizarse para objetos de base de datos que se colocarán en determinados dispositivos por motivos de rendimiento. El uso de los dispositivos RAID multi-disk generalmente proporcionará un mayor aumento de rendimiento con un menor costo administrativo asociado.
  • La DB-Library Two-Phase biblioteca de confirmación: La transacción distribuida coordinador ahora proporciona esta capacidad automáticamente.

Propiedades

Id. de artículo: 152032 - Última revisión: martes, 11 de febrero de 2014 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 6.5 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt KB152032 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 152032

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com