sqlserver一直显示正在恢复(sqlserver一直显示正在还原)

http://www.itjxue.com  2023-02-09 16:18  来源:未知  点击次数: 

sql断开连接后找不到数据库

sql断开连接后找不到数据库数据库脱离了sqlserver的管制。重新启动数据库的辅助SQLServer。在此方案中,所有镜像数据库都为"已断开连接"或"正在恢复"状态。每个数据库的错误日志中还会记录。

sqlserver怎么恢复删除

使用Log Explorer查看和恢复数据

Log Explorer 4.1.可用于SQL Server2005的日志查看工具

下载地址:

使用方法:

打开Log Explorer - Attach Log File - 选择SQL Server服务器和登陆方式 - Connect -

在Database Name中选择数据库 - Attach- 左面对话框中Browse- View Log- 就可以看到log记录了

想恢复的话: 右键Log记录 Undo Transation- 选择保存文件名和路径- 然后打开该文件到查询分析器里执行

T-sql代码就可以了

例如 如果Log是delete table where ...的话,生成的文件代码就是insert table ....

然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.

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

--如何恢复被delete/update的数据

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

1 连接到被删除数据库的Db

打开log explorer 选择 "file"-"attach log file"-选择服务器和登陆方式-"connect"-选择"数据库"-"attach"

2 查看日志

在左面操作项目的对话框中选择"browse"项目-"view log"-就可以看到当前的Log记录了

3 恢复数据

右键某一条log记录,选择"undo transation"-"选择保存文件名和路径"-然后打开该文件到查询分析器里执行

T-sql代码就可以了

例如: 如果log是delete table where ...的话,生成的文件代码就是insert table ....

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

--Log Explorer恢复被drop table和truncate table后的数据

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

1 连接到被删除数据库的Db

操作同上

2 恢复方法

1) 选择"salvaage dropped/truncate"菜单,在右边的对话框中选择表名,和droped/trucated的日期,

File Name中选择生成insert语句脚步的存放位置,condition选择是droped还是truncated,

最后点击"create" 就会生成insert语句,把生成的语句到查询分析器里面执行一下就可以了

2) 选择"ViewDDL Commands"菜单-选"truncate table" 操作项-点击"Salvage"-生成语句-查询分析器里执行

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

--log explorer使用的几个问题

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

1) 对数据库做完全/差异/日志备份

备份时如果选用了删除事务日志中不活动的条目

再用Log explorer打试图看日志时,提示No log recorders found that match the filter,would you like to view unfiltered data 选择yes 就看不到刚才的记录了

如果不选用了删除事务日志中不活动的条目

再用Log explorer打试图看日志时,就能看到原来的日志并做恢复

2) 修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复

3) 然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,

否则会出现数据库正在使用无法恢复)

恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.

4) 不要用SQL的备份功能备份,搞不好你的日志就破坏了.

正确的备份方法是:

停止SQL服务,复制数据文件及日志文件进行文件备份.

然后启动SQL服务,用log explorer恢复数据

sql2005备份数据库怎么恢复

数据库数据恢复步骤

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

(A)......通过日志和时间点来恢复数据的前提条件:数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项,如果是简单模式:类似下面的语句操作数据就不会记录到日志中:select*intotfrom[表名].【采用LogExplorer工具可以在线操作,通过恢复日志(指定时间点恢复)来恢复数据,必须停止数据库或者再另一个数据库恢复(前提是必须有一个完全备份和日志备份)】

这时为保证数据的完整要将数据库的恢复模式改成“完整.

1.1、这时对数据库事务日志做备份(注意,如果没做个数据库完整备份,是不能做事务日志备份的)

这时新建一个数据库zp(将以前的数据库改名),恢复数据库

这时我们看到,有两个还原的数据库备份,因为我对zp数据库备份了两次,两次的备份的数据文件都一样。这里我们选择最近时间的备份默认在数据库的设置如下:是追加到备份集里,所以会有两个备份。

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

注意:通过事务日志还原数据库,必须选择"不回滚"事务

确定后:出现下面情况:

这时发现,数据库一直是”正在还原“,这时还原数据库事务日志,

1.2、“常规”里选择时间,(刚删除的时间)

1.3、“选项”里将恢复状态设置为”回滚未提交“事务

确定后,查询数据库,发现数据回来了.

2、无日志的数据恢复

2.1.新建一个同名的数据库

2.2再停掉sqlserver(注意不要分离数据库)

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

2.4再重启sqlserver

2.5此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)

2.6完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用

数据库的脚本创建一个新的数据库,并将数据导进去就行了.

USEMASTER

SP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDE

UPDATESYSDATABASESSETSTATUS=32768WHERENAME='数据库名'

sp_dboption'数据库名','singleuser','true'

DBCCCHECKDB('数据库名')

updatesysdatabasessetstatus=28wherename='数据库名'

sp_configure'allowupdates',0reconfigurewithoverride

sp_dboption'数据库名','singleuser','false'

linux上sqlserver2017的数据在2019上恢复

1、使用SQL Server 2017的备份和恢复数据

1)备份:在SQL Server 2017中打开备份数据库窗口,选择要备份的数据库,然后选择“备份类型”,选择“完整”,然后点击“确定”。

2)恢复:在SQL Server 2019中打开恢复数据库窗口,然后选择“从备份数据集恢复”,并选择备份文件,然后点击“确定”。

2、使用SQL Server 2017的Attach/Detach方法

1)使用SQL Server 2017将要恢复的数据库分离:在SQL Server 2017中打开“Object Explorer”,右键单击要分离的数据库,选择“分离”,然后点击“确定”。

2)将分离的数据库文件移动到SQL Server 2019服务器上:将数据库文件从SQL Server 2017服务器移动到SQL Server 2019服务器上,并确保目录结构完整。

3)在SQL Server 2019服务器上将数据库附加到数据库:在SQL Server 2019服务器上打开“Object Explorer”,右键单击“数据库”,然后选择“附加”,并选择分离的数据库文件,然后点击“确定”。

(责任编辑:IT教学网)

更多

推荐数据库文章