0

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

4

3 回答 3

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

第三步:

transfer table from MYDB_BKUP

USE MYDB

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

etc.. for each table
于 2012-06-21T06:22:10.417 回答
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
于 2012-06-21T06:12:41.890 回答
0

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

  1. 右键单击要替换的数据库
  2. 前往任务
  3. 去恢复...
  4. 从文件单选按钮检查
  5. 选择备份文件
  6. 现在您的 .bak 文件将显示在下部区域并通过单击复选框检查此文件
  7. 在弹出窗口中选择左侧的选项
  8. 检查复选框..覆盖现有
  9. 点击确定

这将用备份数据库替换您当前的数据库

于 2012-06-21T07:08:06.153 回答