当前位置:首页 » 编程语言 » sql镜像主库被删
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql镜像主库被删

发布时间: 2022-11-05 12:15:15

‘壹’ 在sql里面把数据库删除了怎么恢复

不同的数据库有不同的恢复方式。

  1. Oracle 11g之后有闪存回归机制,在一定的时间内可以从闪存中恢复数据。

  2. MySQL数据库则在开启了binlog日志的情况下,可以通过binlog日志恢复被删除的数据。

‘贰’ SQL数据库怎么还原 用友SQL SERVER恢复数据库误删除数据方法

SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:

1. 至少有一个误删除之前的数据库完全备份。

2. 数据库的恢复模式(Recovery mode)是“完整(Full)”。

针对这两个前提条件,会有三种情况:

情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。

a) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY

b) 恢复一个误删除之前的完全备份:RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY, REPLACE

c) 将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM DISK = N'第一步的日志备份文件名' WITH STOPAT = N'误删除之前的时间点' , RECOVERY

情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。

情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(Full)”。

我现在面临的是第二种情况,需要找第三方工具。

开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。

后来找的是SQL Log Rescue,也不支持SQL Server 2008。

接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。

最终在officerecovery.com上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。

下面分享一下用Recovery for SQL Server进行恢复的操作步骤:

1. 运行Recovery for SQL Server

2. 点击菜单中的 File > Recover,选择要恢复的数据库的数据文件(.mdf)

3. Next > Next,进入 Recovery Configuration 界面,选择Custom(选择了Custom才可以选择从日志中恢复误删除的数据)。

4. Next 进入 Recovery options 窗口,选中 Search for deleted records,并选择要恢复的数据库的日志文件路径(log file path)。

5. Next 并选择目标文件夹(Destination folder),用于存放恢复过程中生成的SQL语句与bat文件。

6. 点击Start,开始恢复操作(在上一步选择的目标文件夹中生成相应的SQL文件与Bat文件),然后,出现 SQL Server Database Creation Utility 窗口。

7. Next,选择被恢复数据存放的目标数据库。

8. Next, 选择 Import availiable data from both database and log files

9. Next, Next, 然后就完成数据的恢复!

‘叁’ SQL server2008本地数据库被删,怎么恢复

主要步骤如下:
1. 查询被标记的数据库
USE master
GO
SELECT NAME,STATE_DESC FROM SYS.DATABASES
WHERE STATE_DESC='SUSPECT'
GO
2. 设置为紧急状态EMERGENCY,此时数据库可以有一个用户连接。由于本次数据库比较大,就没有继续向下操作,我的做法是写了脚步,把数据逐个的导出到另外一个库。
有部分表,数据不全,查询失败,通过限制条件,逐步把可以查询出来的导出来。
USE master
GO
ALTER DATABASE BPO SET EMERGENCY
GO
3.检查数据库
DBCC CHECKDB (BPO)
GO
4. 设置用户
ALTER DATABASE BPO SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
5. 修复
DBCC CHECKDB (BPO, REPAIR_ALLOW_DATA_LOSS)
GO
6. 设置用户
ALTER DATABASE BPO SET MULTI_USER
GO

‘肆’ SQL数据库被删没有备份怎么才能还原

1、首先先确认你的Windows是否开启了【系统还原】功能。如果有,请恢复到之前的还原点。
2、如果没开系统还原,请确认你原来的数据库是否在系统分区。如果在系统分区的话,建议用类似深山红叶的光盘启动,开启EasyRecovery来扫描回复数据。不过多半找不回来。因为系统分区是改动N频繁的。
3、用备份数据来恢复数据库。

‘伍’ sql默认数据库被删除,不能登入怎么办

原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。解决方法很简单:二."无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示: 1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server 操作步骤: 在企业管理器中 --右键你的服务器实例(就是那个有绿色图标的) --编辑SQL Server注册属性 --选择"使用windows身份验证" --选择"使用SQL Server身份验证" --登录名输入:sa,密码输入sa的密码 --确定 2.设置允许SQL Server身份登录 操作步骤: 在企业管理器中 --展开"SQL Server组",鼠标右键点击SQL Server服务器的名称 --选择"属性" --再选择"安全性"选项卡 --在"身份验证"下,选择"SQL Server和 Windows ". --确定,并重新启动SQL Server服务. 在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败, 那就通过修改注册表来解决此问题: 1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器 2.依次展开注册表项,浏览到以下注册表键: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer] 3.在屏幕右方找到名称"LoginMode",双击编辑双字节值 4.将原值从1改为2,点击"确定" 5.关闭注册表编辑器 6.重新启动SQL Server服务. 此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册, 但是仍然无法使用Windows身份验证模式来连接SQL Server. 这是因为在 SQL Server 中有两个缺省的登录帐户: BUILTIN\Administrators <机器名>\Administrator 被删除. 要恢复这两个帐户,可以使用以下的方法: 1.打开企业管理器,展开服务器组,然后展开服务器 2.展开"安全性",右击"登录",然后单击"新建登录" 3.在"名称"框中,输入 BUILTIN\Administrators 4.在"服务器角色"选项卡中,选择"System Administrators" 5.点击"确定"退出 6.使用同样方法添加 <机器名>\Administrator 登录. 说明: 以下注册表键: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode 的值决定了SQL Server将采取何种身份验证模式. 1.表示使用"Windows 身份验证"模式 2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证). 希望这些信息对你有所帮助!
0

