当前位置:首页 » 操作系统 » 数据库还原0

数据库还原0

发布时间: 2022-07-22 10:16:17

① 为什么sql server 2005 还原数据库的时候,进度条一直显示的是0%,而且出现死机的情况

出现这个问题一般有三种情况:
1.你的数据库正在占用,
2.你的备份文件太大
3.你存储备份文件的硬盘正忙

我感觉你的数据库像是在占用,一般连接数据库的程序,或是开发环境打开着也会导致数据库占用。建议先分离或删除原数据库再还原,因为分离和删除有强制关闭连接

② SQL数据库如何还原

  1. 把数据库的备份文件放到服务器的任意目录下先, 然后按下面的步骤做。

  2. 如何从备份设备还原备份(企业管理器) ,从备份设备还原备份 。

  3. 展开服务器组,然后展开服务器。

  4. 展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令。

  5. 在"还原为数据库"框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。

  6. 若要用新名称还原数据库,请输入新的数据库名称。

  7. 说明 为数据库指定新名称将自动为从数据库备份中还原的数据库文件指定新名称。

  8. 单击"从设备",然后单击"选择设备"。

  9. 在"还原自"下,单击"磁带"或"磁盘",然后选择还原设备。

  10. 如果没有出现设备,则单击"添加"以添加现有的备份设备或创建新的备份设备。

  11. 在"还原数据库"对话框内,单击"查看内容"并选择要还原的备份集。

  12. 说明 此选项将扫描备份集以获得备份内容信息,该操作可能需要花费较长时间,特别是在使用磁带设备时。

  13. 如果已经知道要还原的备份集,则在"备份号"中输入备份集编号。

  14. 在"还原备份集"下执行下列操作之一: 单击"数据库 — 完全"还原数据库备份。

  15. 单击"数据库 — 差异"还原差异数据库备份。

  16. 单击"事务日志"应用事务日志备份。

③ 服务器在数据库还原时经常出现“错误0:无法装载DLL Microsoft提示你请误随意操作sql数据库以免对起数据库

打开查询分析器,执行以下语句:
drop procere sp_OACreate
drop procere xp_dirtree
drop procere xp_regwrite
exec sp_addextendedproc N' sp_OACreate', N'odsole70.dll'
exec sp_addextendedproc N' xp_dirtree', N' xpstar.dll'
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
可能会再次出现这样的错误:未能找到存储过程 master.dbo.xp_dirtree|错误2812
再次打开查询分析器,执行以下语句:
use master
EXEC sp_addextendedproc xp_dirtree ,@dllname ='xpstar.dll'

或者
因为系统原因,导自己没有安装好SQL的MDAC,所以只要将这个装好就可以了,具体方法如下:
1、在系统中找c:\windows\inf下的mdac.inf(这里以windows2003为例),点击安装。
2、在安装过程会提示使用系统光盘,如果没有系统光盘也没有关系,只需使用查找文件功能,将安装过程中所需要的文件找到,然后再指定其路径就可以了,直到安装完成!
3、完成后,为可了保险起见,可以启用系统!

④ sqlserver数据还原时总显示正在执行0%正常吗

正常
我遇到过的情况有:在备份比较大,且硬盘性能不太好的情况,会出现一直停留在0%的现象,当还原完成后直接跳出对话框。

如果是一直不能还原,停留在0%,那最大的可能是硬盘空间不足

⑤ 有谁知道织梦CMS还原数据时怎么会一直出现还原0条记录备份的时候有好多记录的,类似于下图的这种情况

被这破问题困扰了2次了,第一次不知道怎么解决的,解决不完美,这次真的是快哭了。最后找到了问题根源。

问题原因:在安装织梦的时候新建的数据库名称不能是数字开头,不能带有特殊符号!而我的就是带了个特殊符号“-”,导致我数据备份的时候提示的成功,但实际上是失败了。

解决办法:在服务器端用phpMyAdmin进入mysql数据库,找到你网站使用的数据库,点操作

最后进入网站后台清除一下系统缓存,重新全站生成一次,再做数据备份。这次的数据备份就是完整的数据了,拿到新的服务器上去也可以正常恢复了。

⑥ SQLServer2008数据库怎样备份还原和数据恢复

