Cela a été signalé pas moins de quatre fois. Celui-ci a été fermé comme fixé:
http://connect.microsoft.com/SQLServer/feedback/details/365876/
Mais ce n'était pas vrai. (Consultez également la section des solutions de contournement - la solution de contournement que j'ai suggérée ne sera pas toujours acceptable.)
Celui-ci a été fermé comme par conception / ne résoudra pas:
http://connect.microsoft.com/SQLServer/feedback/details/581193/
Ces deux sont plus récents et toujours actifs :
http://connect.microsoft.com/SQLServer/feedback/details/800919/ (désormais fermé comme ne sera pas résolu )
http://connect.microsoft.com/SQLServer/feedback/details/804365/ (désormais fermé en tant que By Design )
Jusqu'à ce que Microsoft soit convaincu du contraire, vous devrez trouver une solution de contournement: il vous suffit de déployer tous les types avant d'exécuter votre test ou de le diviser en plusieurs tests.
J'essaierai d'obtenir la confirmation de mes contacts sur ce qu'Umachandar entendait par «corrigé» dans le premier élément, car il est évident que cela entre en conflit avec des déclarations ultérieures.
MISE À JOUR # 1 (de, espérons-le, exactement 2)
Le bogue d'origine (qui a été fermé comme corrigé) impliquait des types d'alias, mais pas de type TABLE
. Il a été signalé contre SQL Server 2005, qui n'avait évidemment pas de types de table et de TVP. Il semble que UC ait signalé que le bogue avec les types d'alias non-table a été corrigé en fonction de la façon dont ils gèrent les transactions internes, mais il ne couvrait pas un scénario similaire introduit plus tard avec les types de table. J'attends toujours la confirmation si ce bogue d'origine aurait dû être fermé comme corrigé; J'ai proposé que tous les quatre soient fermés comme par conception. C'est en partie parce que c'est un peu la façon dont je m'attendais à ce qu'il fonctionne, et en partie parce que j'ai le sentiment de UC que "le fixer" pour fonctionner d'une manière différente est extrêmement complexe, pourrait briser la compatibilité descendante et serait utile dans un nombre très limité de cas d'utilisation. Rien contre vous ou votre cas d'utilisation, mais en dehors des scénarios de test, je '
MISE À JOUR # 2
J'ai blogué sur ce problème:
http://www.sqlperformance.com/2013/11/t-sql-queries/single-tx-deadlock