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 :

Deux tables en mirroring avec deux jeux d'indexes différents ?


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut Deux tables en mirroring avec deux jeux d'indexes différents ?
    Bonjour à tous,

    voilà.... tout est dans le titre

    est ce possible ?
    Errare humanum est, perseverare diabolicum (Sénèque)

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Non ce n'est pas possible, quel est l'intérêt ?
    La base de donnée mirroir n'est même pas accessible en lecture.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    merci Oishiiii

    je vais donc expliquer mon problème complet.

    J'ai une très grosse table de 2téra qui est la table dématérialisée d'un BO.

    tous les mois, on insère (et que des insert) de nouvelles lignes a cette table, venant d'un batch, qui s'appuie sur cette table (vous suivez..)

    donc pendant que ce batch tourne (environ 2 jours), la table est trop sollicitée et le boxireader rame.

    je voudrais donc déplacer le batch sur un autre serveur, y mettre une copie de la grosse table, pour que le batch ne lise plus sur la base BO.
    Comment pourrais je ensuite synchroniser ces deux tables sans avoir a faire des backup/restore?

    merci pour votre aide
    Errare humanum est, perseverare diabolicum (Sénèque)

  4. #4
    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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Notez au passage que SQL Server 2012 permettra de lire (et seulement de lire) la base de données partenaire du miroir.

    Comment pourrais je ensuite synchroniser ces deux tables sans avoir a faire des backup/restore?
    Deux solutions :

    - La réplication par snapshot, mais il vous faudra un réseau rapide
    - Service Broker, mais là c'est à SQLPro qu'il faut s'en remettre

    @++

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    merci Nicolas,

    j'attends donc que SQLPro passe par là car le réseau n'est pas des plus rapides
    Errare humanum est, perseverare diabolicum (Sénèque)

  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 768
    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 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par serge0934 Voir le message
    tous les mois, on insère (et que des insert) de nouvelles lignes a cette table, venant d'un batch, qui s'appuie sur cette table (vous suivez..)

    donc pendant que ce batch tourne (environ 2 jours), la table est trop sollicitée et le boxireader rame.
    Là vous avez réellement un problème de conception au niveau de l'alimentation de votre DW...

    Dans de gros DW (plusieurs To), l'alimentation en différentiel devrait durer au pire quelques heures....
    1) Utilisez vous SSIS ?
    2) supprimez vous les index secondaires et les ,contraintes avant l'insertion ?
    3) faite vous de l'insertion ligne à ligne ou ensembliste ?

    Bref, avant de vous tourner vers de solution de substitution, commencez par optimiser l'alimentation.

    Petit exemple : http://msdn.microsoft.com/en-us/libr...ql.100%29.aspx

    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 éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    Là vous avez réellement un problème de conception au niveau de l'alimentation de votre DW...
    oui, c'est pour cela que l'on refait tout mais la solution finale sera dispo en juin 2012, donc en attendant...

    Dans de gros DW (plusieurs To), l'alimentation en différentiel devrait durer au pire quelques heures....
    1) Utilisez vous SSIS ?
    => oui

    2) supprimez vous les index secondaires et les ,contraintes avant l'insertion ?
    => oui

    3) faite vous de l'insertion ligne à ligne ou ensembliste?
    => ensembliste

    on utilise des nvarchar au lieu des varchar, pas de text, pas de fulltext, mais
    la table a 211 champs

    un index cluster partitionné sur des luns par année

    le problème vient aussi :
    - du fait que des tables de références de la grosse table sont updatées de temps en temps et donc posent des verrous.
    - que la boite est worldwide donc bo est solicité 24/24

    donc le "pansement" serait peut être le service broker ?

    je viens de lire et de tester l'exemple simple qu'il y a sur le votre blog (de SQL pro), je vais poursuivre ....
    Errare humanum est, perseverare diabolicum (Sénèque)

  8. #8
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Citation Envoyé par serge0934 Voir le message
    oui, c'est pour cela que l'on refait tout mais la solution finale sera dispo en juin 2012, donc en attendant...
    Vous en avez encore du temps, histoire de passer tranquille les fêtes de fin d'années
    Citation Envoyé par serge0934 Voir le message
    on utilise des nvarchar au lieu des varchar, pas de text, pas de fulltext,
    si la boite est worldwide comme vous le dites alors le type unicode convient dans ce cas. le type nvarchar convient donc
    Citation Envoyé par serge0934 Voir le message
    mais la table a 211 champs
    là mon record de 132 colonnes est battu par le votre 211 colonnes, je prend note
    Etienne ZINZINDOHOUE
    Billets-Articles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formlaire avec deux tables
    Par sakia dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/05/2007, 02h13
  2. résultats requête avec deux tables
    Par ideal23 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/03/2007, 10h10
  3. affichage d'une valeur en relation avec deux tables
    Par mealtone dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 04/08/2006, 13h52
  4. Faire une procédure stockée avec deux tables
    Par mister3957 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2006, 13h54
  5. Réponses: 8
    Dernier message: 13/03/2006, 17h37

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