【发布时间】:2012-03-17 21:03:52
【问题描述】:
我正在使用SqlMembershipProvider 开发一个 ASP.NET Web 窗体应用程序。因为它也在 Azure 上运行,所以我将 KB2006191 Updated ASP.NET scripts for use with SQL Azure 用于表和 SP。
显然,它们不能与独立的 SQL Server 2008 R2 SP1 一起顺利运行。尤其是dbo.aspnet_Users_DeleteUser 会引发内部错误:
消息 8624,级别 16,状态 1,过程 aspnet_Users_DeleteUser,第 111 行 内部查询处理器错误:查询处理器无法生成查询计划。如需更多信息,请联系客户支持服务。
编辑:
我将问题分解为一个实际失败的 SQL 语句(即使我硬编码了 @UserId 的值):
DELETE FROM dbo.aspnet_Users WHERE UserId = @UserId
原文:
我尝试通过downloading a Cumulative Update Package and setting trace flag 4199 修复我的 SQL Server 安装。然而,这并没有帮助。老实说,我不太确定我是否正确应用了补丁。我正在对此进行进一步研究。
另外,我在网上找到了一些提示,我尝试稍微重写 SP。这也无济于事,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 的类似问题?
【问题讨论】:
标签: asp.net sql-server azure-sql-database sqlmembershipprovider