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日

相关文章

  • asp实现二进制字符串转换为Unicode字符串

    实现二进制字符串转换为Unicode字符串,可以通过以下步骤来完成: 将二进制字符串转换为byte数组。可以通过将二进制字符串每8位作为一个byte元素,将这些byte元素组成一个byte数组,来实现二进制字符串转换为byte数组。 示例1: 假设有以下二进制字符串:01100001011100100111001101110100 按照每8位作为一个byte…

    C# 2023年6月7日
    00
  • C# SortedList排序列表的实现

    C#中的SortedList是一种排序列表,它关联了键和值,并按键的排序顺序存储键值对。在本文中,我们将详细讲解如何使用C# SortedList排序列表,包括创建、添加、删除和排序键值对。 创建SortedList 我们可以使用泛型和非泛型方法创建SortedList对象。下面是创建一个非泛型的SortedList的示例代码: SortedList myS…

    C# 2023年6月8日
    00
  • C#实现缩放和剪裁图片的方法示例

    下面是关于“C#实现缩放和剪裁图片的方法示例”的完整攻略: C#实现缩放和剪裁图片的方法示例 前言 在开发软件时,需要在界面中显示图片,但有时图片尺寸不符合需求,需要进行缩放或剪裁。那么如何在C#中实现? 使用.Net自带类库实现缩放 在C#中,实现缩放图片可以用到System.Drawing命名空间下的类库。 第一步:获取原始图片 Image image …

    C# 2023年6月7日
    00
  • C#多线程学习之(五)使用定时器进行多线程的自动管理

    下面是C#多线程学习之(五)使用定时器进行多线程的自动管理的完整攻略。 什么是定时器 定时器是一种常用的计时工具,可以用于多线程编程中,对多线程进行定时的自动管理。在C#中,可以使用System.Threading.Timer或System.Timers.Timer来实现定时器功能。 System.Threading.Timer System.Threadi…

    C# 2023年6月1日
    00
  • Unity实现喷漆效果

    Unity实现喷漆效果,可以分以下步骤来完成: 创建一个基本的场景,并导入一个模型。 为模型创建着色器,并定义一个接口来控制喷漆效果。 为着色器添加代码,以添加喷漆效果,其中需要使用到模板纹理、贴图以及渲染纹理等技术。 添加触发器并创建脚本,以在场景中呈现喷漆效果。 导出场景或打包场景,以便在Web程序或其他平台上调用。 以下是两个示例,以更深入地解释如何实…

    C# 2023年6月3日
    00
  • C#获取文件夹所占空间大小的功能

    要实现该功能,可以使用C#内置的System.IO命名空间下的DirectoryInfo类和FileInfo类。下面是详细的步骤: 使用DirectoryInfo类创建文件夹的实例。 DirectoryInfor dirInfo = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Example…

    C# 2023年6月1日
    00
  • C#实现打字小游戏

    下面是讲解C#实现打字小游戏的完整攻略。 一、介绍 打字小游戏,是一种很有趣的游戏,可以提高我们的打字速度和准确率。在这个项目中,我们将使用C#语言来实现一个简单的打字小游戏。 二、准备工作 在开始编写代码之前,我们需要先准备好以下工具和环境: C#集成开发环境,如Visual Studio; .NET Framework; Windows操作系统。 三、思…

    C# 2023年6月7日
    00
  • C#实现计算年龄的简单方法汇总

    C# 实现计算年龄的简单方法汇总 在开发中,经常需要计算一些日期相关的内容,其中计算年龄可以说是比较重要的一个需求。本文将介绍在C#中实现计算年龄的几种简单方法。 方法一:使用DateTime.Now和DateTime的Subtract方法计算年龄 这种方法的思想是通过当前时间和出生日期之间的时间差来计算年龄,代码如下: DateTime birthDay …

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