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

Développement SQL Server Discussion :

Script SQL mal généré et de manière aléatoire


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 60
    Points : 39
    Points
    39
    Par défaut Script SQL mal généré et de manière aléatoire
    Bonjour

    je suis confronté a un problème très bizarre: j'ai une stored proc exécutée sur une DB A qui génère du script SQL d'insert de data des tables de la DB A, script qui ensuite est tourné sur une DB B, bref en gros ça copie de A vers B. Le fait que ce soit fait en 2 étapes est normal.

    Le script généré est grosso modo sous la forme suivante :

    allocation d'une variable avec le nom de la table 1
    insert du record 1 de la table 1
    insert du record 2 de la table 1
    insert du record 3 de la table 1
    ....
    insert du record n de la table 1

    allocation d'une variable avec le nom de la table 2
    insert du record 1 de la table 2
    insert du record 2 de la table 2
    insert du record 3 de la table 2
    ....
    insert du record n de la table 2

    etc...

    le script est généré correctement sur ma base de test et de pre-prod.
    En revanche sur ma base de prod (et uniquement sur celle-ci) le script est généré de la manière suivante:


    allocation d'une variable avec le nom de la table 1
    insert du record 1 de la table 1
    insert du record 2 de la table 1
    insert du record 3 de la table 1
    ....
    insert du record n de la table 1


    insert du record 1 de la table 2
    insert du record 2 de la table 2
    allocation d'une variable avec le nom de la table 2
    insert du record 3 de la table 2
    ....
    insert du record n de la table 2

    etc...

    donc un bout de script est généré au mauvais endroit. De plus, le mauvais endroit n'est jamais le même, et il se peut aussi que ça se produise a 2 endroits différents dans le même script.

    Les stored procs utilisées sont bien évidemment les mêmes sur ma base de test et de prod, tout est identique, sauf le serveur.
    Donc je me posais la question si cela pouvait venir d'un problème de fuite ou d'allocation mémoire sur le serveur de prod, ou d'un quelconque problème lie a la mémoire ?
    Ou autre chose ? J'avoue que la je sèche, ça fait + de 24h que je cherche sans trouver. Le plus chiant est de ne pas réussir a reproduire l'erreur.

  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 776
    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 776
    Points : 52 751
    Points
    52 751
    Billets dans le blog
    5
    Par défaut
    Tout dépend du script, mais je parierait sur le fait que ton script se base sur un ordre hypothétique des lignes de table, alors que ce concept n'existe pas du fait de la nature ensembliste du SQL...
    Et par exemple, si la requête de génération fait du parallélisme (ce qui est le cas si le volume à traiter est important), les lignes seront mélangées....
    Il y a bien entendu d'autres cas possible....

    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/ * * * * *

Discussions similaires

  1. Import Script SQL généré par PowerAMC
    Par nollalolla dans le forum SQL
    Réponses: 2
    Dernier message: 01/04/2013, 16h53
  2. Requête SQL qui fonctionne de manière aléatoire
    Par weberick dans le forum Bases de données
    Réponses: 13
    Dernier message: 18/11/2011, 12h00
  3. Réponses: 6
    Dernier message: 04/06/2008, 13h27
  4. lancer un script de manière aléatoire
    Par emilie75 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/09/2006, 10h13
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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