0

我需要從SQL Server 2000移動兩個服務器之間的生產數據到SQL Server 2012從SQL Server 2000移動數據只到2012年檢查清單

數據庫已經完全移動。生產數據需要一夜之間移動,並準備在第二天使用。所以計劃如下:

  1. 移動所有配置表的數據。

  2. 移動其它表的數據。其中一個問題是:我應該如何處理標識欄?幾乎所有的表都有標識列,在某些情況下它們是外鍵。這應如何處理?

  3. 腳本編寫工作作爲創建和運行,並創建所有作業禁用。

  4. 移動SSIS數據庫和配置表。

  5. 更新SSIS包內的連接和新的服務器上部署它們。

還有什麼我應該考慮的?如何做第二步錯誤免費?

+0

您可以通過'SET IDENTITY_INSERT(表名)ON'標識列插入現有的身份值到一個表。一次只有一個表格 - 在完成後立即使用「SET IDENTITY_INSERT(表格名稱)OFF」將其關閉。這應該照顧身份值 –

+0

你如何移動數據?手動使用導出的文件?或者你使用SSIS連接到SQL 2000數據庫,並使用數據泵來傳輸數據?要麼 ??? –

+0

@LaughingVergil計劃手動完成它,基本上我想運行一個腳本並開始截斷所有表,然後從舊服務器中逐一插入新服務器的表中。主要問題是如何處理外鍵約束。不管FK如何截斷表? – ali

回答

0

如上所述,導入/導出嚮導將乾淨地導入這些數據。如果你瞭解SSIS編程,你可以編輯它來自動導入不同文件中的數據。

首先,我們來做基本的導入。開始與正常導入相同 - 右鍵單擊​​SSMS中的數據庫,選擇導入數據,選擇一個平面文件(以表名+ .txt作爲名稱,這會自動將導入與相應的表中的目標數據庫),設置輸入文件的列 - 與目標表中的名稱和數據類型匹配的列名稱和數據類型,以便進行正確的關聯)。

在設置目的地時,您將有一個區別。首先選擇正確的目標類型,服務器名稱和身份驗證,然後選擇目標數據庫。在選擇源表格和視圖屏幕上: Select Source Tables and Views screen 並確保您選擇了正確的源和目標。然後(重要部分從這裏開始)單擊編輯映射按鈕。你將被帶到這個畫面: Column Mappings screen 選擇正確的行處理(添加或刪除,然後添加),並單擊啓用標識插入複選框ON末回答那部分的你問題)並單擊確定。

如果一切是查看頁面上是正確的,選擇是否要保存該包(如果你想實現流程的自動化,這是有益的),然後運行該程序包。

等voi,您的數據導入,身份字段導入正確,並且一切都很好。

相關問題