【问题标题】:Migrating ASP.Net Membership迁移 ASP.Net 成员资格
【发布时间】:2012-06-08 10:06:39
【问题描述】:

我在复制我的 ASP.Net 成员表时遇到问题。由于我只想要架构,所以我生成了脚本而不复制数据。

当我访问新网站时,它显示了

“System.Web.Security.SqlMembershipProvider”需要数据库 架构与架构版本“1”兼容。然而,目前 数据库架构与此版本不兼容。你可能需要 要么安装与 aspnet_regsql.exe 兼容的架构(可用 在框架安装目录中),或将提供程序升级到 较新的版本。

这是我一步一步完成的,我无法让它工作。

  1. 从源服务器的 SSMS 中,右键单击数据库。
  2. 任务 -> 生成脚本
  3. 在选择脚本选项中,我单击了下一步。
  4. 在选择对象类型中,我选择了所有,然后单击下一步。
  5. 在选择数据库角色中,我选择了全部。
  6. 在选择架构中,我选择了全部。
  7. 在选择存储过程中,选择标题,全部选中。
  8. 选择所有视图。
  9. 脚本到新的查询窗口。
  10. 在目标服务器的 SSMS 中,我运行脚本。
  11. 已创建空表。
  12. 我运行了 aspnet_regsql.exe,并填充了 aspnet_SchemaVersions。

但是,错误仍然发生......我已经没有想法了。

【问题讨论】:

    标签: asp.net sql ssms sql-server-2008


    【解决方案1】:

    您需要一些 aspnet_SchemaVersion 表中的数据。查看您正在使用的数据库表中的信息,并在脚本末尾添加一个插入以将该数据添加到 aspnet_SchemaVersion 表中。我不记得我的头顶有什么,但它相当简单的东西。

    你去吧,这可能应该这样做我不认为版本号已经改变,但你应该检查你现有的数据库。

    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘common’, 1, 1) 
    
    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘health monitoring’, 1, 1) 
    
    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘membership’, 1, 1) 
    
    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘personalization’, 1, 1) 
    
    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘profile’, 1, 1) 
    
    INSERT INTO aspnet_SchemaVersions (Feature, CompatibleSchemaVersion, IsCurrentVersion)
    VALUES(‘role manager’, 1, 1)
    

    【讨论】:

    • 我相信这张表只有一行。
    • 为我工作。在我的例子中,我将一个空数据库导入 SQL Azure。
    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多