将asp.net成员身份迁移到Windows Azure

时间:2012-07-23 08:16:20

标签: asp.net-mvc-3 azure asp.net-membership

我正在将我的asp.net mvc-3项目迁移到windows azure。我必须将asp.net成员资格迁移到windows azure。我读了this article.从这篇文章中我理解的是迁移成员资格的以下几点:

1)迁移成员资格意味着只需更改存储用户相关信息的数据存储。在我的情况下,我使用SQL Server express 2008作为本地数据存储。我只需要将它打包到SQL azure数据中心。

2)我通过Nuget下载了ASP.NET Universal提供程序。这将自动将成员资格支持扩展到SQL azure。意味着我只需要更改web.config文件中的连接字符串。在该连接字符串中,它需要服务器名称和数据库。为此我必须在windows azure中创建一个帐户。我可以在哪里创建数据库。从那里我可以得到现成的连接字符串,我必须将其粘贴到我的web.config文件中。

我想知道完成所有这些后的后续步骤。

我只是想知道我是否正确的方向。如果我有什么遗漏或者我没有在正确的道路上,请指导正确的方向?感谢

3 个答案:

答案 0 :(得分:3)

使用ASP.NET Universal Provider是可行的方法。对于迁移部分,我建议您只使用SQL Server的生成脚本功能(右键单击您的数据库,选择“任务”,选择“生成脚本”)。

在导出向导中,您可以选择导出到SQL Azure,并且脚本应包含架构和数据。这将使您可以非常轻松地将当前的本地数据库移动到SQL Azure。

enter image description here

答案 1 :(得分:1)

除了Sandrino的答案之外,我只想添加一个使用SQL Azure Migration Wizard的建议,因为它比SSMS功能更好。只是一个简单的例子,SQL Azure迁移向导将自动为没有这样的表创建聚簇索引。另一件事是迁移向导将为您提供任何非SQL Azure兼容的定义/数据/语句的详细说明,而迭代的“生成脚本”将只抛出“它不兼容”..

答案 2 :(得分:1)

首先,如果它有效,@ astaykov建议使用SQL Azure迁移向导应该是你的第一步。它会告诉您数据库的哪些部分与SQL Azure不兼容。 SSMS将为需要迁移的每一行生成一个insert语句。迁移向导将使用更高效的BCP。

大约一年前,我不得不为客户迁移会员数据库。我遇到的问题是,由于aspnet_regsql.exe生成的数据库包含与SQL Azure不兼容的元素,因此不会自动迁移。有一个新版本aspnet_regsqlazure.exe可以创建具有相同模式的表,但支持的存储过程与SQL Azure兼容。创建匹配模式后,您可以通过SSMS,迁移向导或BCP的任何方式移动表内容。

再次确保首先尝试astaykov的建议。如果最近生成的成员资格数据库发生了变化,那么我必须做的事情要容易得多。