5

Estoy trabajando en una aplicación Web Forms de ASP.NET con SqlMembershipProvider. Como también se ejecuta en Azure, uso KB2006191 Updated ASP.NET scripts for use with SQL Azure para tablas y SP.SqlMembership en SQL Server independiente y en Azure

Aparentemente, no funcionan sin problemas con un SQL Server 2008 R2 SP1 independiente. Especialmente dbo.aspnet_Users_DeleteUser dispara un error interno:

Msg 8624, Level 16, State 1, Procedure aspnet_Users_DeleteUser, Line 111 Internal Query Processor Error: The query processor could not produce a query plan. For more information, contact Customer Support Services.

Editar:

que se rompió el tema a una instrucción SQL que en realidad no (aunque lo difícil que el código un valor para @UserId):

DELETE FROM dbo.aspnet_Users WHERE UserId = @UserId 

original:

Intenté arreglar mi instalación de SQL Server por downloading a Cumulative Update Package and setting trace flag 4199. Sin embargo, esto no ayudó. Para ser sincero, no estoy muy seguro de si apliqué el parche correctamente. Estoy investigando más sobre esto.

Además, traté de volver a escribir el SP un poco, ya que encontré algunos consejos en la web. Esto tampoco ayudó, y la misma consulta es generada por aspnet_regsql para SQL Server independiente de todos modos. En realidad, he tratado de deshacerse de una subconsulta alrededor de la línea 111, girando esto:

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))) 

... en esto:

IF ((@TablesToDeleteFrom & 15) <> 0) 

¿Alguien venir a través de cuestiones similares se trata de pertenencia y ambos Azure y ¿Servidor SQL independiente?

Respuesta

3

Según Scott Hanselman y this blog post, los ASP.NET Universal Providers For SqlExpress 1.1 paquete (System.Web.Providers) es el método admitido oficialmente de permitir a los proveedores de pertenencia SQL, papel y de sesión a través de SQL Azure y SQL Server independiente.

+0

Utilizamos los proveedores universales y funcionan muy bien. Tenga en cuenta que solo funcionan para ASP.Net 4.0+. –

+0

+1 (y respuesta) para una mejora real. Me solucionaron mi problema actual indexando una columna en una de mis propias tablas que tenía una referencia de clave externa a 'aspnet_Users'. Sin embargo, esto no es comúnmente adaptativo. –