‘陆’ sql server数据库被删除怎么恢复

方法1:

master
中执行
exec
sp_detach_db
'fj20070116',
'true'
接下来到相应的数据库文件目录下删除log文件
exec
sp_attach_db
@dbname
=
n'fj20070116',
@filename1
=
n'f:\microsoft
sql
server\mssql\data\fj20070116_data.mdf'
执行结果如下(表明删除日志成功,并重建数据库日志文件):
设备激活错误。物理文件名
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
可能有误。
已创建名为
'f:\microsoft
sql
server\mssql\data\fj20070116_log.ldf'
的新日志文件。
方法2:
选中要分离的数据库,先将其分离。
删除对应的日志文件。
数据库--所有任务--附加数据库--在附加数据库的弹出框中选择mdf
选择是即可完成创建新的数据库日志文件。对数据库操作没有任何影响。
以上两个方法生成的log文件只有504kb。

‘柒’ sql server数据库被删除了怎么办

使用Log Explorer查看和恢复数据

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

下载地址:
http://download.csdn.net/source/620271

使用方法:

打开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恢复数据

‘捌’ SQL数据库表被误删除,如何恢复

如果之前没有完全备份的话,我不知道怎么去恢复。
如果之前有完全备份的话,现在立刻备份日志文件。
backup
log
数据库名
to
disk
='备份路径+备份名'
然后还原最近一次的完全备份(删除表之前的完全备份)加上norecovery选项
restore
database
数据库名
from
disk='完全备份路径+备份名'
with
norecovery,replace
之后还原刚才备份的日志文件,加上stopat选项,假设表是在18:01分删除的,就恢复到之前的几分钟
restore
log
数据库名
from
disk='日志文件备份路径+备份名'
with
stopat='2008-3-28
17:30'

‘玖’ SQL数据被删除如何恢复

企业管理器
--右键"数据库"
--所有任务
--还原数据库
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上qz还原"-
-确定

--或用SQL语句:
restore database 数据库 from disk='c:\你的备份文件名'

还原数据库
企业管理器中的操作:

1.进行完整恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中输入还原后的数据库名,设为:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"数据库--完全"
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上qz还原"
--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
--确定

--或用SQL语句:
restore database 数据库 from disk='c:\你的完全备份文件名' with norecovery

2.进行差异恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中选择数据库名:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"数据库--差异"
--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
--确定

--或用SQL语句:
restore database 数据库 from disk='c:\你的差异备份文件名' with norecovery

3.进行日志恢复
企业管理器--右键"数据库"--所有任务--还原数据库
--"还原为数据库库"中选择数据库名:test
--还原选择"从设备"--选择设备--添加--添加你的备份文件
--确定,回到数据库还原的界面
--"还原备份集",选择"事务日志"
--"恢复完成状态",选择"使数据库可以继续运行,但无法还原其它事务日志"
--确定

--或用SQL语句:
restore log 数据库 from disk='c:\你的日志备份文件名' with recovery

--解决还原数据库目录不对的详细步骤:

1.企业管理器中的方法:
--右键"数据库"
--所有任务
--还原数据库
--"还原为数据库库"中输入还原后的数据库名
--还原选择"从设备"--选择设备--添加--添加你的备份文件--确定,回到数据库还原的界面
--备份号--选择内容--选择你要恢复那次备份的内容
--选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名
--如果要还原的数据库已经存在,选择"在现有数据库上qz还原"-
-确定

2.用SQL语句的方法(假设你的备份文件名为: c:\xx.bak

--列出备份文件中的逻辑文件名
restore filelistonly from disk='c:\xx.bak'

--用语句恢复,根据上面列出的逻辑文件名使用move选项
restore database 恢复后的数据库名
from disk='c:\xx.bak'
with move '逻辑数据文件名1' to 'c:\物理数据文件名1'
,move '逻辑数据文件名2' to 'c:\物理数据文件名2'
...
,move '逻辑数据文件名n' to 'c:\物理数据文件名n'

没有什么要特别注意的,和企业版之间的备份/还原要注意的东西一样:

1.要注意备份时的设置问题,不要指定多个备份文件,否则还原时也要指定多个备份文件

2.要注意备份的媒体处理方式问题,用重写,而不是追加,否则还原的时候要指定备份号

3.要注意备份的方式,用完全备份,而不是其他备份方式,否则还原时还要其他备份文件支持

‘拾’ SQL数据库被删除了,有恢复的方法么

如果是SQL SERVER,把数据库重新附加就好了。

打开数据库企业管理器:控制台根结点->Microsoft SQL servers-> SQL server组-> local(windows NT)->数据库,右击“数据库”,在弹出的列表中选择“所有任务”->“附加数据库”

附加你的数据库的两个原始数据文件:数据库名称.MDF及数据库名称.LDF(数据库安装目录下如C:\Program Files\Microsoft SQL Server\MSSQL\Data)