如何恢复被delete/update的数据
操作步骤
1连接到被删除数据库的Db
打开logexplorer选择"file"->"attachlogfile"->选择服务器和登陆方式->"connect"->选择"数据库"->"attach"
2查看日志
在左面操作项目的对话框中选择"browse"项目->"viewlog"->就可以看到当前的Log记录了
3恢复数据
右键某一条log记录,选择"undotransation"->"选择保存文件名和路径"->然后打开该文件到查询分析器里执行
T-sql代码就可以了
例如:如果log是deletetablewhere...的话,生成的文件代码就是inserttable....
2. 错删掉sql数据库怎么找回
我认为有两个办法:
1、如果能够备份“置疑”数据库的话,现备份出来,然后删除该数据库,最后由备份出来的文件恢复。
2、如果无法备份可以采取先停止sql
server,然后到sql安装目录的data(系统默认时这里,也可能在其他你放置的目录下)目录下找到该“置疑”数据库文件和日志文件拷贝到其他目录,启动sql
server,删除该数据库,将考出的数据库文件和日志文件考回原目录,最后用这两个文件通过数据库附加的方法恢复原数据库。
3. 怎样还原删除的数据库(sql2005)
首先,备份事务日志(使用事务日志才能还原到指定的时间点)
BACKUP
LOG
Db
TO
DISK='c:\db_log.bak'
WITH
FORMAT
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE
DATABASE
Db
FROM
DISK='c:\db.bak'
WITH
REPLACE,NORECOVERY
GO
--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早
DECLARE
@dt
datetime
SELECT
@dt=DATEADD(ms,-20,dt)
FROM
#
--获取比表被删除的时间略早的时间
RESTORE
LOG
Db
FROM
DISK='c:\db_log.bak'
WITH
RECOVERY,STOPAT=@dt
GO
--查询一下,看表是否恢复
SELECT
*
FROM
Db.dbo.TB_test
4. mysql怎么查看删除的数据库
我怎么觉得你是想查看删除的表呢?如果是表的话只有这么三种情况能恢复了
1
innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的
2
在进行删除操作之前有备份,比如mysqlmp,物理备份数据文件之类的操作,那么可以恢复到删除前的数据
3
如果你的删除操作是直接对data下的文件进行删除,注意,不是粉碎文件操作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;
5. 数据库日志中可以查看插入删除更新等操作的记录吗
使用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恢复数据
6. sqlserver数据库表数据误删除了 怎么恢复
恢复sqlserver数据库表数据步骤如下:
一、心态:
1、务必冷静,事情已经发生不可慌乱。
2、立即查看当前时间,最好能够精确到秒,并做记录。
3、应立即向直接上级反映此事,不可隐瞒,防止事态扩大。
4、如果权限允许,应当立即停止相关应用,防止有新的数据写入数据库。
二、恢复:
1、构建新数据库以及写入一些数据
如果查询发现数据不是你想要的,那么可以重复上述的操作,从备份事务日志开始,然后最后选择时间点的时候在缩小范围。
7. 怎样找回MYSQL数据库中删除的数据
1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的
2 在进行删除操作之前有备份,比如mysqlmp,物理备份数据文件之类的操作,那么可以恢复到删除前的数据
3 如果你的删除操作是直接对data下的文件进行删除,注意,不是粉碎文件操作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;
除以上情况,其他真的是没法恢复了,不过貌似很多公司号称能够恢复,要收费,具体他们怎么恢复我就不晓得了。
8. SQLite数据库增加修改删除以及怎么查看
首先mytab操作类,就是处理增加修改删除功能
public class MytabOperate {
private static final String TABLENAME = "mytab"; // 表示要操作的数据表名称
private SQLiteDatabase db = null; // 数据库操作
public MytabOperate(SQLiteDatabase db) {
this.db = db;
}
public void insert(String name,String birthday) {
String sql = "INSERT INTO " + TABLENAME + "(name,birthday) VALUES ('"
+ name + "','" + birthday + "')";
this.db.execSQL(sql) ;
this.db.close() ;
}
public void update(int id, String name, String birthday) {
String sql = "UPDATE " + TABLENAME + " SET name='" + name
+ "',birthday='" + birthday + "' WHERE id=" + id;
this.db.execSQL(sql);
this.db.close() ;
}
public void delete(int id) {
String sql = "DELETE FROM " + TABLENAME + " WHERE id=" + id ;
this.db.execSQL(sql) ;
this.db.close() ;
}
}
然后我们定义布局文件三个按钮分别实现三个功能:
<Button
android:id="@+id/insertBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增加数据" />
<Button
android:id="@+id/updateBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="修改数据" />
<Button
android:id="@+id/deleteBut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除数据" />
然后定义Activity方法
public class MainActivity extends Activity {
private Button insertBut = null ;
private Button updateBut = null ;
private Button deleteBut = null ;
private SQLiteOpenHelper helper = null ;
private MytabOperate mtab = null ;
private static int count = 0 ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
this.helper = new MyDatabaseHelper(this);
this.insertBut = (Button) super.findViewById(R.id.insertBut) ;
this.updateBut = (Button) super.findViewById(R.id.updateBut) ;
this.deleteBut = (Button) super.findViewById(R.id.deleteBut) ;
this.insertBut.setOnClickListener(new InsertOnClickListenerImpl()) ;
this.updateBut.setOnClickListener(new UpdateOnClickListenerImpl()) ;
this.deleteBut.setOnClickListener(new DeleteOnClickListenerImpl()) ;
}
private class InsertOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
MainActivity.this.mtab = new MytabOperate(
MainActivity.this.helper.getWritableDatabase());
MainActivity.this.mtab.insert("zhangyiyi" + count++, "2000-12-21") ;
}
}
private class UpdateOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
MainActivity.this.mtab = new MytabOperate(
MainActivity.this.helper.getWritableDatabase());
MainActivity.this.mtab.update(3, "ee", "2321-23-32");
}
}
private class DeleteOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
MainActivity.this.mtab = new MytabOperate(
MainActivity.this.helper.getWritableDatabase());
MainActivity.this.mtab.delete(3) ;
}
}
}
到这里我们就实现了这些功能
怎么查看数据库呢
首先进入
c:\> adb shell
Android把数据都存放在data/data目录下。
我们使用cd命令转到data/data目录下:
cd /data/data
ls 显示所有数据
目录一样有个com.misoo.SQ01文件夹。
cd com.misoo.SQ01/databases 进入com.misoo.SQ01/databases目录
ls 命令你会看到StudDB.db,这就是我们的StudDB.db数据库。
9. ORACLE表空间内怎样查找已删除的数据
哦,是这样的,oracle就是多了一个用户的概念,一个链接的概念,他们的之间的关系好像是m:n
不过你们说的oracle 11以前的版本,11g 有个racle 11g sqldeveloper 这个可视 的 sql软件
配置
打开sqldeveloper——》Connections——》右键Connections——》弹出New / Select Database Connection
Connection Name
Username
Password
Hostname 默认localhost
Port 默认1521
SID 默认xe
这个和你安装的时候添的东西有关
然后弄个用户,这个用户和你安装的那个不一样
create 用户名 identified by 密码 ----创建用户
grant select to 用户名 ----授权 查找
grant resources to 用户名 ----授权 资源
上面这段是在那个类似CMD里面打的--PL/SQL
总之PL/SQL是一个写代码的,我也是先学的SQLSERVER,MYSQL什么的,后来才用Oracle 对那种代码也烦,后来就用了11g 可视的编辑,快捷好用,就和你们SQLSERVER一样
最后,你要是链接数据库什么的,可以使用odbc,不过,hibernate更好多,写hql比sql简单的多,而其无论什么数据库都是一样hql 至于备份,记得是有那个按钮选项的,至少11g是有导入,导出的,我那个时候做毕业设计的时候老师就要我导出的。
图片找不到了,不过网上应该有~~
备份数据库:mysql\bin\mysqlmp -h(ip) -uroot -p(password) databasename > database.sql
恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename < database.sql
复制数据库:mysql\bin\mysqlmp --all-databases > all-databases.sql
修复数据库:mysqlcheck -A -o -uroot -p54safer
文本数据导入: load data local infile \"文件名\" into table 表名;
数据导入导出:mysql\bin\mysqlimport database tables.txt
mysql 的数据导入,导出
10. JSP 删除数据库时删除对应的文件
出现参数不足,期待值为1的错误提示,原因一般是出现在sql语句里。
首先我得确定一下你的表名是不是user,如果是的话,查看一下表中有没有username,userpw,userpword,email,tel,handset,fax,address的字段,如果都为是的话就不可能是sql错误!
接下来的方法是检查你的sql语句是不是正确的方法:
打开数据库,点击左边的查询,在打开的对话框中选择关闭,之后只剩下一个查询窗口(灰色),之后在查询窗口里点击右键,粘贴到里面并覆盖掉里面的内容,点击上方的红色勾,你语句的正确与否就知道了。
试试吧,还是不行的话再问!注意:如果是数字型(整型)的就不要单引号,文本型就用单引号,这个很重要啊!