在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能在SQLServerManagementStudio中还原数据库。有关详细信息,请参阅如何备份事务日志(SQLServerManagementStudio)。若要还原已加密的数据库,您必须有权访问用于加密数据库的证书或非对称密钥。如果没有证书或非对称密钥,数据库将无法还原。

认识数据库备份和事务日志备份

数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。

数据库备份

数据库备份可以手动备份和语句备份

一.手动备份数据库

1.鼠标右键选择你要进行备份的数据库-任务-备份

可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份

2.点击添加选项,选择数据库文件的存放路径

注意文件名记得加后缀.bak,便于恢复时的查找

3.你还可以在选项页面是追加到现有的备份集,还是覆盖所有的现有备份集,还可以选择备份验证完整性(建议选择),还可以选择是否压缩备份等。

二.语句备份数据库

use master goBACKUP DATABASE [test] TO DISK = N'D:Microsoft sql serverMSSQL10.MSSQLSERVERMSSQLBackup est.bak' WITH NOFORMAT, NOINIT, NAME = N'test-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

数据库日志备份

首先需要注意,数据库日志的备份是基于数据库完整备份,也就是说你备份数据库日志之前你首先要先对数据库进行一次完整的备份,因为之间会涉及到坚持到检查点 lsn, 这也是本文接下来要讲的重点。

一.手动备份数据库日志

1.右键数据库-任务-备份-选择备份类型(事务日志)

2.点添加,添加日志文件备份存储路径

3.同数据库完整备份一样,你也可以选择覆盖现有备份集或者追加到现有备份集,这里现在覆盖现有备份集、验证完整性,然后确认备份

二.语句备份数据库事务日志

BACKUP LOG [test] TO DISK = N'D: est.trn' WITH NOFORMAT, INIT, NAME = N'test-事务日志 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

数据库还原

右键数据库-还原数据库-添加需要进行还原的数据库文件路径

在还原源选项中你可以选择‘源数据库’,‘源设备’。1.选择源数据库工具会自动显示该数据库之前的一些备份,然后直接选择需要还原的数据库备份集。

2.选择源设备点击后面的...,添加需要还原的数据库文件

2.点击确认还原数据库

数据库恢复

数据库恢复的前提是1.一个完整的数据库备份2.包含这个完整数据库备份的事务日志备份3.完整备份之间也可以存在数个差异备份

对于数据库维护空间始终是一个比较头疼的问题,特别是对于大型数据库而言,每天的日志文件增长是庞大的,很多数据库管理员会定时对数据库日志文件进行收缩,但是经常收缩会存在收缩完日志文件还是不能减少,这是因为存在很多活动的日志无法收缩可以用

DBCC LOGINFO('数据库名称')

我们看到
status=0的日志,代表已经备份到磁盘的日志文件;而
status=2的日志还没有备份。当我们收缩日志文件时,收缩掉的空
间其实就是
status=0的空间,如果日志物理文件无法减小,这里一
定能看到非常多status=2的记录

解决办法:1.可以分离要收缩的数据库,然后手动删除日志文件,然后附加数据库,数据库就会产生一个很小的日志文件(不推荐使用这种方法)

2.右键要出来的数据库选择“属性”-"选项",将恢复模式改成"简单",然后利用收缩工具可以讲日志文件收缩到很小,收缩完记得讲恢复模式改成"完整"

也可以用语句进行处理(dbname是你要进行收缩的数据库名,dbname_log是你要进行收缩的数据库的逻辑日志名称)

USE [master]
GO ALTER DATABASE [dbname] SET recovery SIMPLE WITH NO_WAIT GO
ALTER DATABASE [dbname] SET RECOVERY SIMPLE --简单模式
GO
USE [dbname]
GO
DBCC SHRINKFILE (N'dbname_log' , 11, TRUNCATEONLY) GO
USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE [dbname] SET RECOVERY FULL

对于第一种方法不赞同使用,首先对于数据库的分离与附加有时候会破坏数据库,造成数据库无法还原,还有就是对于在线数据库也不允许进行分离操作。

对于第二种方法是slq2008收缩日志文件的一种方法,但是此方法也不能使用过于频繁,因为进行数据库恢复模式的更改会截断事务日志文件,这样的话当时利用事务日志文件进行恢复的时候检查点不能包含数据库文件,而且当你要对事务日志进行备份的时候会重新提示你需要对数据库进行完整备份。

