我们有这个当前的数据库,我们需要用备份数据库中的anther表替换一些表。我们正在使用sql server 2008 r2,我想知道如何用具有相同结构的新表覆盖或替换当前表。提前致谢。
答案 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)
如果你想用备份数据库替换整个数据库,那么......
这将用备份数据库替换您当前的数据库