• 售前

  • 售后

热门帖子
入门百科

自动定时备份sqlserver数据库的方法

[复制链接]
樱花283 显示全部楼层 发表于 2021-10-26 14:08:34 |阅读模式 打印 上一主题 下一主题
下面是我已经证明可用的自动备份的方法.
1、打开企业管理器->管理->sql server署理
2、新建一个作业,作业名称任意取,比方:data备份,全部者选择sa,固然你也可以选择其他用户,条件是该用户有执行作业的权限;
3、点击步骤标签,进入步骤面板.新建步骤,步骤名可以任意填写,如步骤1,范例和数据库默认,不必要修改.命令中写入以下语句:
BACKUP DATABASE [数据库名] TO DISK = N'F:\\databack\\firenews备份' WITH NOINIT , NOUNLOAD , NAME = N'firenews备份', NOSKIP , STATS = 10, NOFORMAT
留意:必要修改的地方,数据库名,DISK=(这里必要填写路径和你的数据库备份的名称)后面的Name=可以任意填写.
4、点击调理标签,进入调理面板,新建调理,名称任意填写,选择反复出现,点更改可以选择你想要执行任务的随意调理.如每天,每2天,每星期,每月等.根据必要自己设置;(留意:在调理名称后面有个启动选项,必须勾选)
5、确定后,不要忘记一件事变,在你刚才创建的工作上点右键,启动工作,假如你的工作没有题目,将会提示执行乐成,并有相对应的备份文件在你的磁盘上出现;
6、另有一个重要的题目就是你的sql server agent服务器已经启动.
假如我们必要根据每天的日期来生成一个新的备份,以便我们区别备份文件.这时,我们必要修改一下刚才的sql语句.
参考实例:

1、自动备份,固定备份名,每次会追加备份
复制代码 代码如下:
backup database FireNews to disk=N'F:\\databack\\firenews备份' with noinit,nounload,name=N'firenews备份',noskip,stats=10,noformat
backup database fireweb to disk=N'F:\\backup\\data\\fireweb\\fireweb备份' with noinit,nounload,name=N'fireweb备份',noskip,stats=10,noformat

2、自动备份,以时间定名,完整备份
复制代码 代码如下:
declare @filename nvarchar(100) set @filename='F:\\databack\\data'+convert(char(8),getdate(),112)+'.bak' print @filename BACKUP DATABASE [firenews] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'firenews备份', NOSKIP, STATS = 10, NOFORMAT
declare @filename nvarchar(100) set @filename='F:\\backup\\data\\fireweb\\fireweb'+convert(char(8),getdate(),112)+'.bak' print @filename BACKUP DATABASE [fireweb] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'fireweb备份',NOSKIP, STATS = 10, NOFORMAT

注:
1、备份的数据库存放的文件夹必须已经存在;
2、N 必须大写;
3、NAME的值可以任意写;
4、FireNews,fireweb为数据库名;
5、新建作业时提示:未能找到存储过程master.dbo.xp_regread,表名master数据库没有这个存储过程(大概是做安全处理的时间删除了),需自己注册。方法是:找到 数据库——
master——扩展存储过程,右键“新建扩展存储过程”(名称:xp_regread,路径直接填:xpstar.dll)
以下为完整的备份数据库的方法:
备份整个数据库:
复制代码 代码如下:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]

参数
DATABASE
指定一个完整的数据库备份。假如指定了一个文件和文件组的列表,那么仅有这些被指定的文件和文件组被备份。


阐明 在举行完整数据库备份或差别数据库备份时,Microsoft® SQL Server™ 备份充足的事件日志,以生成一个将在还原数据库时使用的同等的数据库。在 master 数据库上只能采用完整数据库备份。

