MSSQL 2008 自动备份数据库的设置方法

下面是详细讲解“MSSQL 2008 自动备份数据库的设置方法”的完整攻略:

1. 查看当前数据库的备份类型

在开始设置自动备份之前,需要先查看当前数据库的备份类型,以便确定需要设置的备份方式。可以通过以下代码在 SQL Server Management Studio 的查询窗口中执行来查看:

USE master
GO

SELECT [name], recovery_model_desc FROM sys.databases

执行后,会返回所有数据库的名称和恢复模式,如下所示:

name           | recovery_model_desc
-------------- | -------------------
master         | SIMPLE
tempdb         | SIMPLE
model          | FULL
msdb           | SIMPLE
AdventureWorks | SIMPLE

其中recovery_model_desc列显示的是恢复模式,分别有SIMPLE、FULL和BULK_LOGGED三种。如果当前数据库的恢复模式为SIMPLE,则只能使用完全备份和差异备份;如果为FULL或BULK_LOGGED,则还可以使用事务日志备份。

2. 设置自动备份

2.1 完全备份

完全备份备份了整个数据库,包括数据、索引、存储过程等。设置自动完全备份的步骤如下:

  1. 在 SQL Server Management Studio 中右键点击需要备份的数据库,选择“属性”。
  2. 在弹出窗口中选择“选项”选项卡,找到“备份”选项,将“备份类型”设置为“完全备份”,设置“备份目录”。
  3. 点击“确定”保存设置。

2.2 差异备份

差异备份只备份上次完成完全备份或差异备份后发生的更改。如果没有完成过完全备份,则差异备份会失效。设置自动差异备份的步骤如下:

  1. 在 SQL Server Management Studio 中右键点击需要备份的数据库,选择“属性”。
  2. 在弹出窗口中选择“选项”选项卡,找到“备份”选项,将“备份类型”设置为“差异备份”,设置“备份目录”。
  3. 点击“确定”保存设置。

2.3 完全备份 + 差异备份

如果需要同时设置自动完全备份和差异备份,可以按照上述步骤设置即可。

2.4 事务日志备份

事务日志备份只备份数据库日志,可以用于恢复到某个时间点。设置自动事务日志备份的步骤如下:

  1. 在 SQL Server Management Studio 中右键点击需要备份的数据库,选择“属性”。
  2. 在弹出窗口中选择“选项”选项卡,找到“备份”选项,将“备份类型”设置为“事务日志备份”,设置“备份目录”。
  3. 点击“确定”保存设置。

示例说明

示例一:设置每天自动完全备份和差异备份

可以使用以下代码在 SQL Server Management Studio 的查询窗口中执行,设置每天在下午5点进行完全备份,每天在下午6点进行差异备份:

USE master
GO

EXEC sp_add_schedule @schedule_name = 'DailyBackup_Full',
    @freq_type = 4,
    @freq_interval = 1,
    @freq_subday_type = 1,
    @freq_subday_interval = 0,
    @freq_relative_interval = 0,
    @freq_recurrence_factor = 1,
    @active_start_time = 170000;

EXEC sp_add_job @job_name = 'FullBackup',
    @enabled = 1;

EXEC sp_add_jobstep @job_name = 'FullBackup',
    @step_name = 'Backup',
    @subsystem = 'TSQL',
    @command = 'BACKUP DATABASE AdventureWorks TO DISK = ''E:\Backup\AdventureWorks_Full.BAK''',
    @flags = 1;

EXEC sp_attach_schedule @job_name = 'FullBackup',
    @schedule_name = 'DailyBackup_Full';

EXEC sp_add_schedule @schedule_name = 'DailyBackup_Diff',
    @freq_type = 4,
    @freq_interval = 1,
    @freq_subday_type = 1,
    @freq_subday_interval = 0,
    @freq_relative_interval = 0,
    @freq_recurrence_factor = 1,
    @active_start_time = 180000;

EXEC sp_add_job @job_name = 'DiffBackup',
    @enabled = 1;

EXEC sp_add_jobstep @job_name = 'DiffBackup',
    @step_name = 'Backup',
    @subsystem = 'TSQL',
    @command = 'BACKUP DATABASE AdventureWorks TO DISK = ''E:\Backup\AdventureWorks_Diff.BAK'' WITH DIFFERENTIAL',
    @flags = 1;

EXEC sp_attach_schedule @job_name = 'DiffBackup',
    @schedule_name = 'DailyBackup_Diff';

执行之后,每天下午5点会自动进行完全备份,每天下午6点会自动进行差异备份。备份文件存储在E:\Backup目录下。

示例二:设置每小时自动事务日志备份

可以使用以下代码在 SQL Server Management Studio 的查询窗口中执行,设置每小时自动进行事务日志备份,备份文件存储在E:\Backup目录下:

USE master
GO

