当前位置:首页 » 编程语言 » sql数据定时备份
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据定时备份

发布时间: 2022-04-27 06:17:02

1. sql Server远程定时备份数据库脚本分享

经常会有定时备份SQL
Server数据库的需要。定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里。
下面就分享一份在网上找了之后,自己再简单整理过的代码,配合
SQL
Server
代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次。
复制代码
代码如下:
--
创建网络映射(Y是盘符;IP地址后面要带共享文件夹的名称;password是密码,双引号引起;account是远程电脑的登录名)
exec
master..xp_cmdshell
'net
use
Y:
\\192.168.0.69\sqlbackup
"password"
/user:192.168.0.69\account'
--
按日期时间做文件名(注意路径中的文件夹,需要先建立好)
declare
@filename
varchar(200)
select
@filename
=
'Y:\DB\'
+
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
','-'),':','')
+
'.bak'
--
执行备份(DB是要备份的数据库名称)
backup
database
[DB]
to
disk
=
@filename
--
删除网络映射(Y是盘符,同上)
exec
master..xp_cmdshell
'net
use
Y:
/delete'

2. 怎么让SQL数据库自动定时备份

企业管理器-》进入你使用的数据库界面-》管理-》数据库维护计划-》新建维护计划-》选中你的数据库-》下一步-》进行到指定数据库备份页面时,选择执行的时间-》下一步,选对保存的位置和方式。继续下一步直到完成。
注意
SQL
server
agent
服务必须运行,才会自动执行维护计划。你可以把
启动os时自动启动服务勾上。

3. 如何实现Mysql数据库每天自动备份定时备份

利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。

(1)新建备份任务

UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】

(2)设置备份策略

选择要进行备份的文件

(3)永久增量备份与数据保留设置

选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:

【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。

【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。

【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。

【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩

【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能

最后新建完成

目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。

(4)设置邮件告警

备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控

4. 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
自己推敲一下,相信你会实现的!

5. 如何将sql数据库自动定时的备份或更新到另一台电脑

两个思路:
1、在备份机共享一个目录出来,在生产机建立到备份机共享目录的网络映射驱动器,之后在生产机执行数据库备份时,直接将备份卷质指定为网络驱动器。
2、备份数据库到生产机的某个磁盘,然后用定时任务传送到备份机。备份机可以安装一个ftp server软件,直接用ftp的方式传送,这样也比较安全、可靠。

6. sql数据库怎么设置定时备份

可以利用SQL作业

7. sql server 怎样定期自动备份

在SQL
Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员
每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。启动SQL Server
Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库
TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串.bak。

declare@namevarchar(250)
set@name='C:\Backup\TestDB1_'+
convert(varchar(50),getdate(),112)+'.bak'
BACKUPDATABASE[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,反正在英文版里面是对的。)

这样修改后,以后我们都不用手动去删除那些很久以前的数据库备份了,系统在执行完备份后就会删除那些满足条件的备份数据。

8. sql如何实现每日定时远程备份

你的意思应该是一台主服务器,一台备份服务器,想把主服务器上的数据每天定时备份到备份服务器吧。这个要使用数据复制功能了。

准备工作:

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
--我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户

2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作:

我的电脑--D:\ 新建一个目录,名为: PUB
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定

3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)

开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码

4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)

企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定

5.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成

6.对于只能用IP,不能用计算机名的,为其注册服务器别名
(在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP)
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号

==============================================================================

正式开始:

1.配置发布服务器

a. 选中指定 [服务器] 节点
b. 从 [工具] 下拉菜单的 [复制] 子菜单中选择 [发布、订阅服务器和分发] 命令
c. 系统弹出一个对话框点 [下一步] 然后看着提示操作
--直到"指定快照文件夹"
--在"快照文件夹"中输入准备工作中创建的目录: \\<服务器名>\pub
一[下一步] 直操作到完成。
d. 当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器
同时也生成一个分发数据库(distribution)

