迁移到Microsoft Azure时如何替换App_Data\aspnetdb.mdf



有了ASP.NET Web窗体应用程序,我使用在SQL server中创建的aspnetdb数据库。

当迁移到Azure时,有没有任何方法可以用其他东西替换aspnetdb数据库,这样它就不会吃掉Azure SQL数据库组件中的一个数据库?或者特定数据库是否以某种方式作为应用程序服务(Azure组件)的一部分得到支持?

使用Azure应用程序服务时,aspnetdb数据库形式的典型替换方式是什么?

更新:在原始应用程序中,我使用MS SQL Standard Ed.中的两个数据库——通常类似于应用程序表的company_users(这是aspnetdb的名称)和company_app。我通常通过一个小型外部应用程序创建company_users,该应用程序创建数据库、角色以及初始用户——请参阅下面的缩短代码。

因此,将这两个数据库迁移到Azure SQL数据库并以相同的方式使用可能会更简单。另一方面,必须根据数据库的数量为Azure SQL付费。虽然它对company_app来说很好,但company_users相当小,可能值得用更便宜的东西取代。这就是将框架中用于身份验证/授权的部分(aspnetdb别名company_users)替换为不占用一个SQL数据库的其他部分的动机。

我的InitUsers.exe:的缩短源代码

// ... get the configuration information to be used for...
SqlServices.Install(SQLServerName,
SQLServerUser, SQLServerPassword,
ASPNETdbName, SqlFeatures.All);
// ... and the roles in the loop...
SqlRoleProvider roleProvider = AModule.GetRoleProvider();
string[] roles = { "admin", "poweruser", /* ... */ };
foreach (var role in roles) {
if (!roleProvider.RoleExists(role))
roleProvider.CreateRole(role);
}
// ... and the initial users...
List<string[]> userList = new List<string[]> {
//      0       1                 2        3        4       5       6
//      login,  email,            roles,   first,   last    tit.,   phone
new[] { "nemo", "nemo@ocean.org", "admin", "Nihil", "Nemo", "cpt.", "123 456 789"}
};
foreach (var info in userList) {
string login = info[0];
string password = ...;
string email = info[1];
string[] rolenames = info[2].Split();
string first = info[3];
string last = info[4];
string title = info[5];
string phone = info[6];
AModule.MakeUser(login, password, email, rolenames,
first, last, title, phone,
true);     // isApproved
}

迁移到Microsoft Azure时如何替换App_Data\aspnetdb.mdf?

根据我的理解,您正在使用SQL Server LocalDB。Azure Web Apps不安装SQL Server Express。我认为您可以将LocalDB数据库迁移到SQL Server或SQL Azure。这里有一个类似的问题,你可以参考它。为了将你的数据库迁移到Azure SQL数据库或SQL Server,你可以遵循以下方法:

  • 使用SQL Server Management Studio(SSMS),右键单击数据库,然后选择"任务>导出数据",配置数据源和目标。更多细节,你可以参考这里。

  • 请使用Visual Studio中的SSIS导入和导出向导,有关详细信息,请参阅此处。

此外,对于创建Azure SQL数据库,您可以按照此处操作。此外,如果您使用的是实体框架模型优先或实体框架代码优先,则可以轻松更改连接字符串并重新生成数据库。

相关内容

  • 没有找到相关文章

最新更新