用sql sever 创建永久备份设备:XXX_backup1,XXX_backup2;
时间: 2024-02-25 21:56:27 浏览: 139
好的,以下是在 SQL Server 中创建永久备份设备的方法:
1. 使用 SQL Server Management Studio (SSMS) 工具连接到目标 SQL Server 实例。
2. 在 SSMS 工具中打开“新建查询”窗口。
3. 在查询窗口中输入以下 T-SQL 代码,创建永久备份设备:
```
-- 创建永久备份设备 XXX_backup1
USE master;
GO
EXEC sp_addumpdevice 'disk', 'XXX_backup1', 'D:\SQLBackup\XXX_backup1.bak';
GO
-- 创建永久备份设备 XXX_backup2
USE master;
GO
EXEC sp_addumpdevice 'disk', 'XXX_backup2', 'D:\SQLBackup\XXX_backup2.bak';
GO
```
其中,'disk' 表示设备类型是磁盘,'XXX_backup1' 和 'XXX_backup2' 是备份设备的名称,'D:\SQLBackup\' 是备份设备的路径,'XXX_backup1.bak' 和 'XXX_backup2.bak' 是备份文件的名称。
4. 执行查询,即可完成永久备份设备的创建。
注意:在创建备份设备时,需要确保指定的备份文件路径存在并且 SQL Server 服务的登录账户具有对该路径的读写权限。
相关问题
使用sql sever 1)对"sdb_XXX"数据库进行一次完整备份,以覆盖的方式备份到XXX_backup2上;(5分) 2)删除performance_XXX表;(3分) 3)对"sdb_XXX"数据库进行一次差异备份,以追加的方式备份到XXX_backup2上;(5分) 4)删除"sdb_XXX"数据库;(4分) 5)利用XXX_backup2设备对"sdb_XXX"数据库进行的全部备份恢复"sdb_XXX"数据库,恢复完成之后,查看"sdb_XXX"数据库中是否有performance_XXX表?为什么?(10分) 6)再次删除"sdb_XXX"数据库;(3分) 7)利用XXX_backup2设备对"sdb_XXX"数据库进行的完整备份恢复"sdb_XXX"数据库,恢复完成之后,查看"sdb_XXX"数据库中是否有performance_XXX表?为什么?(10分)
我可以提供一些关于SQL Server的指导,但是我无法直接为您执行这些操作。请在SQL Server Management Studio或其他SQL Server管理工具中执行以下操作:
1. 对"sdb_XXX"数据库进行一次完整备份,以覆盖的方式备份到XXX_backup2上:
使用以下命令:
BACKUP DATABASE sdb_XXX TO DISK = 'XXX_backup2' WITH INIT
2. 删除performance_XXX表:
使用以下命令:
DROP TABLE performance_XXX
3. 对"sdb_XXX"数据库进行一次差异备份,以追加的方式备份到XXX_backup2上:
使用以下命令:
BACKUP DATABASE sdb_XXX TO DISK = 'XXX_backup2' WITH DIFFERENTIAL
4. 删除"sdb_XXX"数据库:
使用以下命令:
DROP DATABASE sdb_XXX
5. 利用XXX_backup2设备对"sdb_XXX"数据库进行的全部备份恢复"sdb_XXX"数据库,恢复完成之后,查看"sdb_XXX"数据库中是否有performance_XXX表?为什么?
使用以下命令进行恢复:
RESTORE DATABASE sdb_XXX FROM DISK = 'XXX_backup2' WITH REPLACE
恢复完成后,sdb_XXX数据库中不会有performance_XXX表,因为在恢复时,该表已经被删除了。
6. 再次删除"sdb_XXX"数据库:
使用以下命令:
DROP DATABASE sdb_XXX
7. 利用XXX_backup2设备对"sdb_XXX"数据库进行的完整备份恢复"sdb_XXX"数据库,恢复完成之后,查看"sdb_XXX"数据库中是否有performance_XXX表?为什么?
使用以下命令进行恢复:
RESTORE DATABASE sdb_XXX FROM DISK = 'XXX_backup2' WITH REPLACE
恢复完成后,sdb_XXX数据库中不会有performance_XXX表,因为在备份XXX_backup2时,该表已经被删除了。
使用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表是否恢复出来了?为什么?
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;
```
如果只使用完整备份进行恢复,则无法恢复删除的表,因为删除表的操作在完整备份之后进行,备份中不包含表的数据。需要在删除表之前进行完整备份或在删除表之后进行日志备份。
阅读全文