sql server 2008 自动备份(非维护计划)

在一个项目中用到的数据库是sqlserver 2008 r2 express 。可没想到express版本的功能有些限制,此前一直都不知道啊。百度百科可以看到它的限制:

“1.数据库的大小限制:SQL Server 2005 Express 和SQL Server 2008 Express 数据库的大小限制最大为 4GB,最新版本的SQL Server 2008 R2 Express 数据库的大小限制最大为 10G。这个大小的限制只有在数据文件上,交易记录档则不受此限。 2.只能使用一个 CPU 来运算,这在多个 CPU 的电脑上会造成浪费。

3.可使用的存储器量最高只有 1GB。

4.没有 SQL Agent,若要做调度服务必须自己写程序。”

所以,由于没有SQL代理(SQLSERVERAGENT)服务,就没有办法通过新建作业的方式来做数据库备份了。如果不想重装数据库的话可以试试以下方法。思路如下:

1、写一个sql 脚本来作数据库备份。

例如:backup.sql ,我们把它放在 F:\Database_Backup下,以后的备份文件也放在这个目录下。

 

GO

DECLARE

@backupTime VARCHAR(20)

DECLARE

@fileName VARCHAR(1000)

SELECT

@backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ‘:‘, ‘‘))

SELECT

@fileName=‘F:\Database_Backup\DB_‘[email protected]+‘.bak‘

backup database DBName to [email protected]

DBName就是你的数据库的名称了,备份的文件名形如 DB_201302252140.bak。

2、写一个批处理文件,执行此sql脚本。

例如:backup_database.bat ,我们也把它放在 F:\Database_Backup下。

  1. sqlcmd -S . -i F:\Database_Backup\backup.sql

3、新建一个Windows计划任务,定期(比如每天)执行此批处理命令。

选择管理工具里的“计划任务”

选择“创建基本任务”

输入任务名称和描述

选择执行时间

选择操作为“启动程序”

这里的程序或脚本就选择我们建好的 backup_database.bat

最后确定即可。

至于删除过期的备份文件,我们也可以通过任务计划来完成。forfiles命令,可以实现批量删除文件,用法可以自行百度。我们写一个批处理文件delete_bakFile.bat,内容如下:

  1. forfiles /p F:\Database_Backup /m *.bak /d -7 /c "cmd /c del /f @path"

在这里,我们删除7天以前的备份,同样地新建一个任务计划,将它执行的程序指向这个bat 即可,执行时间可以指定为一个月一次或一周一次等。

原文地址:https://www.cnblogs.com/huyaguang/p/8278483.html

时间: 2024-11-05 22:52:18

sql server 2008 自动备份(非维护计划)的相关文章

通过作业调度建立SQL Server的自动备份

SQL Server的作业调度来建立自动备份的方法 ◆1.进入企业管理器中->管理->sql server代理->作业; ◆2.新建作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限; ◆3.点击步骤标签,进入步骤面板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写入以下语句: BACKUP DATABASE [数据库名] TO DISK = N''F:data数据库备份'' WITH NOIN

如何让SQL Server数据库自动备份并压缩成rar文件

1.  先开启xm_cmdshell服务 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出.由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中.由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell

SQL Server 2012自动备份

SQL 2012和2008一样,都可以做维护计划,来对数据库进行自动的备份. 现在做这样一个数据库维护的计划,每天0点对数据库进行差异备份,每周日0点对数据库进行完全备份,并且每天晚上10点删除一次过期备份(两个星期前的). 做这样一个维护计划的方法如下: 在做计划之前,需要先启用SQL Server代理,并将启动模式设为自动. 接下来,依次点击“SQL Server Management Studio”--“管理”--“维护计划”--“维护计划向导”--“维护计划向导” 在这里由于这里有三项计

SQL Server 2008每日备份

备份数据库文件 1.建议数据库系统每天做一次自动备份,备份方法:可以使用 SQLServer 企业管理器中自带的维护计划完成 (1).SQLServer 的自动备份需要使用 SQL Server 代理服务,一定要启动. (2) .把数据库恢复模式改为完整,这样就是数据库出现问题也可恢复. 选中数据库,右键属性. (3).新建维护计划 (4).定义维护计划的名称 (5).双击“备份数据库”任务,添加到右侧 (6).在“备份数据库”任务上右键编辑 (7).选择需要备份的数据库 (8).设置好数据库备

SQL SERVER 设置自动备份和删除旧的数据库文件

打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动).启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”. 一.备份数据的第一个步骤--“备份当日数据” 在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句

SQL Server 定时自动备份数据库

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库,这篇文章介绍使用SQL Server 数据库代理中的作业定时自动备份数据库. 1.启动SQL Server代理服务,如下图: 绿色角标说明已启动. 2.右键“作业”,选择“新建作业”,弹出新建作业对话框,如下: 3.输入名称,所有者.类别默认不用修改,点击左侧“步骤”,在步骤面板中新建步骤,如下图: 输入步骤名(自定义)和命令. 命令代码: declare @name varchar(250) set @name='C:\My

SQL Server 2008数据备份与还原的原理是什么?

为什么SqlServer有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的SqlServer数据库. 单就操作过程而言,SqlServer中数据库备份和恢复过程是相当简单的,可以通过ManagementStudio的图形界面进行操作,也可以使用几句T-SQL语句完成.但要明白备份恢复的整个过程,定制符合系统需求数据库备份方案,却需要知晓数据库的实现原理.备份和恢复是数据库的核心功能. 可能许多

SQL Server 2008 自动发邮件HTML表格

DECLARE @emailBody NVARCHAR(MAX); SET @emailBody = N'<style>table{table-layout:fixed;width:1200px;border:1px solid #000000;border-collapse:collapse;font-size:12px;empty-cells:show;}' N'th,td{border:1px solid #000000;padding:3px;}</style>' N'&l

SQL Server 2008如何创建定期自动备份任务(一)

我们知道,利用SQL Server 2008数据库可以实现数据库的定期自动备份.方法是用SQL SERVER 2008自带的维护计划创建一个计划对数据库进行备份,下面我们将SQL SERVER 2008定期自动备份的方法分享给大家. 首先需要启动SQL Server Agent服务,这个服务如果不启动是无法运行新建作业的,点击"开始"–"所有程序"–"Microsoft SQL Server 2008"–"启动SQL Server Ma