{ database_name | @database_name_var }
指定了一个数据库,从该数据库中对事件日志、部分数据库或完整的数据库举行备份。假如作为变量 (@database_name_var) 提供,则可将该名称指定为字符串常量 (@database_name_var = database name) 或字符串数据范例(ntext 或 text 数据范例除外)的变量。
< backup_device >
指定备份利用时要使用的逻辑或物理备份装备。可以是下列一种或多种形式:
{ logical_backup_device_name } | { @logical_backup_device_name_var }
是由 sp_addumpdevice 创建的备份装备的逻辑名称,数据库将备份到该装备中,其名称必须遵守标识符规则。假如将其作为变量 (@logical_backup_device_name_var) 提供,则可将该备份装备名称指定为字符串常量 (@logical_backup_device_name_var = logical backup device name) 或字符串数据范例(ntext 或 text 数据范例除外)的变量。
{ DISK | TAPE } =
'physical_backup_device_name' | @physical_backup_device_name_var
答应在指定的磁盘或磁带装备上创建备份。在执行 BACKUP 语句之前不必存在指定的物理装备。假如存在物理装备且 BACKUP 语句中没有指定 INIT 选项,则备份将追加到该装备。
当指定 TO DISK 或 TO TAPE 时,请输入完整路径和文件名。比方,DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\Mybackup.dat' 或 TAPE = '\\.\TAPE0'。

阐明 对于备份到磁盘的环境,假如输入一个相对路径名,备份文件将存储到默认的备份目录中。该目录在安装时被设置并且存储在 KEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer 目录下的 BackupDirectory 注册表键值中。
假如使用的是具有统一定名规则 (UNC) 名称的网络服务器或已重新定向的驱动器号,则请指定磁盘的装备范例。
当指定多个文件时,可以混淆逻辑文件名(或变量)和物理文件名(或变量)。但是,全部的装备都必须为同一范例(磁盘、磁带或管道)。
Windows 98 不支持备份到磁盘。

是体现可以指定多个备份装备的占位符。备份装备数量的上限为 64。
BLOCKSIZE = { blocksize | @blocksize_variable }
用字节数来指定物理块的大小。在 Windows NT 体系上,默认设置是装备的默认块大小。一般环境下,当 SQL Server 选择适当于装备的块大小时不必要此参数。在基于 Windows 2000 的计算机上,默认设置是 65,536(64 KB,是 SQL Server 支持的最大大小)。
对于磁盘,BACKUP 自动决定磁盘装备符合的块大小。


阐明 假如要将结果备份集存储到 CD-ROM 中然后从 CD-ROM 中规复,请将 BLOCKSIZE 设为 2048。

磁带的默认 BLOCKSIZE 为 65,536 (64 KB)。显式声明块大小将替换 SQL Server 选择的块大小。
DESCRIPTION = { 'text' | @text_variable }
指定描述备份集的自由格式文本。该字符串最长可以有 255 个字符。
DIFFERENTIAL
指定命据库备份或文件备份应该与上一次完整备份后改变的数据库或文件部分保持同等。差别备份一般会比完整备份占用更少的空间。对于上一次完整备份时备份的全部单个日志,使用该选项可以不必再举行备份。有关更多信息,请参见差别数据库备份和文件差别备份。


阐明 在举行完整数据库备份或差别备份时,SQL Server 备份充足的事件日志,从而在规复数据库时生成一个同等的数据库。

EXPIREDATE = { date | @date_var }
指定备份集到期和答应被重写的日期。假如将该日期作为变量 (@date_var) 提供,则可以将该日期指定为字符串常量 (@date_var = date)、字符串数据范例变量(ntext 或 text 数据范例除外)、smalldatetime 大概 datetime 变量,并且该日期必须符合已设置的体系 datetime 格式。
RETAINDAYS = { days | @days_var }
指定必须经过多少天才可以重写该备份媒体集。假如用变量 (@days_var) 指定,该变量必须为整型。


重要 假如 EXPIREDATE 或 RETAINDAYS 没有指定,有用期将取决于 sp_configure 的 media retention 设置设置。这些选项仅仅克制 SQL Server 重写文件。用别的方法可擦除磁带,而通过利用体系可以删除磁盘文件。有关过期验证的更多信息,请参见本主题的 SKIP 和 FORMAT。

PASSWORD = { password | @password_variable }
为备份集设置暗码。 PASSWORD 是一个字符串。假如为备份集界说了暗码,必须提供这个暗码才能对该备份集执行任何还原利用。


重要 备份集暗码防止未经授权即通过 SQL Server 2000 工具访问备份集的内容,但是不能防止重写备份集。

