2014-02-24 65 views
0

我正在一个asp.net网站上工作,我遇到了从原始服务器迁移数据库的问题。ASP.NET + Sql服务器 - 如何将托管数据库移动到与网站相同的服务器?

本来数据库是托管在不同的网站上的服务器上。性能测试表明,这是一个主要的瓶颈,所以我决定将数据库迁移到与网站相同的服务器上(我不是该网站的原始设计者或实施者)。

我已经设法从原始服务器获取数据库转储并将其安装在我当前使用的服务器上。

迁移并连接数据库后发生了最奇怪的事情:该网站具有用户配置文件。但是,对于迁移的数据库,无论连接多少用户,他们都可以看到其中一个用户的信息(通常是具有较大ID号的用户,尽管这与此无关)。此外,登录功能无法再通过隐身模式(Chrome)运行。数据库通讯的其余部分(所有用户都通用的数据)似乎运行良好。

解决方案我已经试过:

  • 检查,可能在复制已经错过的东西数据库(外键和等):它们是相同的,由专人核实,并使用专用工具(SQL和比较数据比较),很多次
  • 从原始数据库导入原始登录名和权限。
  • 网站使用处理数据转换和存储过程调用的dll与数据库进行通信。这个.dll包含了一些内嵌的sql查询,我把它们作为存储过程移动到数据库中 - 问题依然存在。

我在想什么是通过TCP/IP使用服务器的IP和指定的端口连接到数据库。我试图做到这一点,但直到现在我才能够启用到数据库的远程连接。另外我不确定这是一个很好的解决方案。

我用我的服务器上:

  • 的Windows Server 2008 R2
  • SQL Server企业2012
  • 我不知道使用的SQL Server版本为原始数据库(如我之前说过它并不是我自己开发的)
  • 该网站是用c#codebehind在asp.net编写的。

你对什么可能是错误有什么想法吗?

+0

什么是t他会采取措施备份“旧”服务器数据库并还原到“新”服务器数据库? – Humpy

+0

我可能已经使用了所有可用的方法:1.使用sql management studio编写数据库2.使用复制数据库3.联系服务器的所有者并获取数据库的完整备份 –

+0

我刚发现原始数据库是使用SQL Server 2008创建的。可能是兼容性问题,因为我使用的是2012? –

回答

0

正如在评论中提到的,兼容性可能是问题,但它可能不是。试试这个来支持它。

USE yourDatabaseName; 
GO 
BACKUP DATABASE yourDatabaseName 
TO DISK = 'C:\folderName\BackUpTestServer.Bak' 
    WITH FORMAT, 
     MEDIANAME = 'C_SQLServerBackups', 
     NAME = 'Full Backup of yourDatabaseName'; 
GO 

将文件复制到2012服务器。 然后在2012服务器上运行这些步骤...

1)右键单击对象资源管理器中的“数据库”。

2)单击还原数据库

3)选择设备,然后单击“...“框

4)选择备份设备将出现,文件应该已经被加亮在下拉菜单中单击‘添加’,从2008年的文件夹

5)找到你的备份文件,然后单击‘确定’

6)点击确定再次,然后再好。应该说,成功恢复的数据库。

尝试这些步骤..这是我已经迁移我的数据库到新的服务器,我如何恢复数据库,如果一台服务器由于什么而下降。

相关问题