SQL SERVER 2005如何建立自动备份的维护计划
- 格式:doc
- 大小:861.00 KB
- 文档页数:8
SQL数据自动备份与删除
解决思路:在2005 SQL环境下,进行创建自动备份与自动删除。
解决方案:
1、点击”管理”->选中”维护计划”->右键点击->选中”新建维护计划(N)”;如下两图:
2、点击”新建维护计划”之后弹出如下图的对话框,给维护名称起名字;再点击”确定”,如下图:
3、从左下边工具箱中拖出”备份数据库任务” 到右边的空白处;然后点击右键选择”编辑”,如下图:
4、选择”编辑”之后弹出如下图的对话框;选择你需要备份的数据库。
5、设置好备份的路径,点击确定,任务创建完成。
接下来创建改任务的计划。
执行时间可以设为每月、每周、每天,根据相关情况选择适合的时间!(因为备份会占用服务器资源,所以建议选择在下班时间。
一般情况下,我们会定义为0点以后。
)
6、检查一下你的设置,打开所备份的文件夹看是否有备份文件。
7、创建删除备份文件
1)此处添加的任务为清除历史记录任务
2) 编辑该任务
3) 设定超过四周时间的备份文件自动删除。
SQL2005自动定时备份数据库并按日期命名SQL2005的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的。
要用SQL2005的维护计划功能首先要确认SQL Server Agent服务是在启动状态,然后打开SQL Server Management Studio,展开对象资源管理器里的“管理”,右击维护计划选择新建维护计划,为维护计划命名,如:TestDB_Backup,选择默认的子计划“Subplan_1 ”并点击上方的子计划设置按钮来设置子计划执行方式和时间:出现设置界面,设置每天3点执行一次,如图确定后保存一下,然后新建一个查询页,开始创建存储过程,代码如下:USE [TestDB]02.GO03.SET ANSI_NULLS ON04.GO05.SET QUOTED_IDENTIFIER ON06.GO07.CREATE PROCEDURE[BackupDatabase](@FolderPath varchar(500))08.as09.DECLARE@FullPath varchar(1000)10.set@FullPath = @FolderPath+'TestDB_'+convert(VARCHAR(4),year(getdate()))+right( '0'+convert(VARC HAR(2),MONTH(getdate())),2)+right('0'+convert(VARCHAR(2),DAY(getdate( ))),2)+ '.bak'11.backup database[TestDB] to disk=@FullPath WITH INIT12.return设置完毕,切换回维护计划设置页面,在左边的工具箱中拖入一个“执行T-SQL语句任务”:双击拖入后的“执行T-SQL语句任务”,输入执行存储过程的语句来完成每天的自动备份工作,代码如下:view sourceprint?e [TestDB]2.exec BackupDatabase 'E:\SqlData\TestDB\'确定后保存该维护计划即可。
一、备份数据库维护计划方案【注】:1、先启动SQL Server Agent服务2.、事务历史记录备份(只限于完整和大容量日志恢复模式)。
3、下面中”清除备份trn文件” & “清除备份日志文件” 没有做计划说明二、通过维护计划精灵实现备份计划【注】:当前备份计划里面包含有多个不同的排程,这里选择的是“对每一工作的个别排程”选项。
【注】:1、“数据库”位置选择“所有用户数据库”2、排程位置,选择每天PM 01:30执行一次完整备份【注】:1、“数据库”位置选择“所有用户数据库”2、排程位置,选择每天每2小时执行一次差异备份【注】:1、“数据库”位置选择“所有用户数据库”2、排程位置,选择每天每30分钟执行一次事务历史记录备份【注】:1、“文件夹”下边位置,勾选“包含第一次的子文件夹”2、排程位置,选择每天每30分钟执行一次事务历史记录备份完成备份计划的设置,就可以在“维护计划”列表中找到刚建立的备份计划,同时在“作业”列表中找到对应的作业。
生成的各个作业,在”备份数据库计划”中是作为子计划来描述。
可以通过修改维护计划选项来,修改各个子计划的内容(也可以通过作业的内容来修改):在这里,可以通过修改各个子计划的内容,可以从最左边的工具箱中拖动相应的工具添加到右边的计划中。
这里把4个子计划名称改下,让它描述的更加清晰:三、测试备份数据库作业当一个维护计划中只包含有一个子计划,可以通过维护计划右键菜单中的[执行]来检查测试:当一个维护计划中只包含有多个子计划,通过右键菜单[执行]按钮,就会报错:这里,'备份数据库计划' 维护计划包含多个子计划,可以在对象总管的[SQL Server Agent] 节点下选取它们的关联作业,用这种方式个别执行这些计划,达到调试的目的。
作业执行成功后,我们就可以在路径”E:\DBBackup”下看到已经备份的数据库数据:每一个数据库,都会生成一个对应名称的文件夹;完成备份时,同时会生成一个备份报表文件(txt格式):使用手动启动完全备份作业的方法,来启动差异、交易备份作业。
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 文件来进行备份操作任务计划:一、任务计划程序二、创建任务,进行备份。
Sqlserver2000 设置方法
1 打开企业管理器
2 选择要备份的数据库,右键—》维护计划
这里可以选择“更改”设置调度时间,即工作频率
这里最好选择每天都备份,备份的时间选择在晚上访问量少的时间段。
备份文件的路径可以选择默认。
也可以自己配置一个路径;为每个数据库创建子目录,可选,可不选;
删除早期文件,可选可不选
3 完成上面的步骤之后,找到管理—》SQL Server 代理—》作业就会看到右边的作业,
Sqlserver2005
打开企业管理器:管理—》维护计划
右键- 维护计划向导【也可以新键维护计划,然后在设置】
这里选择数据库备份任务,可以选择差异备份,也可以选择完全备份;如果是选择差异备份,记得每次备份都不能丢掉,如果是完全备份你可以随便撒呀了,只要最后一次备份存在。
下一步–》下一步
选择数据库---》
这里选择每天都做备份
完成之后,在管理—》维护计划里会显示刚添加的计划;在作业里会出现相同名称的作业任务。
到设置的时间点,系统会自动备份数据库,生成如下文件【*.bak】
修改设计或者查看设置信息
在作业-→选中作业名称,双击或者右键找到属性,可以打开上面添加的维护计划。
如下
选中→常规、步骤、计划都可以弹出来具体的设置信息,也可以重新编辑。
SQL SERVER 2005自动备份数据库和删除备份SQL SERVER 2005里自动备份数据库和删除旧有备份的办法打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。
启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。
启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”。
一、备份数据的第一个步骤--“备份当日数据”在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句。
假设备份数据放在“D:\BACKUP”里,备份文件命名格式为“SQL-2009-3-26.BAK”,那么语句如下:DECLARE @filename V ARCHAR(255)DECLARE @date DATETIMESELECT @date=GETDA TE()SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DA TEPART(dd,@date) as varchar)+'.bak'BACKUP DATABASE [TESTDB] TO DISK = @filename WITH INITGO在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好。
这两天在帮客户研究SQL2005的数据库同步,但尝试过第三方软件和自带的同步和镜像都失败后就想到了用这个笨方法来实现,不管怎么说总算完成任务了。
主机端设置方法:把以下代码存成BAT文件通过计划任务按排每天凌晨两点执行! stop MSSQLSERVER /y2."C:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 -inul"E:\BAKUP\SQLData\SJQY%date:~0,10%.RAR" "E:\db"3.xcopy "E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\hz65.ldf""E:\BAKUP\SQLData\HZ65" /e /i /q4.xcopy "E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\hz65.mdf""E:\BAKUP\SQLData\HZ65" /e /i /q start MSSQLSERVER start SQLSERVERAGENT7."C:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 -inul"E:\BAKUP\SQLData\HZ65%date:~0,10%.RAR" "E:\BAKUP\SQLData\HZ65"8.del "E:\BAKUP\SQLData\HZ65\*.*" /s /q9."C:\Program Files\WinRAR\Rar.exe" a -r -s -m1 -o+ -inul"E:\BAKUP\SQLData\sjqy_backup.rar" "E:\BAKUP\SQLData\sjqy_backup.bak"10.del "E:\BAKUP\SQLData\sjqy_backup.bak" /s /q11."C:\Program Files\WinRAR\Rar.exe" a -r -s -m1 -o+ -inul"E:\BAKUP\SQLData\hz65_backup.rar" "E:\BAKUP\SQLData\hz65_backup.bak"12.del "E:\BAKUP\SQLData\hz65_backup.bak" /s /q以下代码是在数据库管理的维护计划内添加,每天凌晨一点开始自动备份!1.BACKUP DATABASE [sjqy] TO DISK = N'E:\BAKUP\SQLData\sjqy_backup.bak' WITHNOFORMAT, INIT, NAME = N'sjqy-完整数据库备份', SKIP, NOREWIND, NOUNLOAD, STATS = 102.GO3.declare @backupSetId as int4.select @backupSetId = position from msdb..backupset where database_name=N'sjqy'and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'sjqy' )5.if @backupSetId is null begin raiserror(N'验证失败。
Sql sever 2005 自动备份第一步:选择一个目标数据库,建立自动备份存储过程如下图所示:第二步:建立存储过程如下:USE [AutoBackDB]GO/****** 对象: StoredProcedure [dbo].[USP_BackupDatabase] 脚本日期: 12/29/2008 10:59:17 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[USP_BackupDatabase]@databaseName sysnameASBEGINSET NOCOUNT ON;DECLARE @sqlCommand NVARCHAR(1000)DECLARE @dateTime NVARCHAR(20)SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),'/','') +REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','')SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName +' TO DISK = ''D:\AutoBackDB\' + @databaseName + @dateTime + '.BAK'''EXECUTE sp_executesql @sqlCommandEND执行此存储过程。
第三步:打开SQL代理服务如下图:第四步:新建代理作业如下图:第五步:设置作业步骤:execute USP_BackupDatabase(存储过程名) etccard(备份的数据库名)第六步:编辑备份计划如下图所示:编辑备份的时间。
SQL Server 2005数据库维护计划计算机系统各种软、硬件故障、用户误操作以及恶意破坏是不可避免的,这些影响到数据的正确性甚至造成数据损失、服务器崩溃等致命后果。
数据库的备份对保证系统的可靠性具有重要的作用。
下面会根据执行强度对维护任务及其相应的程序进行分类描述,执行强度用不同的时间间隔定义,包括每天、每周、每月和每季度,能够建立起良好的维护实务,确保SQL Server 数据库性能和安全。
一、每天的例行维护任务需要数据库管理员密切关注的维护任务,最好每天都检查一下,这样可以确保系统的可靠性、可用性、运行性能和安全。
每天的例行维护任务包括:1、检查是不是所有被请求的SQL Server服务都正常运行。
2、检查日常备份日志中成功、警告或者失败记录。
3、检查Windows事件日志有没有错误记录。
4、检查SQL Server日志有没有安全警告记录,例如非法登录。
5、执行完全备份或差异备份。
6、在设置了完全恢复模型或大容量日恢复模型的数据库上执行事务日志备份任务。
7、核实SQL Server作业没有失败。
8、检查所有的数据库文件和事务日志具有合适的磁盘空间大小。
9、至少要监控处理器、内存或者磁盘计数器没有出现瓶颈。
二、每周的例行维护任务关注程度稍逊于每天的例行维护任务,最好每周进行一次例行检查。
每周的例行维护任务包括:1、执行完全备份或差异备份。
2、检查以前执行的维护计划报告。
3、检查数据库完整性。
4、如果需要,执行收缩数据库任务。
5、通过重新组织索引任务压缩聚集和非聚集表和视图。
6、通过重新生成索引任务在数据页和索引页重新组织数据。
7、更新所有用户表和系统表的统计信息8、清除备份、还原、SQL Server代理作业和维护计划等操作的历史数据。
9、如果需要,手动增长数据库或事务日志文件10、清除执行维护计划残留下来的文件。
三、每月或每季度的维护任务有一些维护计划不需要执行得过于频繁,可以每个月或每个季度执行一次。
SQL SERVER 2005实现数据库自动备份及删除过期备份方法1. 开启xp_cmdshell
在SQL SERVER 2005中,xp_cmdshell默认是关闭的,可以通过外围应用配置器打开,首先点击《功能的外围应用配置器》
通过点击xp_cmdshell并选中启用勾选框,点击确定。
2. 自动备份设置
以sa登陆,启动代理服务,并将代理服务设置为自动启动。
在作业上右击新建作业
填写常规信息后,新建两个步骤,分别填写删除过期数据库备份和自动备份的脚本。
--删除过期数据库脚本
declare @data_3ago nvarchar(50)
declare @cmd varchar(50)
set
@data_3ago='D:\BACKUP\WDS_YMS'+convert(varchar(10),getdate()-3,112)+'.BAK' set @cmd='del '+@data_3ago
exec xp_cmdshell @cmd
go
--自动备份数据库脚本
declare @data nvarchar(50)
set @data='D:\BACKUP\WDS_YMS'+convert(varchar(10),getdate(),112)+'.BAK'
backup database wds to DISK=@data
with init
新建调度计划,设置好自动执行的时间。
Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。
此外Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。
这使您的企业可以构建和部署经济有效的BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。
与Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括Business Intelligence Development Studio)的紧密集成使Microsoft SQL Server 2005 与众不同。
无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
工具/原料
Microsoft SQL Server 2005
方法/步骤
第1步:启动“MicrosoftSQL Server Management Studio”,在“对象资源管理器”窗口里依次选择“”→“管理”选项。
第2步:在图6.26中,右键单击“维护计划”,如果弹出如图6.35所示的“错误提示”对话框,说明SQL Server Agent没有启动,此时需要启动“SQL Server Configuration Manager”,如图6.36所示,启动SQL Server Agent。
然后再右键单击“维护计划”,在弹出的快捷菜单里选择“维护计划向导”选项,弹出如图6.37所示的“SQLServer维护计划向导”对话框。
第3步:在图6.37中,单击“下一步”按钮,弹出如图6.38所示“选择目标服务器”对话框,在“名称”文本框里输入维护计划的名称“bbsxp2008_backup”,在“说明”文本框里输入维护计划的说明文字,在“服务器”文本框里输入要使用的服务器名,然后选择身份验证方式。
第4步:在图6.38中,单击“下一步”按钮,弹出如图6.39所示的“选择维护任务”对话框,在该对话框里可以选择多种维护任务。
第5步:在图6.39中,单击“下一步”按钮,弹出如图6.40所示的“选择维护任务顺序”对话框,如果有多个维护任务,可以通过“上移”和“下移”两个按钮来设置维护任务的顺序。
第6步:在图6.40中,单击“下一步”按钮,弹出如图6.41所示的“定义数据库任务”对话框,在“数据库”下拉列表框里(如图6.42所示)选择要备份的数据库名,在“备份组件”区域里选择备份数据库或者备份数据库文件,在“目标”区域可以添加备份文件和备份设备、设置是否将备份数据追加到备份文件里等。
第7步:在图6.41中,单击“下一步”按钮,弹出如图6.43所示的“选择计划属性”对话框,单击“更改”按钮,弹出如图6.44所示的“新建作业计划”对话框。
第8步:在“新建作业计划”对话框(如图6.44所示)中设置备份数据库的时间及频率,设置完毕后单击“确定”按钮返回到如图6.43所示的对话框。
第9步:在图6.43中,单击“下一步”按钮,弹出如图6.45所示的“选择报告选项”对话框,在该对话框里对维护计划操作报告进行保存或分发。
第10步:在图6.45中,单击“下一步”按钮,弹出如图6.46所示的“完成该向导”对话框
第11步:在图6.46中,单击“完成”按钮,弹出如图6.47所示的“维护计划向导进度”对话框。
如果维护计划的创建操作顺利完成,如图6.47所示,单击“关闭”按钮完成维护计划的创建。
如果在创建过程中出错,如图6.48所示,那么解决该问题需要从SQL Server 2005光盘安装IntegrationServices服务,大概步骤如下:
(1)运行SQLServer安装向导。
(2)依次单击“下一步”按钮。
(3)在名称框和公司框中输入相关信息,然后单击“下一步”按钮。
(4)如图6.49所示,选中Integration Services复选框,然后单击“下一步”按钮。
5)根据提示单击“安装”或“下一步”按钮。
第12步:维护计划创建操作顺利完成后,要确认“Sql Server代理”启动。
如果没有启动,在“对象资源管理器”窗口里,右键单击“Sql Server代理”,在弹出的快捷菜单里选择“启动”选项,如图6.50所示。