簡體   English   中英

ASP.NET + SQL Server-如何將托管數據庫移動到與網站相同的服務器?

[英]ASP.NET + Sql Server - How to move hosted database to same server as website?

我正在asp.net網站上工作,但遇到了從原始服務器遷移數據庫的問題。

最初,數據庫托管在與網站不同的服務器上。 性能測試表明這是一個主要瓶頸,因此我決定將數據庫遷移到與該網站相同的服務器上(我不是該網站的原始設計者或實施者)。

我設法從原始服務器上獲取數據庫的轉儲,並將其安裝在我當前使用的服務器上。

遷移並連接數據庫后,發生了最奇怪的事情:該網站具有用戶個人資料。 但是,對於已遷移的數據庫,無論連接了多少用戶,他們都會看到其中一個的信息(通常是ID編號較大的信息,盡管這無關緊要)。 此外,該登錄名不再適用於隱身模式(Chrome)。 數據庫通信的其余部分(所有用戶通用的數據)似乎運行良好。

我嘗試過的解決方案:

  • 檢查數據庫中是否存在在復制時可能遺漏的內容(外鍵等):它們是相同的,需要手工驗證並使用特殊工具(SQL比較和數據比較)很多次
  • 從原始數據庫導入原始登錄名和權限。
  • 該網站使用處理數據轉換和存儲過程調用的dll與數據庫進行通信。 該.dll包含一些內聯sql查詢,我將它們作為存儲過程移入數據庫-問題仍然存在。

我現在想的是使用服務器的ip和指定的端口通過TCP / IP連接到數據庫。 我嘗試這樣做,但是直到現在我還是無法啟用到數據庫的遠程連接。 另外,我不確定這是否是一個好的解決方案。

我在服務器上使用:

  • Windows Server 2008 R2
  • SQL Server企業版2012
  • 我不知道原始數據庫使用了什么SQL Server版本(正如我之前所說的,它不是由我開發的)
  • 該網站是用asp.net編寫的,后面帶有c#代碼。

您對可能出什么問題有任何想法嗎?

如評論中所述,兼容性可能是問題,但可能不是問題。 試試這個來備份它。

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)將出現選擇備份設備,文件應該已經高亮顯示在下拉菜單中,單擊“添加”

5)從2008文件夾中找到您的備份文件,然后單擊“確定”

6)再次單擊“確定”,然后再次單擊“確定”。 應該說數據庫已成功還原。

嘗試這些步驟。.這就是我將數據庫遷移到新服務器的方式,以及如果服務器由於任何原因而停機的情況下如何還原數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM