sql数据库自动备份?SQL数据库自动备份
老铁们,大家好,相信还有很多朋友对于sql数据库自动备份和SQL数据库自动备份的相关问题不太懂,没关系,今天就由我来为大家分享分享sql数据库自动备份以及SQL数据库自动备份的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
SQL数据库如何自动备份和恢复
在SQL Server 2008数据库中。为了防止数据的丢失我们就需要按时的来备份数据库了。要是每天都要备份的话,人工备份会很麻烦的,自动备份的话就不需要那么麻烦了,只要设置好了,数据库就会自动在你设置的时间段里备份。那么自动备份要怎么设置呢。下面为大家讲解。
工具/原料
电脑一台
要安装SQL Server 2008数据库。
方法/步骤
1
在电脑开始菜单中选择“SQL Server Management Studio”双击。在出现的界面中点击“连接”按钮。
2
在出现的“ Microsoft SQL Server Management Studio”界面中选择“管理”下的“维护计划”右击维护计划,点击“维护计划向导”,
3
在出现的“SQL Server维护计划向导”界面中点击“下一步”
在出现的界面中把名称和说明写上。然后点击“更改”设顶备份计划
在出现的“作业计划属性”界面中,更改执行时间,也就是多久备份一次。这里该为每天备份。间隔时间更改为“1”更改执行一次时间为0:00:00也就是在每天的0点自动备份数据。
更改好以后,就可以在下面看到“在每天的 0:00:00执行。将从 2014-5-16开始使用计划。”然后点击“下一步”按钮
在选择维护任务界面中选择要备份的数据库文件。然后点击下一步。
在选择维护任务顺序中,可以移动要备份的数据库文件的顺序。然后点击“下一步”
在定义“备份数据库完整”界面中,选择数据库后面下拉菜单中的数据库文件。然后点击“确定”按钮
在定义“备份数据库完整”界面里选择备份路径。然后点击“下一步”
在“选择报告选项”界面中设置好“报告文本文件”的路径。然后点击“下一步”
在出现的“完成该向导”界面中会看到设置备份的详细信息。
这样数据库自动备份就成功了。
如何设置SQL Server数据库自动备份
sqlserver
备份数据库:
方案1:使用sqlserver自带的维护计划
方案2:(1)创建存储过程备份数据库
(2)创建bat执行存储过程
(3)创建任务计划调用bat文件
(1)创建存储过程
use
database_name
go
create
proc
[dbo].[BackupDatabase]
as
begin
--数据库备份脚本
--申明变量参数(‘备份全路径’、‘备份路径’、‘文件件名’)
declare
@backup_fullpath
nvarchar(255),
@backup_path
nvarchar(50),
@str_date
nvarchar(50)
--设置路径
set
@backup_path
=
N'F:\DataBackup\'
--设置文件名
--
make
date
string
in
backup
filename
set
@str_date
=
convert(varchar(50),
getdate(),
121)
set
@str_date
=
replace(@str_date,
N'-',
N'')
set
@str_date
=
replace(@str_date,
N':',
N'')
set
@str_date
=
replace(@str_date,
N'.',
N'')
set
@str_date
=
replace(@str_date,
N'
',
N'')
--备份数据库
--
backup
DMS
database
set
@backup_fullpath
=
@backup_path
+
N'DMS-'
+
@str_date
+
N'.full.bak'
backup
database
DMS
to
disk
=
@backup_fullpath
end
GO
(2)创建bat执行存储过程
sqlcmd
-S
127.0.0.1
-U
sa
-P
123
-Q
"use
DMS;
exec
CreateReturnVisitTask"
(3)windows创建任务计划
推荐使用sqlserver自带的维护计划
SQL 数据库自动备份
企业管理器里
->在所要进行备份的数据库上
右键
->所有任务
->维护计划
->点四次下一步
->
就是备份了
。
说明:这个页面上你可以点更改来
详细的配置如"每周-~周五00:00自动备份",及路径设置等。
--------------------------------------------
问题补充:强调一下,备份的文件名是“数据库名+备份日期”,每次更新的,否则会覆盖原来的备份,就没有意义了!
提问者:汉之尊
-
经理
五级
--------------------------------------------
针对你的这种做法那你尝试用存储过程吧,灵活、可以根据具体需要定制:
在要备份的数据上建立以下存储过程:
CREATE
PROCEDURE
[dbo].[过程名]
AS
declare
@filename
nvarchar(100),--文件名
@NowDay
int
--设置时间
set
@filename='D:\data'+cast(Day(GetDate())
as
varchar(2))+'.dat'
--文件路径及文件名
Set
@NowDay=Day(GetDate())
if
(@NowDay>=20)
or
(@NowDay<=10)
--这个月的20到下个月的10要备份
begin
@filename
BACKUP
DATABASE
[数据库名()你也可以设参数]
TO
DISK
=
@filename
WITH
INIT
,
NOUNLOAD
,
NAME
=
N'XX数据备份',
NOSKIP
,
STATS
=
10,
NOFORMAT
end
自己推敲一下,相信你会实现的!
SQL数据库自动备份
企业管理器里->在所要进行备份的数据库上右键->所有任务->维护计划->点四次下一步->
就是备份了。
说明:这个页面上你可以点更改来详细的配置如"每周-~周五00:00自动备份",及路径设置等。
--------------------------------------------
问题补充:强调一下,备份的文件名是“数据库名+备份日期”,每次更新的,否则会覆盖原来的备份,就没有意义了!
提问者:汉之尊-经理五级
--------------------------------------------
针对你的这种做法那你尝试用存储过程吧,灵活、可以根据具体需要定制:
在要备份的数据上建立以下存储过程:
CREATE PROCEDURE [dbo].[过程名] AS
declare
@filename nvarchar(100),--文件名
@NowDay int--设置时间
set@filename='D:\data'+cast(Day(GetDate()) as varchar(2))+'.dat'--文件路径及文件名
Set@NowDay=Day(GetDate())
if(@NowDay>=20) or(@NowDay<=10)--这个月的20到下个月的10要备份
begin
print@filename BACKUP DATABASE [数据库名()你也可以设参数] TO DISK=@filename WITH INIT, NOUNLOAD, NAME= N'XX数据备份', NOSKIP, STATS= 10, NOFORMAT
end
自己推敲一下,相信你会实现的!
好了,关于sql数据库自动备份和SQL数据库自动备份的问题到这里结束啦,希望可以解决您的问题哈!