Résultat du process stocké différent de la requête SSMS

J'ai le code identique dans un proc stocké et dans une window de requête, mais j'obtiens des résultats différents. La seule différence est que le SP sélectionne dans une table temporaire, puis sélectionne dans la table temporaire et s'exécute dans un SP.

Le SP n'a pas de parameters – donc ce n'est pas le reniflage des parameters, le SP a ANSI_NULLS ON.

RecId et invoiceOrderRecId sont des bigints, la marque est nvarchar (10)

SELECT ZIOH.Brand, Count(RecId) as NumDispatched FROM ZFSINVOICEORDERHISTORY ZIOH WHERE ZIOH.DISPATCHDATETIME >= CAST(CURRENT_TIMESTAMP AS DATE) AND ZIOH.DISPATCHDATETIME < DATEADD(DD, 1, CAST(CURRENT_TIMESTAMP AS DATE)) AND ZIOH.INVOICEORDERRECID NOT IN (SELECT RecId FROM ZFSINVOICEORDER ZIO WHERE ZIO.PARTITION = ZIOH.PARTITION) GROUP BY ZIOH.Brand ORDER BY ZIOH.Brand 

Résultats de la window de requête

 ╔═══════╦═══════════════╗ ║ Brand ║ NumDispatched ║ ╠═══════╬═══════════════╣ ║ CCO ║ 1 ║ ║ CVDUK ║ 13 ║ ║ FLX ║ 12 ║ ║ MSFR ║ 74 ║ ║ MSGR ║ 1 ║ ║ MSUK ║ 211 ║ ║ PIAFR ║ 25 ║ ║ PIAUK ║ 129 ║ ╚═══════╩═══════════════╝ 

Résultat de SP

 ╔═══════╦═══════════════╗ ║ Brand ║ NumDispatched ║ ╠═══════╬═══════════════╣ ║ CCO ║ 1 ║ ║ CVDUK ║ 7 ║ ║ FLX ║ 12 ║ ║ MSFR ║ 53 ║ ║ MSUK ║ 147 ║ ║ PIAFR ║ 21 ║ ║ PIAUK ║ 121 ║ ╚═══════╩═══════════════╝ 

Une transaction non engagée causait la différence dans les résultats – bien c'est une matinée perdue.