sql server 自动备份
时间: 2023-10-22 14:09:18 浏览: 111
对于 SQL Server 自动备份,可以通过 SQL Server Management Studio 或 Transact-SQL 脚本来实现。其中,使用 Transact-SQL 脚本可以更加灵活地控制备份的方式和时间。
以下是一个使用 Transact-SQL 脚本实现每天自动备份的示例:
```
USE [master]
GO
-- 创建备份设备
EXEC sp_addumpdevice 'disk', 'MyBackupDevice', 'C:\Backup\MyDatabase.bak'
GO
-- 创建作业
DECLARE @jobId BINARY(16)
EXEC msdb.dbo.sp_add_job @job_name=N'MyBackupJob',
@enabled=1,
@description=N'每天自动备份 MyDatabase 数据库'
SET @jobId = CONVERT(BINARY(16), JOB_ID(N'MyBackupJob'))
GO
-- 添加作业步骤
EXEC msdb.dbo.sp_add_jobstep @job_id=@jobId,
@step_name=N'BackupStep',
@subsystem=N'TSQL',
@command=N'BACKUP DATABASE MyDatabase TO MyBackupDevice',
@retry_attempts=5,
@retry_interval=5
GO
-- 设置作业调度
EXEC msdb.dbo.sp_add_schedule @schedule_name=N'DailySchedule',
@freq_type=4,
@freq_interval=1,
@active_start_time=233000
GO
EXEC msdb.dbo.sp_attach_schedule @job_id=@jobId, @schedule_name=N'DailySchedule'
GO
-- 启动作业
EXEC msdb.dbo.sp_start_job @job_id=@jobId
GO
```
上述脚本中,首先创建了一个备份设备,然后创建了一个名为 MyBackupJob 的作业,并添加了一个名为 BackupStep 的作业步骤,该步骤执行了一个备份数据库的命令。接着,设置了一个每天执行一次的作业调度,并将该调度附加到 MyBackupJob 作业上。最后,启动了该作业。
阅读全文