INF: Changes to SQL Server 6.5 affectant 6.0 applications

Traductions disponibles Traductions disponibles
Numéro d'article: 152032 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article contient une liste des modifications apportées à Microsoft SQL Server version 6.5 qui peut-être affecter vos applications existantes de SQL Server version 6.0.

Contenu :
  1. Modifications de table système
  2. Système stockées les modifications de procédure et des modifications au format
  3. Nouvelle installation par défaut
  4. Mots clés
  5. FROM clause et les noms des tables
  6. SELECT DISTINCT avec ORDER BY
  7. Autorisations REFERENCES requises pour créer la clé étrangère
  8. SELECT INTO ou CREATE VIEW sans nom de la colonne
  9. Jeux de RAISERROR @ @Error à 0 si la gravité est inférieur ou égal à 10
  10. Procédure de démarrage : sp_sqlregister
  11. Par défaut des curseurs avant uniquement pour les curseurs dynamiques
  12. Plans de curseurs sur les procédures stockées sont mis en cache
  13. Nouveau service : MSDTC
  14. Instruction USE dans réinitialise EXECUTE sur l'achèvement
  15. Paramètres du pilote ODBC
  16. Syntaxe de jointure et l'indicateur de trace 204
  17. Objets créés dans une transaction
  18. SELECT INTO est maintenant une opération atomique
  19. Connexions de ISQL/W réduites en raison d'une plus grande taille de paquet
  20. Variables globales non autorisées dans CHECK et des contraintes DEFAULT
  21. Documentation en ligne : Nouvel Observateur
  22. VBSQL.ocx remplace VBSQL.vbx
  23. Plan de requête graphique a été supprimée.
  24. Procédures stockées étendues
  25. Problèmes futurs

Plus d'informations

1. Modifications de table système

Certaines modifications aux tables système ont été : nouvelles colonnes ont été ajoutés, la signification ou le contenu de certaines colonnes ont été modifiées, et certaines nouvelles tables système ont été ajoutés. Pour plus d'informations, consultez la documentation SQL Server 6.5, nouveautés de SQL Server 6.5, partie 4: «Nouveautés de Transact-SQL».

2. Système stockées les modifications de procédure et les modifications de format

Des modifications ont été plusieurs procédures stockées système. Dans de nombreux cas, la fonctionnalité a été développée pour inclure les nouvelles fonctionnalités de la version 6.5 de SQL Server. Dans certains cas, le format de sortie a été modifié pour fournir une présentation plus claire des informations. Pour plus d'informations, consultez la documentation SQL Server 6.5, nouveautés de SQL Server 6.5, partie 4: «Nouveautés de Transact-SQL».

3. Nouvelle Installation par défaut

Le répertoire racine par défaut sur les nouvelles installations est MSSQL plutôt que SQL60 (comme dans 6.0) ou SQL (comme dans 4.2 x). Lorsque vous effectuez une mise à niveau un 4.2 x ou installation 6.0, le nom de répertoire existant est conservé.

4. Mots clés

Les mots suivants, il est réservés dans SQL Server 6.0, sont des mots clés dans SQL Server 6.5 :
   AUTHORIZATION     FULL      OUTER          SCHEMA
   CASCADE           INNER     PRIVILEGES     WORK
   CROSS             JOIN      RESTRICT
   ESCAPE            LEFT      RIGHT
				

Le mot DISTRIBUTED est également un nouveau mot clé dans SQL Server 6.5.

Tous les objets de base de données sont automatiquement vérifiées pour est en conflit avec ces nouveaux mots-clés en exécutant ChkUpg65.exe.

5. FROM clause et les noms des tables

Dans SQL Server 6.5, les erreurs sont signalées lorsque des noms de table redondants apparaissent dans la clause FROM. Par exemple, les instructions SELECT ci-dessous ont été pris en charge dans les versions précédentes, mais génèrent des erreurs dans SQL Server 6.5. Dans la première instruction SELECT, les tables ont été traités comme deux tables différentes. Dans la seconde instruction SELECT référence de l'auteur de la deuxième est ignoré.
   SELECT * FROM pubs..authors, pubs.dbo.authors
   SELECT * FROM authors, authors
				