有关使用暗码的更多信息,请参见"权限"部分。
FORMAT
指定应将媒体头写入用于此备份利用的全部卷。任何现有的媒体头都被重写。FORMAT 选项使整个媒体内容无效,并且忽略任何现有的内容。


重要 使用 FORMAT 要审慎。格式化一个备份装备或媒体将使整个媒体集不可用。比方,假如初始化现有条带备份会集的单个磁带,则整个备份集都将变得不可用。

通过指定 FORMAT,备份利用也就暗示了 SKIP 和 INIT;这些都不必显式阐明。
NOFORMAT
指定媒体头不应写入全部用于该备份利用的卷中,并且不要重写该备份装备除非指定了 INIT。
INIT
指定应重写全部备份集,但是保存媒体头。假如指定了 INIT,将重写谁人装备上的全部现有的备份集数据。
当遇到以下几种环境之一时不重写备份媒体:
媒体上的备份设置没有全部过期。有关更多信息,请参见 EXPIREDATE 和 RETAINDAYS 选项。

假如 BACKUP 语句给出了备份集名,该备份集名与备份媒体上的名称不匹配。有关更多信息,请参见 NAME 子句。
使用 SKIP 选项替换这些查抄。有关使用 SKIP、NOSKIP、INIT 和 NOINIT 时的相互作用关系的更多信息,请参见注释部分。


阐明 假如备份媒体有暗码掩护,SQL Server 将不写入媒体,除非提供媒体暗码。SKIP 选项不替换此查抄。只有通过格式化才能重写受暗码掩护的媒体。有关更多信息,请参见 FORMAT 选项。

NOINIT
体现备份集将追加到指定的磁盘或磁带装备上,以保存现有的备份集。NOINIT 是默认设置。
RESTORE 命令的 FILE 选项用于在还原时选择适当的备份集。有关更多信息,请参见 RESTORE。
假如为媒体集界说了媒体暗码,则必须提供暗码。
MEDIADESCRIPTION = { text | @text_variable }
指明媒体集的自由格式文本描述,最多为 255 个字符。
MEDIADESCRIPTION = { text | @text_variable }
为整个备份媒体集指明媒体名,最多为 128 个字符。假如指定了 MEDIANAME,则它必须与以前指定的媒体名相匹配,该媒体名已存在于备份卷中。假如没有指定 MEDIANAME,或指定了 SKIP 选项,将不会对媒体名举行验证查抄。
MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
为媒体集设置暗码。MEDIAPASSWORD 是一个字符串。
假如为媒体集界说了暗码,则在该媒体集上创建备份集时必须提供此暗码。别的,从该媒体集执行任何还原利用时也必须提供媒体暗码。只有通过格式化才能重写受暗码掩护的媒体。有关更多信息,请参见 FORMAT 选项。
有关使用暗码的更多信息,请参见"权限"部分。
NAME = { backup_set_name | @backup_set_var }
指定备份集的名称。名称最长可达 128 个字符。假如没有指定 NAME,它将为空。
NORECOVERY
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于正在还原的状态。当将故障转移到辅助数据库或在 RESTORE 利用前保存日志尾部时,NORECOVERY 很有用。
STANDBY = undo_file_name
只与 BACKUP LOG 一起使用。备份日志尾部并使数据库处于只读或备用模式。撤消文件名指定了容纳回滚更改的存储,假如随后应用 RESTORE LOG 利用,则必须撤消这些回滚更改。
假如指定的撤消文件名不存在,SQL Server 将创建该文件。假如该文件已存在,则 SQL Server 将重写它。有关更多信息,请参见使用备用服务器。
NOREWIND
指定 SQL Server 在备份利用完成后使磁带保持打开。NOREWIND 意即 NOUNLOAD。SQL Server 将保存磁带驱动器的全部权,直到 BACKUP或 RESTORE 命令使用 REWIND 为止。
假如无意中使磁带处于打开状态,则释放磁带的最快方法是使用下面的 RESTORE 命令:
RESTORE LABELONLY FROM TAPE = <name> WITH REWIND通过查询 master 数据库中的 sysopentapes 表可以查找正在打开的磁带列表。
REWIND
指定 SQL Server 将释放磁带和倒带。假如 NOREWIND 和 REWIND 均未指定,则默认设置为 REWIND。
NOSKIP
指示 BACKUP 语句在可以重写媒体上的全部备份集之前先查抄它们的过期日期。
SKIP
禁用备份集过期和名称查抄,这些查抄一般由 BACKUP 语句执行以防重写备份集。有关更多信息,请参见注释部分。
NOUNLOAD
指定不在备份后从磁带驱动器中自动卸载磁带。设置始终为 NOUNLOAD,直到指定 UNLOAD 为止。该选项只用于磁带装备。
UNLOAD
指定在备份完成后自动倒带并卸载磁带。启动新用户会话时其默认设置为 UNLOAD。该设置一直保持到用户指定了 NOUNLOAD 时为止。该选项只用于磁带装备。
RESTART
指定 SQL Server 重新启动一个被中断的备份利用。由于 RESTART 选项在备份利用被中断处重新启动该利用,所以它节流了时间。若要重新启动一个特定的备份利用,请重复整个 BACKUP 语句并且加入 RESTART 选项。不一定非要使用 RESTART 选项,但是它可以节流时间。


