使用sqlsever (1)将"sdb_XXX"数据库的恢复模式设置为"完整";(3分) 2)对"sdb_XXX"数据库进行一次完整备份,以覆盖的方式备份到XXX_backup1上;(5分) 3)删除performance_XXX表;(3分) 4)对"sdb_XXX"数据库进行一次日志备份,并以追加的方式备份到XXX_backup1上;(4分) 5)利用所做的全部备份恢复"sdb_XXX"数据库,恢复完成后,performance_XXX是否恢复出来了?(10分) 6)再次恢复"sdb_XXX"数据库,这次只利用所做的完整备份进行恢复,恢复完成后,performance_XXX表是否恢复出来了?为什么?
时间: 2024-02-25 22:57:16 浏览: 68
1) 使用以下命令将"sdb_XXX"数据库的恢复模式设置为"完整":
```
ALTER DATABASE sdb_XXX SET RECOVERY FULL;
```
2) 使用以下命令对"sdb_XXX"数据库进行一次完整备份,并以覆盖的方式备份到XXX_backup1上:
```
BACKUP DATABASE sdb_XXX TO DISK = 'XXX_backup1' WITH INIT;
```
3) 使用以下命令删除performance_XXX表:
```
DROP TABLE performance_XXX;
```
4) 使用以下命令对"sdb_XXX"数据库进行一次日志备份,并以追加的方式备份到XXX_backup1上:
```
BACKUP LOG sdb_XXX TO DISK = 'XXX_backup1' WITH NOFORMAT, NOINIT, NAME = 'sdb_XXX-Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
```
5) 利用所做的全部备份恢复"sdb_XXX"数据库,恢复完成后,performance_XXX是否恢复出来了?
使用以下命令进行数据库恢复:
```
RESTORE DATABASE sdb_XXX FROM DISK = 'XXX_backup1' WITH NORECOVERY;
RESTORE LOG sdb_XXX FROM DISK = 'XXX_backup1' WITH RECOVERY;
```
如果在恢复完成后,performance_XXX表未能恢复出来,可能是删除表的操作在备份之后进行的,所以表的数据未能被备份。需要在完整备份和删除表之间进行日志备份,以确保所有数据都被备份。
6) 再次恢复"sdb_XXX"数据库,这次只利用所做的完整备份进行恢复,恢复完成后,performance_XXX表是否恢复出来了?为什么?
使用以下命令只利用完整备份进行数据库恢复:
```
RESTORE DATABASE sdb_XXX FROM DISK = 'XXX_backup1' WITH REPLACE, RECOVERY;
```
如果只使用完整备份进行恢复,则无法恢复删除的表,因为删除表的操作在完整备份之后进行,备份中不包含表的数据。需要在删除表之前进行完整备份或在删除表之后进行日志备份。
阅读全文