Auparavant, SQL Server utilisé des comparaisons de chaînes seul pour déterminer si deux noms de table identifié la même table. Par exemple, pubs.dbo.authors et pubsauteurs ont été considérés comme des tables différentes. Maintenant si deux noms de table ne sont pas identiques, l'ID de base de données et les ID de table sont comparées pour déterminer si elles sont la même table. Précédemment dans une instruction de mise à jour SQL Server aurait simplement trouver la première table dans la clause FROM qui correspondait à un nom de colonne non qualifiés et supposent que qui a été la table de l'utilisateur signifiait. Maintenant, ce type de requête entraîne une erreur, car il est incertain quelle table doit être mis à jour. Indicateur de trace 110 désactivera toutes ces modifications.

6. SELECT DISTINCT avec ORDER BY

Les versions précédentes de SQL Server autorisaient les requêtes SELECT DISTINCT contenant des colonnes de tri dans la clause ORDER BY qui n'étaient pas dans la liste de sélection. Par exemple :
   SELECT DISTINCT au_id FROM authors ORDER BY au_lname
				

SQL Server 6.5 est conforme à la norme ANSI, ce qui entraîne une erreur 145 :
Éléments Order by doivent figurer dans la liste sélection si SELECT DISTINCT est spécifié.

Trace flag 204 permet le comportement ancien, non-ANSI (ainsi que tout autre comportement non-ANSI impliquant des sous-requêtes, etc. à partir de SQL Server 6.0).

7. Autorisation de références requise pour créer la clé étrangère

Dans SQL Server 6.5, si vous créez une clé étrangère sur une table dont vous n'êtes pas propriétaire, vous devez avoir les autorisation REFERENCES sur la table ; cela est conforme à la norme ANSI. Dans SQL Server 6.0, l'autorisation SELECT uniquement a été nécessaire pour la table référencée. Indicateur de trace 237 permet à l'ancien comportement.

8. SELECT INTO ou CREATE VIEW sans nom de la colonne

Dans SQL Server version 6.5, une erreur se produit si aucun nom de colonne n'est attribué à une colonne créée par une instruction SELECT INTO ou CREATE VIEW. Par exemple, CREATE VIEW testview AS SELECT au_id, upper(au_lname) FROM authors génère dans message d'erreur 4511 :
Créer la vue a échoué car aucun nom de colonne n'a été spécifié pour la colonne 2.
Un alias de colonne doit être spécifié pour la deuxième colonne.

SQL Server 6.0 autorisé ce ; la description du drapeau de trace 246 permet à l'ancien comportement.

9. Jeux de RAISERROR @ @Error à zéro si la gravité est dix ou moins

L'instruction RAISERROR maintenant définit @@ ERROR à zéro si la gravité est compris entre un et dix inclus (messages de gravité niveaux dix et sous ne sont pas des erreurs, mais ils fournissent plus d'informations). Si vous définissez l'argument msg_id à l'aide de l'option WITH SETERROR, l'instruction RAISERROR assigne l'id_de_message pour @@ ERROR indépendamment de gravité.

Dans SQL Server version 6.0, @ @Error est définie à 50 000 pour les messages avec dix niveaux de gravité et sous.

Pour rétablir le comportement de la version 6.0 SQL Server, utilisez l'option SETERROR ou un indicateur de trace 2701.

10. Procédure de démarrage: sp_sqlregister

Dans SQL Server 6.5, la procédure stockée sp_sqlregister est installé sous la forme d'une procédure de démarrage par défaut. Au démarrage, sp_sqlregister rassemble des informations de configuration de base du système d'exploitation, réseau et SQL Server et diffuse ensuite la présence de SQL Server sur le réseau. N'importe quel serveur exécutant xp_sqlinventory peut collecter les informations dans une table. Il est possible d'exécuter la procédure stockée sp_unmakestartup pour supprimer sp_sqlregister sous la forme d'une procédure stockées de démarrage.

