SQL Server 2008维护计划实现数据库定时自动备份
SQLServer2008维护计划实现数据库备份

SQLServer2008维护计划实现数据库备份SQL Server系列软件是Microsoft 公司推出的关系型数据库管理系统。
接下来是小编为大家收集的SQLServer2008维护计划实现数据库备份,希望能帮到大家。
SQLServer2008维护计划实现数据库备份(一) 备份计划1) 每周星期日的2:00:00执行数据库的完整备份;2) 每周星期一至星期六每天的2:00:00执行数据库的差异备份;3) 每天在8:00:00和23:59:59之间、每1小时执行数据库的日志备份;4) 每个月的最后一个星期日的1:00:00执行数据库的完整备份;(二) 计划讲解1. 根据备份文件的不同,我创建了4个文件用于存放备份文件:(Medusa是数据库名)1) Medusa_Full:用于存放完整备份文件;2) Medusa_Diff:用于存放差异备份文件;3) Medusa_Log:用于存放日志备份文件;4) Medusa_Save:用于存放保留备份文件;上面的4个文件夹与备份计划的4个步骤是一一对应的;(Figure1:文件夹命名规范)2. 创建名为Medusa的维护计划,并创建如下图的4个子计划:(Figure2:子计划列表)3. 设置【清除历史记录】、【清除维护】的保留时间:1) Subplan_Full:保留完整备份文件4周;(1个*4周=4个文件)2) Subplan_Diff:保留差异备份文件2周;(6个*2周=12个文件)3) Subplan_Log:保留日志备份文件1周;(16个*7天=112个文件)4) Subplan_Save:保留备份文件1年;(1个*12月=12个文件)上面的时间策略需要根据数据库的安全级别、磁盘空间、业务特性等情况共同解决的,你可以根据的实际情况进行修改和调整;4. 下面的Figure3、Figure4、Figure5、Figure6是具体设置的效果图:看了“SQLServer2008维护计划实现数据库备份”还想看:。
SQLsever2008数据库备份完整+差异

SQL sever 2008 数据库备份
完整+差异
1、打开sqlsever2008数据库客户端,选择管理-维护计划-维护计划向导,如下图:
2、点击下一步
3、制定计划名称,填写说明,选择没想任务单独计划,如下图:
4、选择维护计划项(这里选择检查完整性、备份完整数据库及差异数据库),如下图:
5、此处点击下一步即可:
6、这里选择要检查完整性的数据库(数据库完整性重要性也是很高的,如何修复请查阅资料)
7、选定后点击下一步即可
8、选择完整备份数据库
9、选择备份路径及验证完整性(备份完不能用更头疼,最好定期还原一个检查下)
10、差异备份与完整备份基本一致,如下图:
11、日志报告路径,可以查看备份结果及命令:
12、点击下一步
13、所有项都成功,点击关闭即可
14、双击设置好的计划,选择最左边制定执行时间
15、最好选择服务器使用频率最小时候进行完备,完整性和差异可以每天执行一次,选择好了点击确定,如下图:
16、在维护计划中点击执行,会报错,需要在sqlsever代理中执行。
17、如下图一次执行作业开始步骤:
18、执行成功
19、日志、完整备份、差异备份展示
20、数据库还原操作,需还原两次,第一次完整备份,第二次完整+差异,如下图:。
如何让SQL Server自动定时备份数据库并按日期命名

