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#自定义事件及用法实例

    C#自定义事件及用法实例 在C#编程中,事件是编写高效程序不可缺少的一个重要部分。在C#中,可以使用内置的事件(System.EventHandler)来对事件进行处理。同时,也可以使用自定义的事件来实现特定要求的事件处理。 本文将详细介绍C#自定义事件及用法实例,帮助读者更好地理解事件机制并掌握自定义事件的应用。 什么是C#自定义事件 自定义事件是基于内置…

    C# 2023年6月1日
    00
  • C#自定义简化cookie类实例

    下面是C#自定义简化cookie类实例的完整攻略: 什么是cookie? 在Web开发中,服务器可以通过设置一个被浏览器保存的cookie给指定用户,在后续的用户请求时进行识别,在保持用户状态、实现一些个性化操作等方面发挥重要作用。 C#中的cookie类 在C#中,可以使用System.Net.Cookie类来表示cookie。一般情况下,我们需要设置co…

    C# 2023年5月31日
    00
  • ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较

    ASP.NET是一种广泛使用的Web应用程序框架,C#是一种强类型面向对象的编程语言。在开发ASP.NET应用程序时,我们常常需要使用字符串操作,其中包括String、StringBuilder和StringWriter这三种不同的类型。这三种类型有着不同的性能特点,需要根据具体的情况来选择使用。 1. String String是C#中常用的字符串类型,它…

    C# 2023年6月3日
    00
  • Silverlight融合ajax实现前后台数据交互

    Silverlight融合ajax实现前后台数据交互 Silverlight是一种基于.NET Framework的浏览器插件,可以用于创建丰富的互联网应用程序。在Silverlight应用程序中,可以使用ajax技术来实现前后台数据交互。本文将提供详细的“Silverlight融合ajax实现前后台数据交互”的完整攻略,包括如何使用ajax技术来实现前后台…

    C# 2023年5月15日
    00
  • ASP.NET MVC使用异步Action的方法

    以下是“ASP.NET MVC使用异步Action的方法”的完整攻略: 什么是异步Action 在ASP.NET MVC中,我们可以使用异步Action来提高应用程序的性能和可伸缩性。异步Action可以在执行长时间运行的操作时释放线程,从而提高应用的吞吐量。 使用异步Action的步骤 以下是使用异步Action的步骤: 步骤1:创建异步Action 首先…

    C# 2023年5月12日
    00
  • c#实现多线程局域网聊天系统

    C#实现多线程局域网聊天系统攻略 前言 本文介绍如何使用C#语言编写多线程局域网聊天系统。局域网聊天系统主要用于小范围内的通信,可以在公司、学校或家庭之间使用。使用多线程技术可以提升系统的并发性能,增强用户体验。本文将使用Visual Studio开发工具来进行程序设计和实现。 程序设计 整体架构 客户端程序:用于与其他用户进行通信和交流,需要与服务器程序进…

    C# 2023年6月6日
    00
  • C#位运算以及实例计算详解

    C#位运算以及实例计算详解 什么是位运算 位运算是指针对二进制数按位进行操作的运算,它可以高效地实现各种算法和操作。 C#中支持以下位运算符: 按位与(&) 按位或(|) 按位异或(^) 按位取反(~) 左移(<<) 右移(>>) 位运算的应用 位运算可以应用于许多领域,特别是在开发中经常用到的领域有: 位掩码:使用一个数(掩…

    C# 2023年5月31日
    00
  • 分享一个asp.net pager分页控件

    Asp.NetPager是一个.NET平台上的分页控件,可以方便地实现分页功能。以下是使用Asp.NetPager实现分页功能的完整攻略。 环境准备 在使用Asp.NetPager前,需要安装Asp.NetPager包。可以使用以下命令来安装Asp.NetPager: Install-Package AspNetPager 实现分页功能 以下是使用Asp.N…

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