如何恢復被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語句是不是正確的方法:
打開資料庫,點擊左邊的查詢,在打開的對話框中選擇關閉,之後只剩下一個查詢窗口(灰色),之後在查詢窗口裡點擊右鍵,粘貼到裡面並覆蓋掉裡面的內容,點擊上方的紅色勾,你語句的正確與否就知道了。
試試吧,還是不行的話再問!注意:如果是數字型(整型)的就不要單引號,文本型就用單引號,這個很重要啊!