我有兩個數據庫。 數據庫A - 完整的數據 數據庫B的 - 數據庫A的備份,但沒有數據所有表的sp_generate_inserts?或類似
我怎麼可以從數據庫中的所有數據,只是將其合併到數據庫B? 我的想法是隻生成一個插入整個數據或東西。
謝謝
我有兩個數據庫。 數據庫A - 完整的數據 數據庫B的 - 數據庫A的備份,但沒有數據所有表的sp_generate_inserts?或類似
我怎麼可以從數據庫中的所有數據,只是將其合併到數據庫B? 我的想法是隻生成一個插入整個數據或東西。
謝謝
如果您正在嘗試執行某些操作,但是如果您只需要執行一次操作並安裝了SQL Server Management Studio,就可以使用它來執行導出/導入操作。這裏有一個步入式雖然有一些截圖:
如果你沒有任何標識字段擔心,這是一個一次性的操作,你可以做這樣的事情,它採用sp_msforeachtable
和動態SQL:
DECLARE @SQL varchar(max)
SET @SQL = '
INSERT INTO DatabaseB.? WITH (TABLOCK)
SELECT *
FROM DatabaseA.?'
exec sp_MSforeachtable @SQL
OP說:
數據庫已滿觸發器和 約束
只需將A的完整備份恢復爲新數據庫並完成它。由腳本創建的大量「一次性」插入將永遠佔用您的事務日誌,並且很可能因FK等原因而失敗。
數據庫中充滿了觸發器和約束,是否會影響結果? – 2011-03-21 18:04:49
@John - 如果你有FK約束條件,除非你幸運,並且約束條件都按照字母順序排列,就像你需要在'CC'之前的'BB'之前填充'AA'一樣,否則它將無法工作。否則,你會遇到一個約束錯誤。 – JNK 2011-03-21 18:06:34