簡體   English   中英

如何備份表數據,以便與升級SQL Server 2000一起移動 - > SQL Server 2008?

[英]How to backup table data only, for move with upgrade SQL Server 2000 --> SQL Server 2008?

我們已將生產數據庫(SQL Server 2000)的副本升級到SQL Server 2008,並對存儲過程進行了大量修復和更改。 現在,我想將當前數據從生產中復制(SQL Server 2000)並將其推送到新的SQL Server 2008,並將生產應用程序指向新的應用程序。 所有表模式都保持不變。

我知道將所有表腳本化為文件的插入是一種可能性。 這是最好的方法嗎? 還是有更好的方法? 外鍵是否會出問題?

以下是您可以做的幾件事,所有這些都有優點和缺點:

手動腳本和鏈接服務器:

設置鏈接的服務器連接並使用INSERT INTO

INSERT INTO server2008.databaseName.schemaName.TableName (Col1, Col2, ..., Coln)
SELECT Col1, Col2, ..., Coln
FROM server2000.databaseName.schemaName.TableName

注意這些的執行順序。 確保首先遷移沒有引用的表以避免出現外鍵問題

您甚至可以臨時禁用某些表上的外鍵和標識插入

ALTER TABLE MyTable NOCHECK CONSTRAINT FK_Constraint
SET IDENTITY_INSERT tableName ON

-- INSERT STATEMENT HERE

SET IDENTITY_INSERT tableName OFF
ALTER TABLE MyTable CHECK CONSTRAINT FK_Constraint

導出數據向導

已經由Tomasito建議 - 只需確保以正確的順序執行腳本。 沒有引用的表的第一個腳本,而不是僅引用先前插入的表中的數據的表等等。

第三方工具

有很多這些將為你完成這項工作。 如果這是一次性任務,您可以使用試用版完成工作。 我知道的幾個是ApexSQL Data Diff,SQL Data Compare,AdeptSQL Diff。

在Microsoft SQL Server Management Studio中右鍵單擊數據庫和ImportExport選項。 另一種方法是使用SQL Prompt:SQL Compare(付費工具)。 您必須嘗試使用​​數據集,並選擇更適合您的選項。

暫無
暫無

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

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