sql2005 自动备份数据库操作方法与步骤

发布时间:2011年08月05日      浏览次数:1228 次
sql2005数据库备份一般情况分为二种:一是手工备份.二是自动备份.以下是二种方法的步骤:

一.手工备份

打开数据库,选择要备份数据库,右键选择【任务】->【备份】,打开备份数据库页面,在【源】选择要备份的数据库和备份类型.在备份组件选择数据库.在【备份集】填写备份名称,说明和过期时间.这个可根据自已的需要去填写.在【目标】中选择磁盘或磁带.一般情况下都是备份到磁盘.所以不用理会.然后点右边添加按钮,选择文件保存的路径和文件名.最后点确定完成数据库存的备份.

二.自动备份
1.启动Sql Server Agent 服务.打开【配置工具】中的【SQL Server Configuration Manager】窗口,点击【SQL Server配置管理器(本地)】--【SQL Server2005 服务】,右面窗口显示的是当前所有服务的运行状态,右键点击【SQL Server Agent】选择启动菜单。
2.创建作业.打开【Management Studio】,展开SQL Server代理,右键点击【作业】选择【新建作业】菜单。【选择页】中选择【常规】
3.添加常规.在2中的【选择页】中选择【常规】选项,输入作业名称
4.添加步骤 在2中的【选择页】中选择【步骤】,点击窗口下方的【新建】按钮,输入步骤名称、选择操作数据库。在命令输入框中输入作业执行的T-SQL语句,这里备份的语句如下:

**************************自动备份T-SQL语句精确到每秒**************************************
declare @sql varchar(1000)
set @sql=
'Backup Database ticket_syjdgy To disk= ''D:\Backup\ticket_syjdgy_'
+
convert(char(8),getdate(),112) +
right(replace(convert(char(20),getdate(),120),':',''),6)
+
'.bak'''
exec(@sql)
*************************自动备份T-SQL语句精确到每天***************************************
declare @sql varchar(1000)
set @sql=
'Backup Database ticket_syjdgy To disk= ''D:\Backup\ticket_syjdgy_'
+
convert(char(8),getdate(),112) +
cast(datepart(Hour,getdate()) as char(2))
+
'.bak'''
print(@sql)
*************************自动备份T-SQL语句精确到每天***************************************
declare @filename nvarchar(100)
set @filename='F:\bankcomm\flow'+convert(char(10),getdate(),112) print @filename
BACKUP DATABASE [flow] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'bankcomm 备份', NOSKIP , STATS = 10, NOFORMAT
****************************************************************
5.添加计划,设置频率,时间等确定.
6.各选项卡选择完成后,点右下角【确定】保存相关设置.完成新建作业.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
补充:

--完整备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_20070908.bak'

--差异备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Df_20070908.bak'
With Dferential

--日志备份默认截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908.bak'

--日志备份不截断日志
Backup Log NorthwindCS
To disk='G:\Backup\NorthwindCS_Log_20070908.bak'
With No_Truncate

--截断日志不保留
Backup Log NorthwindCS
With No_Log

--或者
Backup Log NorthwindCS
With Truncate_Only
--截断之后日志文件不会变小
--有必要可以进行收缩

--文件备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
File='NorthwindCS' --数据文件逻辑名
To disk='G:\Backup\NorthwindCS_File_20070908.bak'

--文件组备份
Exec Sp_Helpdb NorthwindCS --查看数据文件
Backup Database NorthwindCS
FileGroup='Primary' --数据文件逻辑名
To disk='G:\Backup\NorthwindCS_FileGroup_20070908.bak'
With init

--分割备份到多个目标
--恢复时候不允许丢失任何个目标
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_1.bak'
,disk='G:\Backup\NorthwindCS_Full_2.bak'

--镜像备份
--每个目标都是相同
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1.bak'
Mirror
To disk='G:\Backup\NorthwindCS_Mirror_2.bak'
With Format --第次做镜像备份时候格式化目标

--镜像备份到本地和远程
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Mirror_1.bak'
Mirror
To disk='\192.168.1.200\Backup\NorthwindCS_Mirror_2.bak'
With Format

--每天生成个备份文件
Declare @Path Nvarchar(2000)
Set @Path ='G:\Backup\NorthwindCS_Full_'
+Convert(Nvarchar,Getdate,112)+'.bak'

Backup Database NorthwindCS
To http://www.hack58.net/Article/html/3/7/2008/mailtdisk=@Path

--从NoRecovery或者
--Standby模式恢复数据库为可用
Restore Database NorthwindCS_Bak
With Recovery

--查看目标备份中备份集
Restore HeaderOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908.bak'

--查看目标备份第个备份集信息
Restore FileListOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908_2.bak'
With File=1

--查看目标备份卷标
Restore LabelOnly
From Disk ='G:\Backup\NorthwindCS_Full_20070908_2.bak'

--备份设置密码保护备份
Backup Database NorthwindCS
To disk='G:\Backup\NorthwindCS_Full_20070908.bak'
With Password = '123',init

Restore Database NorthwindCS
From disk='G:\Backup\NorthwindCS_Full_20070908.bak'
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!