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

Réplications SQL Server Discussion :

réplication d'une vue


Sujet :

Réplications SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut réplication d'une vue
    lut,

    j'ai un problème au niveau d'une vue et de sa réplication.
    Il me faut absolument une vue indexée pour pouvoir ensuite la répliquer mais il y a beaucoup de restriction au niveau de la structure de la vue : sous-requête, tables dérivées, union, jointure externe interdits.

    Server: Msg 1936, Level 16, State 1, Line 1
    Cannot index the view 'CMA_FR.dbo.Client_TypePrest'. It contains one or more disallowed constructs.
    Du coup je me retrouve avec une vue contenant un left et donc ne pouvant pas être indexée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Create View dbo.Client_TypePrest As
    Select client.id, TypePrest.TypeOfPrestation ,
    	Case 
    	 When manage.ofMasterAcc is Null Then client.ofAccount
    	 else manage.ofMasterAcc
    	End As ofAccount
    From  dbo.Types_Prestations TypePrest 
    Inner join dbo.Entrp_Clients client on client.isActive = 1
    Left join dbo.Invoice_PrestMgnt manage on 
    client.ofAccount = manage.ofAcc 
    And TypePrest.TypeOfPrestation = manage.TypeOfPrestation 
    And manage.isActive = 1
    y'a-t-il un moyen de répliquer cette vue sans index ?
    Sinon y'a-t-il un moyen de simuler le left join ?

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 220
    Points : 19 546
    Points
    19 546
    Billets dans le blog
    25
    Par défaut
    Pourquoi ne pas répliquer les tables sous-jacentes plutôt que la vue ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Points : 90
    Points
    90
    Par défaut
    Dans un souci d'optimisation, le résultat de la vue est, lors de la réplication, transformé en table.

    Les tables sous jacentes sont déjà prises en compte lors du processus de réplication. Le seul intérêt, ici, est de créer une nouvelle table à partir de la selection de la vue. Ce qui permet aux abonnés de travailler directement sur l'ensemble des données qui les interressent.

Discussions similaires

  1. Réplication d'une vue
    Par oxilab dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/11/2007, 17h26
  2. réplication d'une vue
    Par IG_Snoop dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/07/2005, 15h52
  3. [TADOTable] reconnaitre le trigger INSTEAD OF d'une vue...
    Par littledoudou dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/12/2003, 13h39
  4. Export d'une vue avec LEFT JOIN
    Par schnourf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/05/2003, 14h57
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 21h22

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