Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Réplications
Réplications Forum d'entraide sur les différentes réplications de MS SQL Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2005, 11h18   #1
Membre régulier
 
Inscription : mars 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 77
Points : 79
Points : 79
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.

Citation:
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 :
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
IG_Snoop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2005, 14h37   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

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

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Pourquoi ne pas répliquer les tables sous-jacentes plutôt que la vue ?
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2005, 14h52   #3
Membre régulier
 
Inscription : mars 2005
Messages : 77
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 77
Points : 79
Points : 79
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.
IG_Snoop est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h27.


 
 
 
 
Partenaires

Hébergement Web