举个例子:比如你昨天晚上进行了一次完整备份,然后同时你也进行了一次日志备份(提前日志未被截断),然后你每个小时进行过一次差异备份,最近的差异备份时间点是14点,如果此时数据库错误修改了数据,你可以立马备份一个日志文件将数据库恢复到日志备份开始到日志备份终点前的任意时间点 。

如果此时你进行了修改数据库模式,截断日志进行了收缩,那么你的数据只能恢复到昨天晚上备份的那个日志备份时间前的任意时间点,也就是今天所做的数据库更改无法再恢复了,因为日志文件已经被截断了,不知道这样解释是否明白

因为日志文件的检查点(lsn)是连续的,每一次日志备份都是在上一次备份的基础上lsn往后增加的,lsn的范围也包括了数据库文件的lsn,也只有日志文件的lsn包括了数据库文件的lsn,才能将数据库文件进行回滚。

上图中总共有三个备份文件,一个完整备份、一个差异备份、一个日志备份,大家可以注意观察完整备份的第一个lsn与最后一个lsn,和检查点

第二个差异备份文件的的第一个lsn与最后一个lsn,和检查点,最后的日志备份的第一个lsn和最后一个lsn包含了前面两个备份文件的lsn,这种情况数据库就可以恢复到日志文件备份前的任意时间点,如果日志文件没有包含数据库文件的最后一个lsn也就无法恢复了。

⑦ SQL数据库如何还原

  1. 把数据库的备份文件放到服务器的任意目录下先, 然后按下面的步骤做。

  2. 如何从备份设备还原备份(企业管理器) ,从备份设备还原备份 。

  3. 展开服务器组,然后展开服务器。

  4. 展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令。

  5. 在"还原为数据库"框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。

  6. 若要用新名称还原数据库,请输入新的数据库名称。

  7. 说明 为数据库指定新名称将自动为从数据库备份中还原的数据库文件指定新名称。

  8. 单击"从设备",然后单击"选择设备"。

  9. 在"还原自"下,单击"磁带"或"磁盘",然后选择还原设备。

  10. 如果没有出现设备,则单击"添加"以添加现有的备份设备或创建新的备份设备。

  11. 在"还原数据库"对话框内,单击"查看内容"并选择要还原的备份集。

  12. 说明 此选项将扫描备份集以获得备份内容信息,该操作可能需要花费较长时间,特别是在使用磁带设备时。

  13. 如果已经知道要还原的备份集,则在"备份号"中输入备份集编号。

  14. 在"还原备份集"下执行下列操作之一: 单击"数据库 — 完全"还原数据库备份。

  15. 单击"数据库 — 差异"还原差异数据库备份。

  16. 单击"事务日志"应用事务日志备份。

⑧ 数据库备份与还原功能的实现

传统方法用SQL Server作数据库后台时,一般采用手工的方式利用SQL Server自身提供的可视化工具或SQL语言进行数据的备份还原功能(余正涛等,2003),但是由于SQL Server 的复杂性,操作比较繁琐,就使得普通用户对数据的备份与还原有一定的困难,并且容易造成错误,可能造成数据丢失等灾难性的后果。考虑到系统完整性和可靠性,可在VB 6.0环境下实现SQL Server数据库的备份与还原工作。

(一)实现思路

