2012-06-21 77 views
0

我們有這個當前的數據庫,我們需要用備份數據庫中的其他表替換一些表。我們正在使用SQL Server 2008 R2,我想知道如何覆蓋或用具有相同結構的新表替換當前表。提前致謝。用其他表替換表

回答

1

第一步:

Restore the backup to the same server with a different name. 

說,如果你的實際的數據庫是 「MYDB」,您可以還原備份,並命名爲 「MYBD_BKUP」 類似的東西。

You can restore database using SQL server management studio 

Right click on Databases>Restore Database 

第二步Once restore is success full, you can delete all the tables (to be deleted) from MYDB

第三步:

transfer table from MYDB_BKUP 

USE MYDB 

select * into <table1> from MYDB_BKUP.dbo.<table1> 

etc.. for each table 
1
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE 
    TABLE_SCHEMA = 'MySchema' AND TABLE_NAME = 'MyTable')) 
    BEGIN 
     DROP TABLE MyTable; 
    END 

將此查詢放入您的備份數據庫腳本中,對於要替換的每個表。如..

IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE 
TABLE_SCHEMA = 'YourSchemaName' AND TABLE_NAME = 'table_staff')) 
BEGIN 
    DROP TABLE table_staff; 
END 
+0

感謝回答......但像他這樣的情況,我不是刨去取代所有的表..我的數據庫有超過120臺,但只有約4表格需要被替換。因爲我無法替換所有其他表,因爲其他表具有備份沒有的組織信息。我只想替換某些表的例子.. table_staff需要被替換.... –

+0

@MohammedAli正如我所說'把這個查詢放在你的備份數據庫腳本中,對於你想要替換的每個表.'你不需要全部替換表只會將查詢僅用於您想要從備份中獲取的那4個表。 – manurajhada

+0

@MohammedAli:更新了我對table_staff表的回答。 – manurajhada

0

如果妳想要替換,然後備份數據庫的整個數據庫...

  1. 右擊在你想要的數據庫上將
  2. 轉到任務
  3. 再去挽回......從文件單選按鈕
  4. 檢查
  5. 選擇備份文件
  6. 現在您的.bak文件會顯示在下方區域,並通過點擊選中該文件複選框
  7. 在彈出的左側選擇選項
  8. 檢查複選框..覆蓋現有
  9. 單擊確定

這將備份數據庫替換當前的數據庫