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 :

bugs dans les tables


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut [SQL vers. 8.0] bugs dans les tables
    Bonjour,

    nous avons actuellement un site intranet qui nous sert de logiciel de gestion/commerciale.. oui je sais c'est risible lol mais la réalité est là.

    Le site en lui-même fonctionne très bien et il est attaché à une base de donnée située sur SQL server (version anglaise - nous n'avons pas l'intention de mettre une version française).

    Il se trouve que dans cette base de donnée nous avons une table nommée "stock" (notre table "product" contenant plus de 15000 références) et à priori on commencerais à avoir des bugs lorsque cette table n'est pas vidée au bout de 1 à 2 mois. (ce qui nous équivaut plus de 150 000 lignes).

    Je voulais savoir quelles étaient les limites d'une table dans SQL server ? Y'a t'il un bug dû à cette limite.. parce qu'on se trouve avec des références ayant une différence de stock de plus de 200 parfois donc cela ne provient pas d'une erreur humaine !

    merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut
    Je crois que 150 000 n'est pas un nombre important, ça peut allez jusqu'à 2 millions d'enregistrement, je crois que le problème est d'ordre applicatif (interface web)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    bonjour,

    je te remercie pour ta réponse. Mais je me demande comment ça pourrait provenir de l'interface web vu que le stock est nickel pendant quelques semaines... surtout que lorsque l'on fait l'inventaire, on rentre jusqu'à 15000 lignes d'un seul coup !

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Bonjour,

    Tout dépend de la taille affectée au fichier mdf de ton serveur SQL et de la possibilité d'extension du fichier.
    De plus, je te conseille de regarder l'espace disque restant sur ton serveur et de faire des troncatures régulière de ton journal de transaction.

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    La seule limite de taille c'est celle du disque. Il n'y a pas de limite de nombre de lignes (j'ai des tables de 15 millions de lignes qui ont une intégrité correcte).

    Si tu es sous SQL Server 2005, en faisant un clic droit sur la base de données concernée, puis propriétés, et que tu sélectionnes la catégorie fichiers, tu verras quelle est la taille de ton fichier MDF (fichier qui contient les données) et de ton fichier LDF (c'est le journal de transactions).
    Tu peux également voir à quelle quantité d'espace qu'ils peuvent être amené à grossir (en %) une fois la capacité atteinte.

    N'y-a-t-il pas de processus qui tournent tous les mois ... est-ce que cette table est indexée ? S'il y a beaucoup de requêtes dessus et qu'elle ne l'est pas ou qu'elle l'est mal, tu peux avoir des deadlocks et certaines transactions ne se terminent pas...

    Donne-nous plus de détails

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Quelle version de SQL ?
    2000 Entrprise ?
    2000 Standard ?
    2000 MSDE ?
    2005 64 bits
    2005 Enterprise ?
    2005 Standard
    2005 Workgroup ?
    2005 ZExpress ?
    2005 CE ?

    Quel niveau de patch ???

    Commençons par le commencement !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Citation Envoyé par Riwalenn Voir le message
    Je voulais savoir quelles étaient les limites d'une table dans SQL server ? Y'a t'il un bug dû à cette limite.. parce qu'on se trouve avec des références ayant une différence de stock de plus de 200 parfois donc cela ne provient pas d'une erreur humaine !
    Ca provient nécessairement d'une erreur humaine ou d'un bug applicatif (code client ou code SQL). Il n'y a pas de modification des données sauvages par SQL Server, il n'y a aucun bug de ce type dans le code de SQL Server.

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Je confirme ce que dit rudi il n'y a plus de bug connu au niveau SQL Server depuis des lustres dans les différentes versions de code SQL et certainement pas de suppression ou moidification parasite. Cela provient donc forcément de l'applicatif.

    Pour les journaux de transactions (a ne pas confondre avec des journaux de log...) lire :
    http://sqlpro.developpez.com/cours/sqlserver/log/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    Bonjour,

    je te remercie pour le lien... je pense sincérement que c'est une erreur applicative et non humaine.. s'il n'y avait pas autant d'écart et surtout sur des produits que parfois l'on ne reçoit pas pendant 6 mois et qui ont donc la même quantité depuis au moins 2 ans, j'aurais été d'accord pour le côté humain.

    Croyez bien que j'ai beaucoup réfléchi aux causes de ces écarts avant de poster. Pour moi soit le site intranet soit la bdd posaient problème.

    Donc on en revient à ce foutu intranet. De toute manière avec mon collègue nous avons proposé au boss de refaire ce site en PHP et donc de revoir tout le code.. il y a trop d'interrogations, trop d'erreurs en suspens...

    de toute manière si c'est applicatif, je ne peux rien y faire, je ne m'y connais pas assez en ASP.

    merci quand même, je vais lire avec attention le lien que tu m'as apporté.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    bon j'ai trouvé le fichier log et effectivement il est un peu lourd (70go).... je voulais savoir s'il était possible de réduire la taille d'un fichier log déjà utilisé surtout que ce fichier est assez lourd mais surtout que la base est utilisée toute la journée ?

  11. #11
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Citation Envoyé par Riwalenn Voir le message
    bon j'ai trouvé le fichier log et effectivement il est un peu lourd (70go).... je voulais savoir s'il était possible de réduire la taille d'un fichier log déjà utilisé surtout que ce fichier est assez lourd mais surtout que la base est utilisée toute la journée ?
    Penche-toi sur DBCC SHRINKFILE.
    Cf l'article de sqlpro, ou http://www.developpez.net/forums/sho...d.php?t=166895

  12. #12
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Si cela est très très urgent tu peux faire DBCC SQLPERF(LOGSPACE) pour voir combien le ficher de log te prend sur disque, et le pourcentage d'occupation du log, puis DBCC SHRINKFILE 'nomLogiqueDuLogDeTransaction'.

    On peut trouver le nom logique du log de transaction en faisant un clic droit sur la base de données concernée, puis en sélectionnaint l'option "Files" dans le volet de gauche

  13. #13
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    ne pas sous tailler le journal de transaction (ce n'est pas un vulgaire fichier de "log") mais le purger en faisant des sauvegardes régulières.

    Si vraiment trop grand alors lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/sqlserver/log/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    C'est un peu hors-sujet mais si tu maîtrise le PHP tu n'auras aucun problème avec l'ASP... c'est sensiblement la même philisophie, et la syntaxe ne devrait pas te poser de problème bien longtemps si tu as dejà fait un peu de VB

Discussions similaires

  1. Validation dans les tables
    Par Isabelle27 dans le forum Access
    Réponses: 8
    Dernier message: 02/05/2006, 15h14
  2. Gestion des NULL dans les tables externes
    Par plouf2244 dans le forum Firebird
    Réponses: 1
    Dernier message: 23/03/2006, 16h55
  3. Bug dans les expressions régulières ?
    Par SergioF dans le forum Linux
    Réponses: 8
    Dernier message: 12/05/2004, 15h14
  4. Comment voir les champs créés dans les tables?
    Par Missvan dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/02/2004, 10h27

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