0

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

当我访问新站点时,它显示

“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。

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

4

1 回答 1

2

您需要 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)
于 2012-06-08T10:30:26.903 回答