EXEC sp_add_schedule @schedule_name = 'LogBackup',
    @freq_type = 4,
    @freq_interval = 1,
    @freq_subday_type = 4,
    @freq_subday_interval = 1,
    @freq_relative_interval = 0,
    @freq_recurrence_factor = 1,
    @active_start_time = 0;

EXEC sp_add_job @job_name = 'LogBackup',
    @enabled = 1;

EXEC sp_add_jobstep @job_name = 'LogBackup',
    @step_name = 'Backup',
    @subsystem = 'TSQL',
    @command = 'BACKUP LOG AdventureWorks TO DISK = ''E:\Backup\AdventureWorks_Log.trn''',
    @flags = 1;

EXEC sp_attach_schedule @job_name = 'LogBackup',
    @schedule_name = 'LogBackup';

执行之后,每小时会自动进行事务日志备份,备份文件存储在E:\Backup目录下。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MSSQL 2008 自动备份数据库的设置方法 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 浅谈C# async await 死锁问题总结

    下面是针对“浅谈C#asyncawait死锁问题总结”的完整攻略: 什么是async/await死锁问题 async/await 是 C# 中一种使异步编程更加便捷的方式。但是在某些情况下,使用不当会引发死锁问题。 在使用 async/await 时,我们往往会使用到 Task.Wait() 或 Task.Result 这些阻塞方法来获取异步操作的结果。 但…

    C# 2023年5月15日
    00
  • .NET SkiaSharp 生成二维码验证码及指定区域截取方法实现

    以下是“.NET SkiaSharp生成二维码验证码及指定区域截取方法实现”的完整攻略: 什么是SkiaSharp SkiaSharp是一个跨平台的2D图形库,它提供了一组用于绘制图和处理图像的API。我们可以使用SkiaSharp来创建自定义控件、绘制图形和处理图像。 使用SkiaSharp生成二维码 以下是使用SkiaSharp生成二维码的步骤: 步骤1…

    C# 2023年5月12日
    00
  • 详解ASP.NET Core端点路由的作用原理

    在 ASP.NET Core 中,端点路由是将 HTTP 请求映射到处理程序的机制。端点路由的作用是将请求路由到正确的处理程序,以便处理程序可以处理请求并生成响应。以下是详解 ASP.NET Core 端点路由的完整攻略: 步骤一:定义端点 在 ASP.NET Core 项目中,需要定义一个或多个端点来处理 HTTP 请求。可以使用 Map* 方法来定义端点…

    C# 2023年5月17日
    00
  • Java和C#下的参数验证方法

    下面是Java和C#下的参数验证方法的完整攻略: Java下的参数验证方法 在Java中,参数验证通常使用JSR 303/349 Bean Validation规范的注解实现。通过在实体类的属性上标注对应的注解,可以对参数进行各种验证,比如非空、长度、格式等等。这些注解在Java Bean Validation API中已经定义好了。 下面是示例代码: im…

    C# 2023年6月6日
    00
  • iis6网站属性没有asp.net选项卡的解决办法

    在IIS6中,有时候会出现网站属性没有ASP.NET选项卡的情况,这可能会导致无法配置ASP.NET应用程序。本文将提供详细的“iis6网站属性没有asp.net选项卡的解决办法”的完整攻略,包括如何解决此问题,以及示例代码。 解决办法 解决iis6网站属性没有asp.net选项卡的问题需要以下步骤: 安装ASP.NET。 注册ASP.NET。 安装ASP.…

    C# 2023年5月15日
    00
  • C#实现将一个字符转换为整数

    讲解“C#实现将一个字符转换为整数”的完整攻略,主要使用C#内置的Convert.ToInt32()方法进行转换,具体步骤如下: 1. 将字符转换为字符串 首先,需要将输入的字符转换为字符串类型,可以使用ToString()方法或直接将字符使用双引号引起来,如: char c = ‘5’; string s = c.ToString(); // 或者 str…

    C# 2023年5月15日
    00
  • C#多线程编程中的锁系统(四):自旋锁

    当多个线程需要访问共享资源时,可能会出现竞争的情况,如果不加以处理,就会出现数据不一致的问题。因此,需要使用锁来保证共享资源的访问序列化。本文将介绍自旋锁的使用和实现方式。 什么是自旋锁? 自旋锁是一种锁机制,它是基于循环检测的方法实现的。当一个线程需要访问共享资源时,如果发现锁已经被其他线程占用,它就会进入一个忙循环(自旋)中,等待锁变为可用。在“忙循环”…

    C# 2023年5月15日
    00
  • 关于C# 4.0新特性“缺省参数”的实现详解

    C# 4.0 新特性:缺省参数 什么是缺省参数? 缺省参数(default parameter)是指在声明方法时,可以给方法的参数设置默认值,这样在调用方法时如果调用者没有为参数传入特定的值,就会使用参数的默认值。缺省参数使得编写方法时更加方便,简化了方法调用者的代码。 如何实现缺省参数? 在 C# 4.0 中,我们可以在声明方法时使用“=值”的方式来给方法…

    C# 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部