1

J'essaie d'exécuter la même sélection par deux méthodes différentes.Cache de procédure stockée SQL Server

d'abord par une fonction de table d'une valeur en utilisant la procédure stockée

SELECT * FROM dbo.DF_PRODUCTS(); 

Deuxième via openquery, en exécutant la procédure stockée

SELECT * 
FROM openquery([servername], 
       'SET FMTONLY OFF exec DatabaseName.dbo.My_StoredProcedure') 

Le problème est que je reçois différents résultats et je pense que le Le problème est dans le cache de procédure stockée. Est-ce que quelqu'un peut m'aider avec ça?

+5

Pouvez-vous poster votre code proc mémorisé? – Limey

+1

Si votre problème est sp cache alors allez-y n le supprimer en utilisant DBCC FREEPROCCACHE ou depuis le cache du serveur sql sont transitoires fermer ur ssms n puis rouvrez-le .Else comme suggéré par @Limey post ur code SP – praveen

Répondre

0

Si vous obtenez des résultats différents en exécutant exactement le même code, et que la seule différence (perçue) est que vous en exécutez une via une commande OPENQUERY, effectuez une vérification de cohérence et confirmez que OPENQUERY ([nom_serveur ] ...) s'exécute définitivement sur le même serveur que votre première requête. Le scénario le plus probable est que votre serveur lié est différent de celui que vous utilisez localement - par exemple, vous utilisez une base de données locale par rapport à une base de données de développement/test/staging/live.