Я работаю над приложением веб-форм ASP.NET с SqlMembershipProvider
. Поскольку он также работает в Azure, я использую KB2006191 Обновленные сценарии ASP.NET для использования с SQL Azure для таблиц и SP.
Судя по всему, они не работают гладко с автономным SQL Server 2008 R2 SP1. В частности, dbo.aspnet_Users_DeleteUser
вызывает внутреннюю ошибку:
Msg 8624, уровень 16, состояние 1, процедура aspnet_Users_DeleteUser, строка 111 Внутренняя ошибка обработчика запросов: обработчику запросов не удалось создать план запроса. Для получения дополнительной информации обратитесь в службу поддержки клиентов.
Редактировать:
Я разбил проблему на один оператор SQL, который фактически не работает (даже если я жестко запрограммировал значение для @UserId
):
DELETE FROM dbo.aspnet_Users WHERE UserId = @UserId
Оригинал:
Я пробовал исправление моей установки SQL Server путем загрузки накопительного пакета обновлений и установки флага трассировки 4199 . Однако это не помогло. Честно говоря, я не уверен, правильно ли я применил патч. Я провожу дальнейшие исследования по этому поводу.
Более того, я попытался немного переписать СП, так как нашел в сети несколько советов. Это тоже не помогло, и в любом случае тот же запрос генерируется aspnet_regsql
для автономного SQL Server. На самом деле, я попытался избавиться от подзапроса около строки 111, повернув это:
IF ((@TablesToDeleteFrom & 1) <> 0 AND
(@TablesToDeleteFrom & 2) <> 0 AND
(@TablesToDeleteFrom & 4) <> 0 AND
(@TablesToDeleteFrom & 8) <> 0 AND
(EXISTS (SELECT UserId FROM dbo.aspnet_Users WHERE @UserId = UserId)))
...в это:
IF ((@TablesToDeleteFrom & 15) <> 0)
Сталкивался ли кто-нибудь с подобными проблемами, связанными с членством и как Azure, так и автономный SQL Server?