11. Par défaut curseurs avant uniquement pour les curseurs dynamiques

Dans SQL Server 6.5, les curseurs avant uniquement sont dynamiques par défaut, ce qui permet l'ouverture de curseur plus rapide et permet également que le jeu de résultats pour afficher les mises à jour apportées aux tables sous-jacentes. Les curseurs dynamiques sont plus rapides dans la version 6.5 et n'exigent plus d'index uniques.

Indicateur de trace 7501 désactive les améliorations du curseur dynamique et revient au comportement de la version 6.0.

12. Plans pour les curseurs sur les procédures stockées sont mis en cache

SQL Server 6.5 met en cache les plans pour les curseurs pour certaines procédures stockées étendues ; cela permet un gain de performances pour de nombreuses opérations de curseur. Cependant il utilise également cache de procédure pour contenir ces plans, peut-être affecter une application mise en cache comportement (et performances). Indicateur de trace 7502 désactive cette mise en cache des plans de curseur.

13. Nouveau Service : MSDTC

Un nouveau service est installé avec SQL Server 6.5. Le service MSDTC est le coordinateur de transactions distribuées, qui fournit les fonctionnalités de la transaction entre serveurs (validation à deux phases automatique). Normalement le service MSDTC ne devrait pas affecter les applications existantes (autre que la cohérence transactionnelle automatique), mais il nécessite de mémoire et temps de traitement, donc il peut affecter les applications existantes. Le service peut être arrêté si ses fonctionnalités ne sont pas nécessaires.

14. Instruction USE dans réinitialise EXECUTE sur l'achèvement

Dans SQL Server 6.5, à la fin de EXECUTEing une chaîne qui contient une instruction USE, la base de «données en cours» sera automatiquement réinitialisé à la base de données qui était en cours utilisée avant la EXECUTE. Dans SQL Server 6.0, la base de «données en cours"définition conservées après la EXECUTE.

Pour provoquer le même comportement que dans SQL Server 6.0, chaque instruction qui doit être exécutée dans la base de données utilisée doit être exécutée sous la forme d'une chaîne à l'aide de l'instruction USE précède. Le lot suivant affiche «pubs» dans SQL Server 6.0 ; dans SQL Server 6.5, il renvoie «maître:»
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb)
   go
   SELECT db_name()
   go
				

Pour obtenir le comportement de SQL Server 6.0 dans SQL Server 6.5, le lot suivant doit être utilisé :
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb + 'SELECT db_name()')
   go
				

Ce lot exécute l'instruction SELECT dans la base de données utilisée, mais retourne à la base de données master à la fin.

15. Paramètres du pilote ODBC

Article de la base de connaissances Microsoft 149921 présente certaines des modifications de paramètre ANSI dans le pilote ODBC Microsoft SQL Server 2.65.0201 susceptibles d'affecter les applications. En règle générale, elles sont toutes provoquées par les options SET suivantes forcer la conformité ANSI :
   SET TEXTSIZE 2147483647
   SET ANSI_DEFAULTS ON
   SET CURSOR_CLOSE_ON_COMMIT OFF
   SET IMPLICIT_TRANSACTIONS OFF
				

16. JOIN indicateur de trace 204 et syntaxe

Bien que les opérateurs de jointure externe * = et = * à partir des versions antérieures de SQL Server sont pris en charge, vous ne pouvez pas utiliser les opérateurs de jointure externe et tableaux de style joint ANSI-SQL dans la même requête.

Lorsque trace flag 204 est activée, seule syntaxe de l'instruction SELECT à partir de versions 6.0 et antérieures de SQL Server est autorisée ; les tables jointes, les tables dérivées et les autres fonctionnalités ANSI ne sont pas autorisées.

17. Les objets créés dans une transaction

SQL Server 6.5 permet aux objets d'être créé dans une transaction. Ces opérations sont protégées par les règles transactionnelles standard et peuvent être validées ou annulées revenir si nécessaires. Toutefois, la création d'un objet dans une transaction provoque des verrous être conservés sur les tables système dans la base de données jusqu'à ce que la transaction création valide ou annule. Utilisation attention quand vous créez des objets à l'intérieur d'une transaction, y compris la création d'objets temporaires dans la base de données tempdb.

