Про це повідомлялося не менше чотирьох разів. Це було закрито як виправлено:
http://connect.microsoft.com/SQLServer/feedback/details/365876/
Але це було неправдою. (Також дивіться розділ обхідних шляхів - рішення, яке я запропонував, не завжди буде прийнятним.)
Це було закрито, як дизайн / не виправить:
http://connect.microsoft.com/SQLServer/feedback/details/581193/
Ці два новіші та активні :
http://connect.microsoft.com/SQLServer/feedback/details/800919/ (зараз закрито, як не виправлено )
http://connect.microsoft.com/SQLServer/feedback/details/804365/ (зараз закрито як за проектом )
Поки Microsoft не зможе переконатися в іншому, вам доведеться знайти вирішення - просто розгорніть всі типи перед запуском тесту або розбийте його на кілька тестів.
Я спробую отримати підтвердження від своїх контактів про те, що мав на увазі Умачандар під фіксованим у найдавнішому пункті, оскільки, очевидно, це суперечить пізнішим твердженням.
ОНОВЛЕННЯ №1 (приблизно, сподіваємось, саме 2)
Початкова помилка (яка була закрита як виправлена) стосувалася псевдонімів, але не типу TABLE
. Про це повідомлялося проти SQL Server 2005, який, очевидно, не мав типів таблиць і TVP. Здається, UC повідомляв, що помилка з типами псевдонімів, які не є таблицею, була виправлена на основі того, як вони обробляють внутрішні транзакції, але він не охоплював аналогічний сценарій, представлений згодом із типами таблиць. Я все ще чекаю на підтвердження того, чи повинна ця оригінальна помилка колись була закрита як виправлена; Я запропонував усіх чотирьох закрити, як за проектом. Почасти це тому, що я певним чином, як я очікував, що це буде працювати, а почасти тому, що я отримую від UC сенс, що "фіксація" його роботи по-іншому надзвичайно складна, може порушити сумісність і була б корисною для дуже обмежена кількість випадків використання. Нічого проти вас або вашої справи використання, але поза тестовими сценаріями я '
ОНОВЛЕННЯ №2
Я блоги про це питання:
http://www.sqlperformance.com/2013/11/t-sql-queries/single-tx-deadlock