当前位置: 主页 > 数据库

数据库备份工具-mysql 整库备份

发布时间:2023-02-09 10:38   浏览次数:次   作者:佚名

对于网站来说,数据库同步是重中之重。 对于其他需要使用SQL Server数据库的CS系统,SQL数据库的备份也很重要。 数据库备份是维护数据正确、防止数据丢失的重要手段。 备份点恢复策略允许将数据恢复到备份点。 通过触发备份方式,可以提高备份的有效性; 时间点备份策略,可将数据恢复到任意点,提高数据安全性; 通过性能警报监控事务 日志使用和日志文件的及时优化可以提高系统性能。

1.备份数据库步骤

1、第一步:开始—>程序(P)—>MicrosoftSQLserver2005—>SQLServerManagementStudio(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

sql server 2005数据库备份、还原及数据恢复图文教程

2. 第二步:登录数据库服务器。 打开企业管理器后,一一展开,找到“数据库”项展开,就可以看到需要备份的数据库“gxbtoc”(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

3、第三步:选择要备份的数据库,右键(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

4. 第四步:点击上图中的“备份”进入下图(一般默认设置即可)(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

5、第五步:点击上图中的“添加”,进入“选择备份目的地”对话框(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

6、第六步:点击上图中“Select Backup Destination”右侧的三点框,打开备份文件的路径,如下图,在“Locate Database File”中指定目录窗口并填写备份文件名,然后单击确定返回备份目录窗口。

sql server 2005数据库备份、还原及数据恢复图文教程

sql server 2005数据库备份、还原及数据恢复图文教程

7、第七步:点击确定返回“备份目录”,然后点击“确定”开始备份(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

8、第8步:打开第5步确定的盘符,可以看到备份的数据库(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

二、恢复数据库步骤

1、第一步:开始—>程序集(P)—>MicrosoftSQLserver2005—>SQLServerManagementStudio(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

数据库备份工具_mysql 整库备份_数据截取工具是静态分析工具吗

sql server 2005数据库备份、还原及数据恢复图文教程

2. 第二步:登录需要备份的数据库服务器。 打开企业管理器后,一一展开。 看到数据库项后,选择数据库节点,点击右键(如下图)

sql server 2005数据库备份、还原及数据恢复图文教程

3. 第三步:选择“恢复”,进入“恢复数据库”窗口。 目标数据库默认已经选择了要恢复的数据。 然后在“Restore Source”中选择“Source Device (D)”,点击“Source Device ((D)”)右侧的“Source Device (D)”按钮。见下图

sql server 2005数据库备份、还原及数据恢复图文教程

4、进入“指定备份对话框”,点击“添加”数据库备份工具,进入指定数据库文件的窗口。

sql server 2005数据库备份、还原及数据恢复图文教程

5、第四步:浏览找到需要恢复的数据库备份文件,点击“确定”

sql server 2005数据库备份、还原及数据恢复图文教程

6. 步骤6:点击“确定”,返回“设置备份”对话框。 这时候需要恢复的文件已经列出来了。 然后单击“确定”返回“还原数据库”。

sql server 2005数据库备份、还原及数据恢复图文教程

sql server 2005数据库备份、还原及数据恢复图文教程

注意:部分备份文件有多个备份集,您可以根据实际情况选择备份集来恢复数据库。

8、在左侧的功能导航框中,选择“选项”,选择“对现有数据库强制还原(F)”,点击“确定”。

sql server 2005数据库备份、还原及数据恢复图文教程

9、系统自动恢复数据库。 成功后系统提示数据库恢复成功。 单击确定或确定。

三、数据库数据恢复步骤

1、通过日志恢复SQLSERVER2005数据(也可以通过LogExplorer工具查找和恢复数据)

(A)...通过日志和时间点恢复数据的前提条件:数据库故障恢复改为非简单模式,去掉自动关机和自动缩容两个选项。 如果是简单模式:类似下面的语句 操作数据不会记录到日志中:select*intotfrom[表名]。 必须有完整备份和日志备份)]

这时,为了保证数据的完整性,应该将数据库的恢复模式改为“full.

如果您还没有对数据库进行完整备份数据库备份工具,则无法进行事务日志备份

1.1. 这时候,做好数据库事务日志的备份(注意,)

此时新建数据库zp(重命名之前的数据库),恢复数据库

mysql 整库备份_数据截取工具是静态分析工具吗_数据库备份工具

sql server 2005数据库备份、还原及数据恢复图文教程

这个时候我们可以看到有两个恢复的数据库备份,因为我备份了两次zp数据库,两个备份的数据文件是一样的。 这里我们选择最近的备份。 数据库中默认的设置是:追加到备份集,所以会有两个备份,如下图:

sql server 2005数据库备份、还原及数据恢复图文教程

同时在“选项”中设置“不回滚”事务,

注意:通过事务日志恢复数据库,必须选择“不回滚”事务

确认后:出现如下情况:

sql server 2005数据库备份、还原及数据恢复图文教程

这时候发现数据库已经“恢复”了,此时恢复了数据库事务日志,

1.2. 在“General”中选择时间,(刚刚删除的时间)

1.3. 在“选项”中,将恢复状态设置为“回滚未提交”事务

sql server 2005数据库备份、还原及数据恢复图文教程

确认后,查询数据库,发现数据回来了。

2.无日志数据恢复

2.1. 创建同名的新数据库

2.2 然后停止sqlserver(注意不要把数据库分开)

2.3 用原数据库的数据文件覆盖新建的数据库

2.4 重启sqlserver

2.5 这时候打开企业管理器,会有疑惑。 不管怎样,执行下面的语句(注意修改里面的数据库名)

2.6完成后,一般就可以访问数据库中的数据了。 这个时候一般是数据库本身有问题。 解决方案是使用

数据库脚本创建一个新数据库并将数据导入其中。

使用大师

SP_CONFIGURE 'ALLOWUPDATES', 1RECONFIGUREWITHOVERRIDE

UPDATESYSDATABASESSETSTATUS=32768WHERENAME='数据库名'

数据库备份工具_mysql 整库备份_数据截取工具是静态分析工具吗

sp_dboption '数据库名', '单用户', '真'

DBCCCHECKDB('数据库名')

updatesysdatabasessetstatus=28wherename='数据库名'

sp_configure 'allowupdates', 0 reconfigurewithoverride

sp_dboption '数据库名', '单用户', '假'

4. 数据库压缩

1. 执行M_CompressDataBase_T 存储过程压缩非活动服务器的所有数据库。

五、常见异常处理

1.磁盘空间不足

解决方法:扩大磁盘空间或选择空间充足的磁盘

2、恢复后如果遇到SQL问题: Error 21002: [sql-dmo] User “***” already exists 错误。

解决方法:1、打开SQLSERVER2005管理→数据库→展开有问题的数据库如“mydb”→“用户”→在右侧窗口中选择有问题的用户名如:“***”→鼠标右键→删除

3、恢复数据库遇到“appeared during data restoration”试图扩展物理文件时,MODIFYFILE遇到操作系统错误112(磁盘空间不足)。 无法调整文件 xxx_log' 的空间分配。 RESTOREDATABASE 操作异常终止。”问题。

解决办法:运行cmd输入:convert盘符:/FS:NTFS 如:convertC:/FS:NTFS

4. 无法将设备“xxx”上的备份应用到数据库“yyy”,恢复数据库操作异常终止。

解决方案:更改还原数据库名称

5、问题5:恢复过程中出现“Unable to obtain exclusive access to the database because the database is in use”。

解决方法:出现这种问题主要是数据库的session没有中断,可以杀掉session进程或者重启服务器

6、为备份或恢复操作指定了过多的设备; 只允许 64 个设备。 RESTOREHEADERONLY 操作异常终止。 (微软 SQL 服务器,错误:3205)

解决方法:如果系统中同时安装了sqlserver2000和sqlserver2005,恢复时可能会出现上述错误。 解决办法是使用数据库属性-选项-兼容级别->sqlsever2000(80),或者安装sqlserver2000和sqlserver2005之一,或者两者都指定实例名。

7、问题三:数据库中对象的属主不可更改:

解决方案:使用以下代码:

execsp_changeObjectOwner 'OriginalOwnerName', [dbo]

数据库备份工具_mysql 整库备份_数据截取工具是静态分析工具吗

执行存储过程更改名称

execchangename '原所有者名称', '新所有者名称'

8. 问题七:如何将SQLSERVER数据库备份到网络

解决方案:

[@physicalname=] 'physical_name'

备份设备的物理名称。 物理名称必须遵循操作系统文件名规则或网络设备的通用命名规则,并且必须包含完整路径。 physical_name 的数据类型为nvarchar(260),没有默认值,不能为NULL。

在远程网络位置创建备份设备时,请确保启动 SQL Server 的名称对远程计算机具有适当的写入功能。

B.添加网盘备份设备

以下示例显示了一个远程备份到磁盘设备。 启动 SQLServer 的名称必须具有远程文件的权限。

USEmasterEXEC sp_addumpdevice 'disk', 'networkdevice', '\servernamesharenamepathilename.ext'"

之前看到有人问怎么把数据备份到网络上,没有人回答,于是试了一下。

在服务器上创建一个目录,然后确保它是共享的并且有权限。 如果需要在共享目录下的某个目录下构建,必须保证用户有权限

当然,SQLSERVER系统启动早于登录,一般用户在登录时都会使用本地系统帐号。 我想在登录系统之前模拟管理员用户。 所以,我把登录账号改成了网络用户,因为我公司有域,所以我把域用户设置为本机的系统管理员,以保证服务可以启动。

那么就更简单了:

sp_addumpdevice 'DISK', 'NetWork', '\serverd$databakxuzh.bak' gobackupdatabasexuzhtonetwork

得到的结果如下:

网络备份成功完成

6.总结

1、这是一般大型网站数据安全的一种方法。 由于数据库数据比较大(可能上百G),做一次全量备份的时间比较长,影响数据库服务器的性能。 为了保证数据安全,大多采用全量备份+事务日志备份的方式保证数据安全。 例如:每天或2天做一次全量备份,几小时内做一次日志备份。 (当然可以通过写作业来实现)

2、比如SQLserver2005中的镜像就采用了这种事务日志同步的方式来保证数据的同步。

3. 如果恢复的日志数据出现“LSN”的时间过早和过晚,说明事务日志之间存在不连续性。 这个时候要注意备份的时间和顺序。

七、附录:

一、数据库文件和备份文件是两个不同的概念。

数据库备份工具_mysql 整库备份_数据截取工具是静态分析工具吗

每个数据库至少包含两个文件:

数据文件,默认扩展名为.mdf

默认扩展名为 .ldf 的日志文件

如果通过直接备份这两个数据文件来实现数据库备份,则备份文件是两个。

如果是通过SQL的备份数据库来备份,SQL会将这两个文件打包在一起,所以只有一个文件。

II.sqlserver提供了三种恢复模式,它们决定了可以备份多少和什么样的数据。

1.简单的恢复模式

主要用于小型数据库和不经常变化的数据

2.完全恢复模式

最大程度的防止发生故障时的数据丢失。 它包括数据库备份和食物日志备份,并提供全面的保护。 该模式使用数据库和所有日志的备份来恢复数据库

3.批量日志恢复模型

在全量恢复模式下,所有大规模的数据导入导出操作都会产生较少的日志,并且会尽量减少日志记录,一些事务不会被记录。

三、 数据库备份可分为4种备份类型。

1. 完整备份:创建备份完成时数据库中存在的数据的副本。

2、差异备份:只记录自上次数据库备份以来发生变化的数据。 差异数据库备份比数据库备份更小、更快,因此可以更频繁地备份它们,这将降低丢失数据的风险。

3、日志备份:是自上次事务日志备份以来,对数据库执行的所有事务的一系列记录。 您可以使用事务日志备份将数据库恢复到特定时间点(例如输入额外数据之前的时间点)或恢复到故障点。

4、文件组备份:可以备份和恢复数据库中的单个文件。 您可以只恢复损坏的文件而不恢复数据库的其余部分,从而加快恢复速度。

不同的备份类型有不同的适用范围。 全量备份,一次操作即可完成数据的全量备份,但执行时间比较长。 差异备份和日志备份都不能单独作为备份集使用,需要进行全量备份。 文件备份必须与事务日志备份一起使用,因此文件备份仅适用于完整和批量日志恢复模型。

每种备份类型都有其缺点。 您应该根据需要选择备份类型,或者使用多种备份方式来完成数据库备份。

常用的备份方法如下:

1、全量备份+差异备份:以一周为一个周期,周日做全量备份,周一到周六每天做差异备份。

2、全量备份+日志备份:以一周为周期,周日全量备份,周一至周六每天进行日志备份。

3、文件组备份+日志备份:备份周期取决于数据库的大小和容量。 每个周期备份部分数据文件,每天备份日志。