为了通过程序实现数据库备份与还原工作,必须在VB环境下引用SQLDMO,SQLDMO(SQL Distributed Management Objects,SQL 分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口(包括备份和恢复),允许用支持自动化或COM 的语言编写应用程序。SQLDMO 对象来自SQLDMO.dll,SQLDMO.dll 是随 SQL Server 2000 一起发布的。并通过CreateObject("SQLD MO.SQLServer")函数创建新对象,使用SQLServ er.Connect函数经密码校验可连接服务器,再创建备份核心对象SQLDMO.Backup,同时指定备份文件等参数即可实现数据库备份与还原。具体的备份处理流程如图8-10所示。

特别注意SQL Server 2000 所安装的硬盘分区格式是否是NTFS格式,NTFS是最适合安装SQL Serv⁃er的文件系统。它比FAT文件系统更稳定且更容易恢复。而且它还包括一些安全选项,例如文件和目录ACL,以及文件加密(EFS)。如果是Fat32格式建议将它改成NTFS格式,因为Fat32支持最大文件为4G,数据库超过4G通常会提示日志文件太大之类的错误。

图8-10 数据库备份处理流程图

(二)关键代码

'************数据库备份操作*************

Set gSQLServer=getSQLServer(ServerName,UserName,password)

Private Function BackUpData(gDatabaseName As String,gBkupRstrFileName As String,Server⁃Name As String,UserName As String,password As String)As String

On Error GoTo ErrHandler:

Dim oBackup As SQLDMO.Backup

Dim gSQLServer As SQLDMO.SQLServer

Set tprg=New CProgress

tprg.Title ="正在执行数据库备份......"

ServerName为服务器名称;serName为用户名;password为超级密码

'连接服务器

Set oBackup=New SQLDMO.Backup

Set oBackupEvent=oBackup

gDatabaseName为所要备份数据名称;gBkupRstrFileName为备份文件名

oBackup.Database=gDatabaseName

oBackup.Files=gBkupRstrFileName

已存在gBkupRstrFileName备份文件名,则覆盖

If Len(Dir(gBkupRstrFileName))>0 Then

Kill(gBkupRstrFileName)

End If

oBackup.PercentCompleteNotification=1

Screen.MousePointer=vbHourglass

oBackup.SQLBackup gSQLServer

DoEvents

Screen.MousePointer=vbDefault

'清空内存、关闭连接

Set oBackupEvent=Nothing

Set oBackup=Nothing

gSQLServer.Close

Set gSQLServer=Nothing

Set tprg=Nothing

Exit Function

ErrHandler:

m_str状态=Err.Description

Resume Next

Set tprg=Nothing

End Function

'************数据库还原操作*************

Private Function RestoreData(gDatabaseName As String,gBkupRstrFileName As String,Server⁃Name As String,UserName As String,password As String)As String

On Error GoTo ErrHandler:

Dim oRestore As SQLDMO.Restore

Dim msg As String

Dim Response As String

Set tprg=New CProgress

tprg.Title ="正在执行数据库还原......"

Dim gSQLServer As SQLDMO.SQLServer

'ServerName为服务器名称;serName为用户名;password为超级密码

'连接服务器

Set gSQLServer=getSQLServer(ServerName,UserName,password)

Set oRestore=New SQLDMO.Restore

Set oRestoreEvent=oRestore

'gDatabaseName为所要还原数据名称;gBkupRstrFileName为还原文件名

oRestore.Database=gDatabaseName

oRestore.Files=gBkupRstrFileName

Screen.MousePointer=vbHourglass

oRestore.PercentCompleteNotification=1

oRestore.SQLRestore gSQLServer

Screen.MousePointer=vbDefault

'清空内存、关闭连接

Set oRestoreEvent=Nothing

Set oRestore=Nothing

gSQLServer.Close

Set gSQLServer=Nothing

Set tprg=Nothing

Exit Function

ErrHandler:

m_str状态=Err.Description

Resume Next

Set tprg=Nothing

End Function

'************显示备份进度*************

'************显示还原进度*************

End Sub

Private Sub oBackupEvent_PercentComplete(ByVal Message As String,ByVal Percent As Long)

DoEvents

tprg.Value=Percent

End Sub

Private Sub oRestoreEvent_PercentComplete(ByVal Message As String,ByVal Percent As Long)

DoEvents

tprg.Value=Percent

⑨ 织梦数据库备份之后还原一直是 0 条记录被还原

试试直接在织梦后台备份数据库,不需要几个小时啊,数据不上G的话很快的。还原记录一直是0的话就是代表还原不成功,这种情况很可能就是数据库没备份成功

热点内容
编译隔离 发布:2025-01-20 16:28:54 浏览:358
从哪里看自己的qq账号和密码 发布:2025-01-20 16:22:33 浏览:400
sql语句动态 发布:2025-01-20 16:18:22 浏览:298
sql表或的语句 发布:2025-01-20 16:00:49 浏览:163
西瓜视频怎么缓存不了电影了 发布:2025-01-20 16:00:45 浏览:890
javatimer 发布:2025-01-20 15:55:56 浏览:64
ts使用什么编译器 发布:2025-01-20 15:54:59 浏览:382
数据库中已存在 发布:2025-01-20 15:35:44 浏览:110
压缩超过密度 发布:2025-01-20 15:35:33 浏览:648
和她在一起的日历怎么弄安卓 发布:2025-01-20 15:29:29 浏览:640