IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Bug SQLServer sur le SELECT ?


Sujet :

MS SQL Server

  1. #1
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut Bug SQLServer sur le SELECT ?
    Bonjour,
    Des collègues mon rapporté un bug assez bizarre.
    Voici le scénario du script.

    1 - Ouverture d'un transaction
    2 - Insertion de 1000 lignes dans une table
    3 - Exécution de ces trois requêtes : select count(*) from matable; select * from matable; select count(*) from matable;
    4 - Commit de la transaction.

    Le 3 SELECT à la suite n'affiche rien car il attend la fin de la transaction pour la table en question. Je précise que les 3 select s'execute depuis un autre ordinateur.

    5 - Les 3 SELECT affiches les résultat suivant : 1:9xx; 2:1000 lignes; 3:1000 lignes


    9xx c'est le faite que le premier SELECT COUNT n'affiche pas le bon nombre enregistré et ceci de façon aléatoire. Les deux suivantes affiche le bon nombre de données enregistré.
    Si ils utilisent WHITH ROW LOCK il affiche bien 1000 lignes.

    Quelqu'un aurait une explication de ce COUNT ou SELECT retournant un nombre aléatoire. Car même avec le SELECT * il retourne un nombre aléatoire. En faite la première requête après le COMMIT est fausse.

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 850
    Points : 52 984
    Points
    52 984
    Billets dans le blog
    6
    Par défaut
    Votre demande est totalement incomplète !
    1) quelle version de SQL server : 7, 2000, 2005, 2008 ?
    2) quelle édition de SQL Server : Express, Standard, Enterprise...
    3) quel niveau de service pack ???

    Pour cela : SELECT @@version et sp_msver. Postez le résultat INTEGRAL de ces commandes.

    4) comment insérez vous les 1000 lignes (INSERT VALUES, INSERT SELECT, BULK INSERT, bcp) ? Donnez le script exact de ce que vous faites !

    5) quel est le niveau d'isolation de la transaction ?

    6) quel est la table visée ? Donnez en le DDL comprenant tout : colonnes, index contraintes, triggers...

    Après on pourra peut être voir s'il s'agit d'un bug. Pour cela il faudra le reproduire !

    A +

Discussions similaires

  1. Gros bug sur un select sous Firefox
    Par CaviarNAS dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 14/11/2011, 10h52
  2. Pb sur un SELECT d'un table SqlServer via un dblink Oracle
    Par Cathy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/08/2007, 19h11
  3. Faire apparaître un champ texte en cliquant sur un select
    Par yoyot dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2005, 16h16
  4. ajout de colonnes sur une selection
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/08/2004, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo