Об этом сообщалось не менее четырех раз. Этот был закрыт как исправлено:
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