如何让SQL Server自动定时备份数据库并按日期命名2011-07-18 15:36 双魂人生博客园字号:T | T备份数据库在维护软件和站点的时候是必要的,因为它关系着数据的安全性和完整性。
本文主要介绍了SQL Server数据库的定时自动备份是如何实现的,希望能对您有所帮助。
AD:2014WOT全球软件技术峰会北京站课程视频发布通常备份的方式有两种:手动备份和自动备份,如果数据库服务器中有这么多的数据库需要备份,那么手动备份必定是一个很大的工作量,这个时候我们可以采用另外一种备份方式---定时自动备份。
SQLServer的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的,以sql2000为例:首先要确认SQL Server Agent服务是在启动状态,下一步,我们来创建作业,在创建作业之前,我们需要创建备份数据库及命名的存储过程比如是对TestDB操作,打开查询分析器,把下面的存储过程拷到里面执行下就行了,当然了,命名规则可以自动更改E [TestDB]2.3.GO4.5.SET ANSI_NULLS ON6.7.GO8.9.SET QUOTED_IDENTIFIER ON10.11.GO12.13.CREATE PROCEDURE [BackupDatabase](@FolderPath varchar(500))14.15.as16.17.DECLARE @FullPath varchar(1000)18.19.set @FullPath = @FolderPath+ 'TestDB_'+convert(VARCHAR(4),year(getdate()))+right( '0'+convert(VARCHAR(2),MONTH(getdate())),2)+right('0'+co nvert(VARCHAR(2),DAY(getdate())),2)+ '.bak'20.21.backup database [TestDB] to disk=@FullPath WITH INIT22.23.return这样就创建了一个BackupDatabase的存储过程。
Sqlserver数据库中没有维护计划,使用windows默认的计划任务实现数据备份

Sqlserver数据库中没有维护计划,使用windows默认的计划任务实现数据备份Sqlserver2005/2008数据库中没有维护计划,使用windows默认的计划任务实现数据备份目录制作备份脚本: (1)一、任意目录新建文件夹sqlbat (1)二、把下面语句保存为baksqlfullanddel.sql ,保存到sqlbat 文件夹中 (2)三、把下面语句保存为baksqlanddell.bat ,保存到sqlbat 文件夹中 (2)任务计划: (2)一、任务计划程序 (2)二、创建任务,进行备份。
(3)手动执行测试: (6)一、尝试手动执行baksqlanddell.bat 文件 (6)二、手动执行baksqlanddell.bat 文件,错误结果解决方法: (6)三、手动执行任务计划 (7)四、手动执行任务计划错误结果解决方法: (7)有些朋友用到的数据库是sqlserver 2005/2008 express ,但express这个版本的功能有些限制,无法使用维护计划。
想要实现express版本的自动备份可以使用系统自带的任务计划来实现。
制作备份脚本:一、任意目录新建文件夹sqlbat如:C盘根目录二、把下面语句保存为baksqlfullanddel.sql ,保存到sqlbat 文件夹中1. 修改数据库备份目的方件夹和数据库名称(红色标的地方)。
2. SELECT @OLDDATE=GETDATE()-2 此语句为删除2天前的备份,删除多少天前的备份就把“2”修改一下就可以了。
三、把下面语句保存为baksqlanddell.bat ,保存到sqlbat 文件夹中1. cd C:\Program Files\Microsoft SQL Server\90\Tools\binn\ 此语句为进入到目录因为需要用到这个目录的sqlcmd.exe 文件来进行备份操作任务计划:一、任务计划程序二、创建任务,进行备份。
浅谈SQL Sever 2008数据库的备份和恢复

