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 :

Problème avec des requêtes distribuées


Sujet :

MS SQL Server

  1. #1
    Membre du Club Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 52
    Points
    52
    Par défaut Problème avec des requêtes distribuées
    Bonjour à tous,
    Je travail sous sql server 2008, et j’aimerai bien se connecter à une base de données oracle distante, j’ai alors ajouté un serveur lié à travers le fournisseur MICROSOFT OLEDB FOR ORACLE. Mon objectif final est de faire la synchronisation entre la base source (oracle) et celle sous sql server 2008. La connexion est réussie mais le temps de réponse pour les requêtes distribuées est tellement très lent sur tout pour les requêtes imbriquées (contenant des sous requêtes) mais qui ne sont pas complexes ou longues. Je précise que la base Oracle est un peu volumineuse (des millions d’enregistrements pour chaque table). Y a –il une solution pour optimiser le temps de réponse de mes requêtes, une configuration coté de mon serveur sql par exemple.
    Merci d’avance.

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Le problème est que si vous faites une jointure entre une table SQL Server et une table Oracle, sur le serveur SQL et à travers un serveur lié, alors SQL Server va demander de rapatrier l'intégralité des lignes de la table vers lui pour pouvoir ensuite traiter la requête.
    Vous pouvez renverser la vapeur en demandant à ce que la jointure soit faite de manière distante en ajoutant le hint REMOTE à la jointure.

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

  3. #3
    Membre du Club Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 52
    Points
    52
    Par défaut
    Merci de votre réponse, mais dans mon cas il s'agit d'une jointure au niveau de la base Oracle, seulement via un serveur lié sous sql server (pas de jointures avec mes propres tables sql server).

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Alors quel est l'intérêt d'un serveur lié ???

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

  5. #5
    Membre du Club Avatar de Abdellah2010
    Homme Profil pro
    Future développeur
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Future développeur
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 52
    Points
    52
    Par défaut
    Salut !
    Au fait je cherche à synchroniser ma base locale sql server avec celle d'Oracle.pour cela je procède dans un premier temps à exécuter des requêtes distribuées, j'ai remarqué alors que le temps nécessaire pour renvoyer les résultats pour deux tables en jointure et très élevé. D'ailleurs j'ai crée une procédure stockée qui synchronise tous les tables dont j'ai besoin, mais je doit alors optimiser le temps de réponse avant tout.
    Merci.

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Abdellah2010 Voir le message
    ... j'ai remarqué alors que le temps nécessaire pour renvoyer les résultats pour deux tables en jointure et très élevé. ...
    Donc vous faites bien des jointures !

    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
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Vérifiez peut être le paramètre batchsize (ou fetchsize) du connecteur, la valeur par défaut n'est peut être pas la plus appropriée à vos possibilités de réseau ou autre

    https://technet.microsoft.com/en-us/...ql.100%29.aspx
    https://docs.oracle.com/cd/E11882_01...g.htm#i1017121
    https://xzwang.wordpress.com/2013/06...b-performance/

  8. #8
    Membre actif
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 141
    Points : 210
    Points
    210
    Par défaut
    Citation Envoyé par Abdellah2010 Voir le message
    Salut !
    Au fait je cherche à synchroniser ma base locale sql server avec celle d'Oracle.pour cela je procède dans un premier temps à exécuter des requêtes distribuées, j'ai remarqué alors que le temps nécessaire pour renvoyer les résultats pour deux tables en jointure et très élevé. D'ailleurs j'ai crée une procédure stockée qui synchronise tous les tables dont j'ai besoin, mais je doit alors optimiser le temps de réponse avant tout.
    Merci.
    Pouvez vous nous données une requette d'exemple que vous utilisé pour la synchro ?
    j'ai effectuer la même chose que vous mais de serveur sql server à sql server (cela me permet de passer ma prod en recette en cas de problème avec un simple bouton)

    Un exemple de requette donnerai un bonne idée de votre projet.
    DSI et développeur du logiciel Lulidb
    http://www.lulidb.com - outils de gestion de base de données orienté développer.

Discussions similaires

  1. [2012] Problème avec des requêtes dynamiques
    Par StripMat dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 20/06/2014, 17h53
  2. [AC-2007] Problème avec des requêtes imbriquées
    Par triaguae dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/02/2011, 14h43
  3. Problème avec des requète imbriquée dans le from
    Par Stouille33 dans le forum Développement
    Réponses: 5
    Dernier message: 23/10/2008, 19h17
  4. Problème avec des sous requêtes
    Par nicocolt dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/10/2007, 15h19
  5. Problème avec des requêtes
    Par yoda7666 dans le forum ASP
    Réponses: 13
    Dernier message: 09/03/2006, 18h16

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