如何成功将ASP.NET网站和SQL Server数据库传输到另一台计算机

时间:2013-03-08 16:01:08

标签: asp.net sql sql-server aspnetdb

在我的家用电脑上,我正在开发一个ASP.NET网站项目。这附带了一个SQL Server 2012数据库。

我正在尝试将此项目转移到我的笔记本电脑上。我已成功恢复笔记本电脑上的数据库并修复了ASP.NET网站项目(web.config文件)上的一些连接错误。

在我的数据库中,我已经集成了aspnetdb来处理我的用户/角色/成员以及我拥有的其他表。不幸的是,在将整个数据库传输到我的笔记本电脑后,它似乎删除了我的角色,但不是我的用户。因此,当用户尝试登录我的asp.net网站时会出现问题。

我已经加载了asp.net网站管理工具,正如我所料,它有3个用户和0个角色。我只是要重新创建角色,因为我的数据库很大。奇怪的是,转移只删除了角色而不是用户。但是,在单击“创建或管理角色”时,我收到错误。只是想在使用此工具尝试创建新用户时发生同样的事情。

错误:

  

遇到错误。请返回上一页并尝试   试。

     

以下消息可能有助于诊断问题:A   建立时发生与网络相关或特定于实例的错误   与SQL Server的连接。服务器未找到或未找到   无障碍。验证实例名称是否正确以及SQL   服务器配置为允许远程连接。 (提供者:SQL   网络接口,错误:26 - 查找服务器/实例时出错   指定)   System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(布尔   isMembership,String methodName,Object []参数,Type []   paramTypes)at ASP.security_roles_manageallroles_aspx.BindGrid()at   ASP.security_roles_manageallroles_aspx.Page_Load()at   System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp,Object o)   在System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object   发件人,EventArgs e)在System.Web.UI.Control.OnLoad(EventArgs e)at   System.Web.UI.Control.LoadRecursive()at   System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)

我认为问题在于我将asp.net网站项目文件夹转移到我的笔记本电脑而asp.net网站管理工具无法识别sql server实例,所以我需要以某种方式更新这个以匹配新的sql server实例

我如何解决我的问题?

更新

我刚检查了我的家用机器数据库,有趣的是,aspnet_roles表中没有存储数据。但是有些用户存储在aspnet_users表中。现在为什么不在该表中存储角色? :/

如果没有将角色存储在该表中,我很困惑,它会在哪里存储它们?

更新2

我刚注意到角色存储在app_data文件夹中的ASPNETDB中,而不是我在sql server上连接的数据库。我不知道它是如何发生的,因为它用于添加到我的sql server。有没有办法将我的aspnetdb表和数据传输到我的sql数据库?

我刚刚通过创建新用户进行了测试。新用户存储在我的sql数据库中。但它并没有存储在aspnetdb中,但是角色存储在aspnetdb中,而不是存储在我的sql数据库中的表中。

问题:我如何将这些结合起来并且只在我的sql数据库中更新数据?

更新3

我修复了角色和用户存储在2个差异提供程序中的问题,我只需将它们指向一个提供程序。

2 个答案:

答案 0 :(得分:2)

您是如何引用数据库的?您有可能在连接字符串(或IP地址)中具有计算机的名称。检查以确保此更改。这很可能是在你的web.config文件中。如果您仍然使用旧的服务器设置,您实际上可以将所有表和记录导出到sql文件,然后将其上载到新服务器。

答案 1 :(得分:0)