Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
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 14/11/2011, 10h55   #1
Membre du Club
 
Inscription : mars 2005
Messages : 66
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : mars 2005
Messages : 66
Points : 44
Points : 44
Par défaut Problème suite migration DB vers SQL2008R2-SP1

Bonjour,
Je rencontre un pb depuis la migration d'une base sqlserver 2005 vers un sqlserver 2008R2 SP1.

Voici le contexte:
Une site internet exécute une procédure stockée dans la base SQL2K8. Cette PS appelle une vue (dans cette même base). Cette vue effectue des select dans des bases hébergées sur un autre serveur SQL2K5 au travers d'un serveur lié.

Aléatoirement, le site plante sur cette erreur:
Citation:
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: The OLE DB provider "SQLNCLI10" for linked server "SRV-SQL2K5" reported a change in schema version between compile time ("175466615927874") and run time ("175470898802162") for table ""database1"."dbo"."table1"".
Pour résoudre ce problème, je suis obligé de vider le cache des procédures afin qu'elles soient recompilées (dbcc freeproccache)

Je précise que je n'utilise pas de synonym dans la vue, car j'ai vu qu'il y avait un bug ressemblant avec l'utilisation de synonyms, non corrigé d'ailleurs avec le SQL2008R2SP1, cu1.
http://www.sqlservergeeks.com/blogs/...e-and-run-time

A priori, il n'y a pas de modification de schéma dans les bases SQL2K5.

Pour contourner le pb j'ai demandé au développeur de modifier sa proc stock pour qu'elle soit recompilée à chaque exécution (with recompile), mais c'est juste une rustine.


Voici à quoi ressemble la vue:

Citation:
CREATE VIEW [dbo].[mavue]
AS
SELECT ... ...
FROM [SRV-SQL2K5].database1.dbo.table1
WHERE (Etat = 1)
UNION
SELECT ... ...
FROM SRV-SQL2K5].database2.dbo.table1
WHERE (Etat = 1)
...
...

Si vous avez une idée du problème, et des pistes vers lesquelles m'orienter, je suis preneur.
Ca a fonctionné pendant plusieurs années quand ma base était en sql2K5.

Merci
__________________
DBA SQLServer, Oracle, Mysql, DB2, Postgresql
slefevre01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 13h15   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
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 959
Points : 17 791
Points : 17 791
Pouvez vous mettre un UNION ALL ?

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 14/11/2011, 15h03   #3
Membre du Club
 
Inscription : mars 2005
Messages : 66
Détails du profil
Informations personnelles :
Âge : 39

Informations forums :
Inscription : mars 2005
Messages : 66
Points : 44
Points : 44
Je peux difficilement faire comprendre au dev qu'il faut changer le code des vues car cela fonctionnait lorsque les deux serveurs liés étaient en sql2005.

En quoi le UNION ALL pourrait corriger ce problème ?

Merci de ton aide
__________________
DBA SQLServer, Oracle, Mysql, DB2, Postgresql
slefevre01 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 09h34.


 
 
 
 
Partenaires

Hébergement Web