浅谈SQL Sever 2008数据库的备份和恢复【摘要】SQL Server 2008是一个功能强大的面向中小型企业的关系型数据库管理系统,提供了与众多高级数据库管理器相同的运行性能。
本文主要对SQL SERVER 2008的数据安全保障进行探讨。
数据库的安全性是用户最关心的项目之一,一般来讲,数据库的安全性内容包括:数据的完整性、数据的备份、数据的回复等相关问题。
文章从数据的完整性、数据库的安全管理、数据的备份与恢复三个方面阐述了如何在日常应用中保证SQL server2008数据库的安全,尤其对数据库的安全管理提出了具有很强实用性的管理办法,希望能对广大SQL server 2008用户有所帮助。
【关键词】SQL Sever 2008数据库备份及恢复发展前言数据安全信息技术的发展离不开数据库技术的不断发展,随着中小企业IT 化进程的提升,越来越多的软件公司在数据库平台上正面临挑战。
在未来云计算环境下,客户对数据访问的可靠性和高可用性方面将有更多的要求。
如何大幅度提升系统整体可用性,利用数据库特性获得更好更安全的用户数据管理效果已成为关键。
SQL Server 2008 保持了微软产品一贯拥有的易于使用的特性,在管理和维护上比同类产品更加方便。
并且开发人员更习惯于在微软平台上进行开发,其开发的知识与经验可以保留,便于企业产品与服务的更新,同时,还可帮助企业扩展任意数据至任意平台。
1、SQL Sever 2008数据库备份的意义1.1创建返回以地理标记语言(GML)表示的空间数据的存储过程。
GML 是一个由开放地理空间联盟(OGC)定义的标准,用于在应用程序和系统之间交换地理数据。
SQL Server中的空间数据类型支持GML 作为空间数据类型实例的数据源,也支持GML 作为表示空间数据值的格式。
借助对GML的这种支持,可以轻松地在SQL Server中的空间数据和其他地理空间系统(如Microsoft Virtual Earth)之间进行集成。
SqlServer中如何实现自动备份数据

