Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 10/03/2011, 16h21   #1
Futur Membre du Club
 
Inscription : juillet 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 109
Points : 19
Points : 19
Par défaut Full Text Search sur une vue

hello

Sur une base de données Sql Server 2008, j'ai un full text index sur une table. celle ci marche très bien, mais je souhaiterai faire la même chose sur une de mes vue, sur la même base de données.

Lorsque je chosis 'define full text index' en faisant bouton droit sur ma vue, j'ai un message qui me dit:
Citation:
Une colonne unique doit être définie sur cette table ou vue.
j'ai ce message sur la première fenetre "choisir un index".

Est ce que quelqu'un à déjà rencontré ce problème et comment l'avez vous résolu ?

Merci
Aeltith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 16h30   #2
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Pour créer un index FULL text sur une vue vous devez au préalable matérialiser cette dernière en créant une vue avec un index cluster.

Vous devez ensuite avec un index unique qui peut être l'index cluster ou un autre index.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 17h06   #3
Futur Membre du Club
 
Inscription : juillet 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 109
Points : 19
Points : 19
Oh ok très bien merci.


je vais regardé ça merci.
Aeltith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h04   #4
Futur Membre du Club
 
Inscription : juillet 2008
Messages : 109
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 109
Points : 19
Points : 19
Hello

Alors j'ai essayé de créé un index sur ma vue. Mais j'ai eu une erreur.

Voici mon script:

Code :
1
2
3
4
5
6
7
USE [MaBase]
GO
CREATE CLUSTERED INDEX [IX_VIEW_Ma_Table] ON [dbo].[VIEW_Ma_Vue] 
(
	[Mon_Champ] ASC
)WITH (STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO
J'ai utilisé l’assistant pour créer cet index et générer le script mais en lançant le script ou en utilisant l’assistant j'ai toujours une erreur qui me dit:

Citation:
Msg 1939, Level 16, State 1, Line 1
Impossible de créer index sur la vue 'VIEW_Ma_Vue' car celle-ci n'est pas liée au schéma.
Une idée ou une piste que je pourrai creuser ?
Aeltith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h05   #5
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Oui il faut recréer votre vue avec l'option WITH SCHEMABINDING

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 14h35   #6
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Citation:
Envoyé par mikedavem Voir le message
Oui il faut recréer votre vue avec l'option WITH SCHEMABINDING

++
Plus que ça : il faut surtout que les tables de la vue soient préfixées par leur schéma SQL....

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 15h19   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Plus que ça : il faut surtout que les tables de la vue soient préfixées par leur schéma SQL....

Plus que çà encore :-) vous devrez préalablement créer un index UNIQUE sur votre vue indexée...

Citation:
CREATE CLUSTERED INDEX [IX_VIEW_Ma_Table] ON [dbo].[VIEW_Ma_Vue]
(
[Mon_Champ] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
SQL SERVER vous le refusera si vous n'avez pas crée au préalable un index unique sur votre vue...
iberserk 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 18h39.


 
 
 
 
Partenaires

Hébergement Web