将应用程序服务数据库(又名 aspnetd)从 SQL Server 2008 迁移到 SQL Server 2005
我需要将 aspnetdb 从开发机移动到测试机。开发是 SQL Server 2008,测试是 2005。我尝试编写 aspnetb schema+data 脚本,然后在测试中运行它,工作正常并且数据库已填充,但是当使用我的 asp.net 4 应用程序时它给出了以下错误
“System.Web.Security.SqlRoleProvider”需要与架构版本“1”兼容的数据库架构。但是,当前的数据库架构与此版本不兼容。您可能需要使用 aspnet_regsql.exe(可在框架安装目录中找到)安装兼容架构,或将提供程序升级到更新版本。
我想知道我做错了什么以及如何解决这个问题。强烈建议无需在测试机器上运行 aspnet_regsql.exe 工具。
I need to move the aspnetdb from the development machine to the test machine. The development is SQL server 2008, the test one is 2005. I tried to script the aspnetb schema+data and then run it on the test, which worked fine and the database was populated, however when used is my asp.net 4 application it gave the following error
The 'System.Web.Security.SqlRoleProvider' 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.
I wonder what am I doing wrong and how to solve this. Strongly preferably without having to run the aspnet_regsql.exe tool on the test machine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您不一定做错了什么,但是在“降级”数据库时只有几个选项可供选择。 1)将数据库复制到较低版本,2)将日志传送到较低版本,3)复制架构和数据,正如您所做的那样,但是我将使用 SSIS 来完成此任务。
然而,您看到的错误看起来更像是一个排序问题。检查您的源数据库和目标数据库是否设置为使用相同的排序规则设置。
另请查看这篇文章 The 'System.Web .Security.SqlMembershipProvider”需要与架构版本“1”兼容的数据库架构
I don't think you did anything wrong necessarily, but there are only a few options to choose from when 'downgrading' a database. 1) Replicate the database to the lower version, 2) log ship to the lower version, 3) copy the schema and data, as you have done, I would use SSIS for this task however.
The error you are seeing however, looks more to be a collation issue. Check that your source and target databases are set to use the same collation settings.
Also take a look at this post The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'