---------------------------------------------------------------------------

2.创建发布
a. 选中指定的服务器
b. 从 [工具] 菜单的 [复制] 子菜单中选择 [创建和管理发布] 命令。此时系统会弹出
一个对话框
c. 选择要创建发布的数据库,然后单击 [创建发布]
d. 在 [创建发布向导] 的提示对话框中单击 [下一步] 系统就会弹出一个对话框。对话
框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个
大家可以去看看帮助)
e. 单击 [下一步] 系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在
不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行
"SQL SERVER 2000"的数据库服务器
f. 单击 [下一步] ,选择要发布的对象(如表,视图,存储过程,一般是表)
g. 然后 [下一步] 直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了
一个共享数据库。

---------------------------------------------------------------------------

3.设计订阅
a. 选中指定的订阅服务器
b. 从 [工具] 下拉菜单中选择 [复制] 子菜单的 [请求订阅]
c. 按照提示单击 [下一步] 操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行
复制操作的前提条件是SQL SERVER代理服务必须已经启动。
d. 单击 [完成] 完成订阅操作。

----------------------------------------------------------------------------

完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?
这里可以通过这种方法来快速看是否成功。
展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度
把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。
接下来就是判断复制是否成功了打
开C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面
看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。

9. SQL Server 2008怎么自动备份数据库

我们知道,利用SQL
Server
2008数据库可以实现数据库的定期自动备份。方法是用SQL
SERVER
2008自带的维护计划创建一个计划对数据库进行备份,下面我们将SQL
SERVER
2008定期自动备份的方法分享给大家。
首先需要启动SQL
Server
Agent服务,这个服务如果不启动是无法运行新建作业的,点击“开始”–“所有程序”–“Microsoft
SQL
Server
2008”–“启动SQL
Server
Management
Studio”登录数据库,点击管理–维护计划–
右击
维护计划向导如图所示:
点击“维护计划向导”后跳出对话框,如图所示:
点击“下一步”如图所示:
填写好名称及相关说明作个记号,点击“更改”
来设定维护计划,如图所示:
可以为选择执的时间段,每天、每周、每月可以根据你相应的需求来制定备份的时间,这里作演示就选择在每天的0:00进行,点击“确定”再点“下一步”如图所示:
选择你需要备份的任务,我这里就先择“备份数据库(完整、差异、
事务日志
)”,很明了
点击“下一步”如图所示:
出现刚刚所选择的三项你可以选择他们所执行的顺序,选好后点击“下一步”如图所示:
在数据库那一列选择相关数据库点击(确定)如图所示(由于这张图片较大您可以点击图片查看原图):
选择备份的数据库存放的目录,设置备份压缩:有默认服务器设置,压缩备份等选项,因为我的数据库较大所以就选择压缩,根据您的实际情况进行操作:点
击”下一步”,下面的操作是对于这前我们所选择的“维护任务”操作和“上一步”一样这里就不截图说明,最后点击“下一步”如图所示:
选择SQL
SERVER
2008自动备份维护计划的报告文件所存放位置点击“下一步”如图所示:
点击“完成”这样就完成了SQL
SERVER
2008自动备份。
注意:在利用SQL
SQLSERVER
2008
的维护计划对数据库进行定期的备份时要启动“SQL
SERVER
代理”服务。

10. sql数据库,有可以设置自动备份吗哪里设置

打开企业管理器,
打开SQLserver,
打开数据库列表,在你想要备份的数据库上点右键--所有任务--备份数据库。
在弹出的设置窗口中选择“数据库--完全”,键备份到列表右边的“添加”,填出备份文件的路径及名称。
在重写选项中选择“重写现有媒体”,
选中“调度”选项,点击调度框后面的“..."图标进行调度编辑,
选中"反复出现",点"更改",选择”每周“,”每1周“,”星期一“,
在每日频率中选择你想做备份的时间,然后依次按”确定“即可完成自动备份设置。