18. SELECT / INTO est maintenant une opération atomique

SELECT INTO est maintenant une opération atomique et maintient des verrous exclusifs sur sysindexes, sysobjects et syscolumns pendant la durée de le SELECT / INTO ou l'ensemble de la transaction au sein d'une transaction.

19. Connexions ISQL/W réduites en raison d'une plus grande taille de paquet

Le nombre de connexions de ISQL/w sur les clients Win16 est affecté par la valeur de configuration Network Packet Size de SQL Server. Plus le Network Packet Size (minimum 512 octets), les connexions simultanées plus vous pouvez apporter à partir du même client de DB-Library, car plue la taille de paquet réseau, davantage de ressources système est utilisés sur le client Windows 3.x. Si la taille de paquet réseau côté serveur est configurée pour être 512, vous devez pouvoir effectuer le même nombre de connexions que vous pourriez dans SQL Server 6.0 à partir du même client. Pour plus d'informations, consultez la base de connaissances Microsoft article 150909 "INF: nombre de connexions pour les clients SQL Server 6.5 Win16."

20. Globales Variables non autorisées dans CHECK et des contraintes DEFAULT

Les variables globales (tels que @ @SPID, etc.) ne peut pas être utilisées dans les contraintes CHECK ou DEFAULT (dans les instructions CREATE TABLE ou ALTER TABLE). Cela a jamais été documenté comme une option valide et s'il est désormais marqué comme syntaxe non valide, produisant erreur 112 :
Les variables ne sont pas autorisées dans l'instruction CREATE TABLE.

Fonctions intégrées de continuer à travailler dans des contraintes.

21. Documentation en ligne : Nouvel Observateur

La documentation en ligne de SQL Server 6.5 utilise le programme InfoView.exe pour afficher le texte plutôt que MSIN32.exe qui a été utilisé précédemment.

