用其他表替换表

时间:2012-06-21 05:58:33

标签: sql-server sql-server-2008-r2 backup overwrite

我们有这个当前的数据库,我们需要用备份数据库中的anther表替换一些表。我们正在使用sql server 2008 r2,我想知道如何用具有相同结构的新表覆盖或替换当前表。提前致谢。

3 个答案:

答案 0 :(得分:2)

第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

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

第3步:

transfer table from MYDB_BKUP

USE MYDB

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

etc.. for each table

答案 1 :(得分: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

答案 2 :(得分:0)

如果你想用备份数据库替换整个数据库,那么......

  1. 右键单击要替换的数据库
  2. 转到任务
  3. 转到还原...
  4. 从文件单选按钮检查
  5. 选择备份文件
  6. 现在您的.bak文件将显示在较低区域,并通过单击复选框
  7. 来检查此文件
  8. 在弹出窗口中选择左侧选项
  9. 选中复选框..覆盖现有
  10. 点击确定
  11. 这将用备份数据库替换您当前的数据库