重要 该选项只用于导向磁带媒体的备份和跨越了多个磁带卷的备份。在备份的第一卷上永久不会有重新启动利用。

STATS [= percentage]
每当另一个 percentage 结束时显示一条消息,它被用于丈量进度。假如省略 percentage,SQL Server 将每完成 10 个百分点显示一条消息。
<file_or_filegroup>
指定包含在数据库备份中的文件或文件组的逻辑名。可以指定多个文件或文件组。
FILE = { logical_file_name | @logical_file_name_var }
给一个或多个包含在数据库备份中的文件定名。
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
给一个或多个包含在数据库备份中的文件组定名。


阐明 当数据库的大小和性能要求使得举行完整数据库备份不切实际时,备份一个文件。若要单独备份事件日志,请使用 BACKUP LOG。



重要 必须通过使用 BACKUP LOG 提供事件日志的单独备份,才能使用文件和文件组备份来规复数据库。有关文件备份的更多信息,请参见备份使用文件备份。

假如规复模型为 SIMPLE,则不答应文件和文件组备份。

是一个占位符,体现可以指定多个文件和文件组。对文件或文件组的最大个数没有限制。
LOG
指定只备份事件日志。该日志是从上一次乐成执行了的 LOG 备份到当前日志的末端。一旦备份日志,大概会截断复制或活动事件不再必要的空间。


阐明 假如备份日志看来并没有截断大部分的日志,则有大概在日志中存在一个旧的开放事件。可以使用 DBCC SQLPERF (LOGSPACE) 观察日志空间。有关更多信息,请参见事件日志备份。

NO_LOG | TRUNCATE_ONLY
无须备份复制日志即删除不活动的日志部分,并且截断日志。该选项会释放空间。由于并不保存日志备份,所以没有必要指定备份装备。NO_LOG 和 TRUNCATE_ONLY 是同义的。
使用 NO_LOG 或 TRUNCATE_ONLY 备份日志后,记载在日志中的更改不可规复。为了规复,请立刻执行 BACKUP DATABASE。
NO_TRUNCATE
答应在数据库损坏时备份日志。
注释
可以将数据库或日志备份追加到任何磁盘或磁带装备上,从而使得数据库和它的事件日志能存储在一个物理位置中。
当数据库正在使用时,SQL Server 使用一个联机备份过程来对数据库举行备份。下面的列表包罗在数据库或事件日志备份时无法举行的利用:
在备份利用时答应举行文件管理利用,如带有 ADD FILE 或 REMOVE FILE 选项的 ALTER DATABASE 语句,以及 INSERT、UPDATE 或 DELETE 语句。

收缩数据库或文件。这包罗自动收缩利用。
假如在这些利用正在举行时启动备份,备份将停止。假如正在举行备份时,试图举行这些利用,则利用会失败。
只要利用体系支持数据库的排序规则,就可以在差别的平台之间执行备份利用,纵然这些平台使用差别的处理器范例。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作