SQL Server ne doit pas être installé afin de lire la documentation en ligne ; ils peuvent être installés indépendamment en procédant comme suit :
  1. Créer un répertoire (c:\sqlbks peut-être)
  2. Copiez les fichiers \sqlbks65\sqlbooks.* et \i386\InfoView.exe à partir du CD-ROM dans ce répertoire. MSIN32.EXE de 6.0 ne fonctionnera pas comme lecteur pour les 6.5 livres, vous avez besoin de InfoView.exe (il n'a pas besoin de DLL).
  3. Créer un élément du Gestionnaire de programmes avec :

    Une ligne de commande du répertoire de travail c:\sqlbks\infoview.exe sqlbooks.mvb A de c:\sqlbks
Vous devez maintenant être en mesure de lire les manuels en ligne.

22. VBSQL.ocx remplace VBSQL.vbx

Un projet Visual Basic 3.0 qui utilise l'ancienne 16 bits DB-Library pour Visual Basic, VBSQL.vbx, doit être porté à la nouvelle bibliothèque DB-Library pour Visual Basic OLE contrôle personnalisé, VBSQL.ocx. Pour plus d'informations, consultez SQL Server 6.5 documentation en ligne, «Portage d'une ancienne DB-Library pour Visual Basic Project».

23. Graphique Showplan A été supprimée.

En raison de modifications apportées à la sortie SHOWPLAN, les onglets de ShowPlan graphiques ne sont plus disponibles dans SQL Enterprise Manager de l'outil requête et dans ISQL/w.

24. Procédures stockées étendues

En raison des modifications pour les structures sous-jacentes, toutes les procédures stockées étendues écrits dans le langage de programmation C doivent être recompilées à partir du code source C et lié à nouveau sous Microsoft SQL Server version 6.5 à OPENDS60.LIB.

Bien que dans SQL Server 6.0 vous Impossible de rappeler le serveur à partir d'un XP, ce n'était pas pris en charge. Ces connexions de «bouclage» sont pris en charge dans SQL Server 6.5 à l'aide de connexions associées plusieurs connexions peuvent partager le même espace de verrouillage de transaction et la même transaction et peuvent travailler sur les mêmes données sans conflits de verrouillage.

25. Problèmes futurs

SQL Server 6.5 comprend de nouvelles fonctionnalités qui remplacent les fonctionnalités de certaines fonctionnalités précédentes. Bien que toutes les fonctionnalités de SQL Server 6.0 continuent à être prises en charge dans 6.5, les versions futures de SQL Server ne prend peut-être pas en charge certaines instructions où la même fonctionnalité peut être obtenue à l'aide d'autres moyens. Par exemple, les fonctionnalités suivantes sont prises en charge dans 6.5 mais peuvent être en rupture de stock dans les versions ultérieures :
  • Mode de navigation : Bien que SELECT FOR BROWSE est pris en charge dans 6.5, la fonctionnalité de la clause FOR BROWSE dans les instructions SELECT peut maintenant être obtenue plus efficacement à l'aide de curseurs.
  • Périphérique miroir dans SQL Server : Si votre installation de SQL Server utilise actuellement la mise en miroir de SQL Server, il est recommandé d'utiliser la mise en miroir de la fonctionnalité de Windows NT ou la mise en miroir matérielle à la place.
  • Syntaxe de jointure externe : Avec SQL Server 6.5, le ' * = ' et ' = * ' syntaxe pour les jointures externes dans une clause WHERE peut être remplacée par la norme ANSI-syntaxe de jointure dans la clause FROM, à l'aide de :

    LEFT OUTER JOIN, RIGHT OUTER JOIN et FULL OUTER JOIN.
  • Chaînes entre guillemets doubles : L'utilisation du caractère de guillemet double doit être réservée pour délimités ou identificateurs entre guillemets. Bien qu'il soit toujours possible d'utiliser le guillemet double pour délimiter une chaîne de caractères (au lieu d'un nom d'objet), si SET QUOTED_IDENTIFIER ON soit exécutée, n'importe quelle chaîne délimitée par des guillemets doubles sera supposé pour être un identificateur.
  • Pas égal à (! =): syntaxe ANSI le standard représentant 'est pas égal' est '<>'. Cela doit être utilisé à la place de «! =» dans tous les cas.
  • NULL comparaison (= NULL): Norme de l'ANSI est IS NULL et doit être utilisée dans tous les cas. En fait, si SET ANSI_NULLS ON est en effet, "= NULL" renverra FALSE dans tous les cas, car ANSI Spécifie qu'aucune valeur (NULL même lui-même) est égal à NULL.
  • Indicateurs de trace : SQL trace doit être utilisé pour l'analyse de la mémoire tampon de réception au lieu d'utiliser des indicateurs de trace 4030 et 4032.

    Conformément à la documentation en ligne, les indicateurs de trace doivent être utilisés pour contourner un problème temporairement jusqu'à ce qu'une solution permanente est mises en place. Bien que les informations fournies par les indicateurs de trace permettent de vous diagnostiquer les problèmes, n'oubliez pas que les indicateurs de trace ne font pas partie de l'ensemble des fonctionnalités prises en charge. Cela signifie que la compatibilité future ou continuer à utiliser n'est pas garantie.
Interruption de l'utilisation des fonctionnalités suivantes doit également être considérées comme :
  • Segments : Segments définis par l'utilisateur sont souvent utilisés pour les objets de base de données à être placé sur certains périphériques pour des raisons de performances. L'utilisation de périphériques RAID multi-disk fournissent généralement une augmentation des performances de moindre coût d'administration associé supérieure.
  • La bibliothèque DB-Library bibliothèque de validation en deux phases : Le Distributed Transaction Coordinator offre désormais cette possibilité automatiquement.

Propriétés

Numéro d'article: 152032 - Dernière mise à jour: mercredi 12 février 2014 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 6.5 Édition Standard
Mots-clés : 
kbnosurvey kbarchive kbmt KB152032 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 152032
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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