SqlServer中如何实现自动备份数据第1种方法:企业管理器--管理--右键数据库维护计划--新建维护计划--<下一步> --选择你要备份的数据库--<下一步>直到"指定数据库备份计划"这项--指定存储备份文件的位置,这里根据需要选择备分到磁带还是磁盘--单击调度后面的"更改"按纽--定义你的数据备份计划的时间安排,完成后确定--<下一步> --这里可以设置备份文件的保留时间和备文件的扩展名--<下一步> --选择是否做日志备份计划--<下一步>直到完成。
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行。
第2种方法:企业管理器--管理--SQL Server代理--右键作业--新建作业--"常规"项中输入作业名称--"步骤"项--新建--"步骤名"中输入步骤名--"类型"中选择"Transact-SQL 脚本(TSQL)"--"数据库"选择执行命令的数据库--"命令"中输入要执行的语句: backup database 数据库名称to disk='c:\备份文件名.bak'--确定--"调度"项--新建调度--"名称"中输入调度名称--"调度类型"中选择你的作业执行安排--如果选择"反复出现"--点"更改"来设置你的时间安排然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行。
第3种方法:建作业:企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》步骤页中新建步骤、输入名称、加入SQL语句:——》调度页中新建调度、输入名称,选择反复出现,更改时间——》OK完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS 时自动启动再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK----在加入SQL语句:——里写入以下的语句,并修改数据库名和备份的目录declare @filedir varchar(200),@dir varchar(200)declare @dbname varchar(50),@bakname varchar(50),@sql varchar(4000)select @filedir=filename from sysfilesset @dir=''while charindex('\',@filedir)<>0beginset @dir=@dir+left(@filedir,charindex('\',@filedir))setfiledir=substring(@filedir,charindex('\',@filedir)+1,len(@filedir)-charindex('\',@filedir))endset @bakname='bak'+cast(datepart(weekday,getdate())-1 as varchar(1))-----指定数据库set @dbname='scmbuilder'set @sql='BACKUP DA TABASE ['+@dbname+'] TO DISK = N'''+'e:\sqlbak\'+@bakname+''' WITH INIT , NOUNLOAD , NOSKIP , STA TS = 10,NOFORMA T'--备份文件到"e:\sqlbak\"目录下exec(@sql)备份时可能会降低应用程序对数据库的操作性能,但SQL会协调好的,只是应用程序操作数据库可能会慢一些在把SQL Agent服务启动时遇到了问题,启动不了,报如下错误:服务并未返回错误。
sql2008数据库自动备份方法

sql2008数据库自动备份方法在SQL Server 2008中,可以通过以下几种方法来实现数据库的自动备份:1. 使用SQL Server代理作业:SQL Server代理是SQL Server提供的一个用于自动执行管理任务的功能。
你可以创建一个代理作业,在其中定义备份任务并设置调度计划,使其按照设定的时间和频率自动执行备份操作。
2. 使用Transact-SQL脚本:你可以使用Transact-SQL编写备份脚本,并将其保存为批处理文件或者SQL Server代理作业。
在脚本中,你可以使用BACKUP DATABASE语句来执行备份操作,并通过设置参数指定备份的位置、文件名、备份类型等信息。
然后,通过Windows 计划任务或SQL Server代理作业来定期调度执行该脚本。
3. 使用第三方工具:除了SQL Server自带的功能,还有一些第三方的备份工具可以帮助你实现自动备份。
这些工具通常提供了更多的灵活性和配置选项,可以满足特定需求,例如设置增量备份、差异备份、压缩备份等。
无论你选择哪种方法,都需要考虑以下几点:- 备份策略:根据业务需求和数据重要性,确定备份的频率和保留周期。
通常建议每日进行完整备份,并根据需要增加差异备份或增量备份。
- 存储位置:选择一个合适的存储位置来保存备份文件,确保其安全可靠并易于管理。
可以考虑将备份文件保存在本地磁盘、网络共享文件夹或远程服务器等位置。
- 监控和日志记录:设置适当的监控和日志记录机制,以便及时发现备份过程中的错误或异常情况,并采取相应的处理措施。
通过以上方法和注意事项,你可以在SQL Server 2008中实现数据库的自动备份,保障数据的安全性和可恢复性。
使用SQL-Server-2008-维护计划

使用SQL Server 2008 维护计划一:目标任务:使用SQL Server 2008自带的维护计划自动备份数据库,并且自动删除超过设定期限的历史备份文件:1. 每天0点自动备份指定数据库testDB,备份文件放在E:\autoBack文件夹下2. 备份文件保留1周,每天备份完数据库后自动删除超过1周的备份文件二:前提条件1. 已经安装SQL Server Integration Services 服务2. 已经安装SQL Server 代理(MSSQLSERVER) 服务如果未安装SQL Server Integration Services 服务,依然可以创建维护计划,但是不会生效三:创建维护计划(使用维护计划向导)1. 选择对象资源管理器下的“管理”,点击右键,选择“维护计划向导”2. 选择“下一步”进入“选择计划属性”界面,我们这里修改计划名称为testMaintenancePlan因为我们现在有两个任务,一个是备份数据库testDB,一个是删除历史备份文件。
所以选择“整个计划统筹安排或无计划”3. 点击“更改”按钮,进入时间计划设置界面我们这里需要每天重复执行,频率是每天0点钟执行,从当天开始执行4. 点击“确定”后,返回计划属性界面5. 选择“下一步”,进入选择维护任务界面我们这里有两个任务,备份数据库和删除超期的历史备份文件,所以勾选“备份数据库(完整)”和“‘清除维护’任务”两个任务6. 选择“下一步”,进入设置维护任务顺序的界面这里的顺序是先备份数据库,再执行“清除维护”任务,删除历史备份7. 选择“下一步”,进入备份数据库任务的设置界面选择指定的特定数据库testDB:指定备份文件存放的目录为E:\autoBack备份文件扩展名为bak(默认),bak字母前面不要加点( . )8. 选择“下一步”进入“定义清除维护任务”界面我们需要删除文件夹(E:\autoBack)下面的以bak为扩展名的数据库备份文件,文件保留时间为1周,这里需要注意的是,文件扩展名填“bak”而不要填“.bak”,扩展名前不要加点,否则不会删除9. 选择“下一步”设置报告文件路径10. 选择“下一步”完成11. 刷新“管理” 下的“维护计划”文件夹,可以看到创建的维护计划12. 双击新建的维护计划或点击右键选择“修改”,可以看到维护计划的内容,并修改,修改后点击保存即可13. 最后重启SQL Server 代理服务即可(注:可编辑下载,若有不当之处,请指正,谢谢!)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。
而备份数
据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。
要实现数据库的定时自动备份,最常
用的方式就是使用SQL Server代理中的作业。
启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库 TestDB1的完整备份,备份文件
在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak。
declare @name varchar(250)
set @name='C:\Backup\TestDB1_'+
convert(varchar(50),getdate(),112)+'.bak'
BACKUP DATABASE [TestDB1] TO
DISK = @name
WITH NOFORMAT, NOINIT,
NAME = N'TestDB1-完整数据库备份',
SKIP, NOREWIND, NOUNLOAD
创建好步骤以后,接下来就是创建计划,创建计划的操作十分简单,界面上说明的很详细了,我就不多说了。
另外还可以配置警报和通知,不过一般很少用这个。
使用SQL作业中执行SQL脚本进行备份的方法虽然已经很简单了,但是至少还是要去写BACKUP脚本,这点有些人觉得不爽,那有没有更简单,更懒的方法来实现数据库的自动定时备份呢?有,那就是“维护计划”。
“维护计划”是在SSMS的对象资源管理中“管理”节点下面。
使用维护计划可
以通过可视化的操作,只点点鼠标就可以创建数据库维护的SSIS包,然后仍然是通过SQL Server作业的方式来运行。
维护计划与前面说到的备份方法本质的
不同就是:维护计划是SSIS包,上面的是T-SQL脚本。
假设我们现在有一个生产系统的数据库需要进行备份,由于数据库中的数据很多,数据文件很大,如果每次都进行完整备份那么硬盘占用了很大空间,而且备份
时间很长,维护起来也很麻烦。
对此我们可以采用完整备份+差异备份的方式,
每周日进行一次完整备份,每天晚上进行一次差异备份。
使用差异备份可以减小备份文件的大小,同时还可以提高备份的速度,不过缺点就是必须使用上一次
完整备份的文件和差异备份的文件才能还原差异备份时刻的数据库,单独只有差异备份文件是没有意义。
下面我来讲一下如何通过维护计划来实现完整备份+差异备份:
(1)在SSMS的对象资源管理器中右击“维护计划”,选择“维护计划向导”,系统将弹出向导窗口,如图:
这里向导已经告诉我们维护计划到底能够干什么了,其中最后一项“执行数据库备份”正是我们所需要的。
(2)点击“下一步”按钮,进入选择计划属性窗口,输入计划的名称,由于我们的计划包括2部分:完整备份和差异备份,这2部分的执行计划是不一样的,一个是一周执行一次,另一个是一天执行一次,所以要选择“每项任务单独计划”,如图:
(3)单击“下一步”按钮,选择维护任务,这里就是可以在维护计划中执行的任务,如果你想执行的任务在这里没有,那就还是不用维护计划来做,自己写SSIS包或者SQL语句吧。
我们要执行的任务都在这里,选中这2个任务,如图:
(4)单击“下一步”进入选择维护任务顺序的界面,这里我们可以看到选中的任务出现在列表中,但是我们并不能调整其顺序,那是因为在步骤2中我们选择的是每项任务单独计划,所以这2个任务是独立的,没有先后顺序可言。
如果当时选择的是另一个选项,那么这里就可以调整顺序了。
(5)选中“备份数据库(完整)”然后单击“下一步”按钮,系统将转到定义完整备份任务的界面,如图:
这个界面实在太长了,我把任务栏隐藏了都显示不完,出现了滚动条,这里我们选择要进行备份的数据库,选择为每个数据库创建备份文件,文件保存在C盘Backup目录下,扩展名是bak,出于安全起见,我们可以选中“验证备份完整性”,当然也可以不选。
在SQL2008中提供了压缩备份的新特性,使得备份文件更小,
备份速度更快,这里我们就是由压缩备份。
最后是选择执行计划,我这里选的是每周日晚上0点的时候执行。
(6)单击“下一步”按钮,进入差异备份任务的设置界面,和上一步的界面是一样的,操作也是一样的,计划这里我们可以选择除了周日以外的每天进行差异备份,如图:
(7)单击“下一步”按钮,进入选择报告选项,这里我们可以将这个维护计划的执行报告写入文本文件中,也可以讲报告通过电子邮件发送给管理员。
如果要发送邮件的话,那么需要配置SQL Server的数据库邮件,另外还要设置SQL Server代理中的操作员,关于邮件通知操作员的配置网上也讲的比较多,我这里就不详述了。
(8)单击“下一步”按钮,进入“完成该向导”的界面,系统列出了向导要完成的工作,如图:
(9)单击“完成”按钮,向导将创建对应的SSIS包和SQL作业:
(10)完成后,我们再刷新下对象资源管理器,我们可以看到对应的维护计划和该计划对应的作业:
现在维护计划是创建好了,急着想看看执行后的效果如何,不需要等到晚上12点去了,在“作业”下面,右击 DbBackupPlan.Subplan_1,选择“作业开始步
骤”系统便立即执行该作业,系统运行完成后,我们便可在C:\Backup文件夹下面有我们做的完整备份的备份文件。
以上的操作可以是纯粹的无键盘操作,不用写任何脚本,只需要点点鼠标即可。
这里需要注意的是,我们如果不是周日制定的该维护计划,那么制定该维护计划前一定要做个完整备份,而且该备份至少要保留到下周,不然到时候出了问题,发现只有这几个工作日的差异备份,而上一次的完整备份又被删了,那就郁闷了。
除了使用维护计划向导以外,我们还可以直接新建维护计划,也可以修改意见创建的维护计划。
我们就以修改维护计划为例。
对于前面创建好的完整备份+ 差异备份维护计划,现在我们需要每周对数据库备份进行一次清理,在完整备份完成后,要将1个月前的备份删除掉。
那么我们只需要修改一下维护计划即可,具体操作如下:
(1)右击我们的维护计划,在弹出式菜单中选择“修改”选项,系统将新建一个选项卡来显示当前的维护计划。
如图:
左下角是可用的维护计划组件,右下面板是维护计划的流程设置面板,其上面就是该计划的子计划列表。
(2)选中Subplan_1子计划,也就是每周完整备份的子计划,将“清除历史记录”任务从工具箱中拖拽到计划面板中,然后在面板中单击“备份数据库(完整)”组件,系统将显示一个绿色的箭头,将绿色箭头拖拽到“清除历史记录”组件上,如图:
也就是说在成功完整备份了数据库后,接下来才执行清除历史记录任务。
(3)右击“清除历史记录”任务,在弹出式菜单中选择“编辑”选项,系统将弹出清除历史记录任务设置窗口,如图:
这里既可以清除历史记录日志,也可以删除硬盘上的历史数据。
这里我们要删除4周前的历史备份数据,单击“确定”回到计划面板,我们可以看到原本“清除历史记录”任务上的小红叉不见了。
单击“保存”按钮,该计划便保存起来。
(说明:我在SQL2008中文版虚拟机里面做的时候一旦修改维护计划,保存的时候就报错灾难性故障,不过我本机的英文版是正常的,不知道是我虚拟机的问题还是中文版的Bug,反正在英文版里面是对的。
)
这样修改后,以后我们都不用手动去删除那些很久以前的数据库备份了,系统在执行完备份后就会删除那些满足条件的备份数据。
另外如果用过SSIS的人应该知道,一个任务在完成时是绿色箭头,如果是失败时是红色箭头,我们这里也可以设置,如果上一步骤失败,那么将执行什么操作,双击绿色箭头,在弹出的对话框中选择约束选项中的值为“失败”即可。
如图:
在维护计划中也可以设置很复杂的逻辑运算和执行流程,就和SSIS设计一样的,毕竟本质上他们都是在设计SSIS包。
From:/logs/62012855.html。