asp.net - 'System.Web.Security.SqlMembershipProvider' 需要与架构版本 '1' 兼容的数据库架构

标签 asp.net sql

我有一个 SQL Server 2008 数据库,其中有许多充满数据的表,并且我使用 SQL Server Management Studio 通过脚本向导生成 SQL 转储:任务 -> 生成脚本 -> 为选定数据库中的所有对象编写脚本,并且还选择脚本数据选项。我确保将“服务器版本脚本”的值更改为“SQL Server 2008”。然后我创建了一个新数据库并在新数据库上运行 SQL 转储以生成旧数据库的相同副本。然后我将权限分配给我的默认用户到新数据库。然后我更改了 ASP.NET 应用程序上的连接字符串以使用新的数据库。但是当我运行它时,它会抛出以下异常 -

            Server Error in '/myapp' Application.
            The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'.  However, the current database schema is not compatible with this version.  You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.
            Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

            Exception Details: System.Configuration.Provider.ProviderException: The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'.  However, the current database schema is not compatible with this version.  You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.

            Source Error:

            An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

            Stack Trace:

            [ProviderException: The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'.  However, the current database schema is not compatible with this version.  You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.]
               System.Web.Util.SecUtility.CheckSchemaVersion(ProviderBase provider, SqlConnection connection, String[] features, String version, Int32& schemaVersionCheck) +1977772
               System.Web.Security.SqlMembershipProvider.CheckSchemaVersion(SqlConnection connection) +89
               System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +815
               System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +105
               System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved) +42
               System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +78
               System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60
               System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +119
               System.Web.UI.WebControls.Login.AttemptLogin() +115
               System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
               System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
               System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +118
               System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +166
               System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
               System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
               System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
               System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

最佳答案

我找到了一个非常简单的方法,只需将这些数据粘贴到 aspnet_SchemaVersions 表中

common              1   True
health monitoring   1   True
membership          1   True
personalization     1   True
profile             1   True
role manager        1   True

我必须使用一些空格来使数据对齐,忽略空格

关于asp.net - 'System.Web.Security.SqlMembershipProvider' 需要与架构版本 '1' 兼容的数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292794/

相关文章:

c# - 属性不适用于模型 ASP.NET MVC 5

c# - 在 app.config 中存储树状信息的最佳方式

mysql - 如何在mysql中找到组的总和并找到权重?

sql - 用GROUP BY之后的号码查询

sql - Apache Dbutils 在更新 Sql 中更改列名

asp.net - 将文本放在一个小按钮中

c# - ASP.net MVC 获取当前 View 引擎

c# - 你调用的对象是空的。执行标量()

php - 根据另一个字段使一个字段唯一

php - 如何加速数百万个项目的BETWEEN操作?