將原來的資料庫文件刪除,將備份中的資料庫文件拷到相對路徑下
使用with move選項
RESTORE DATABASE A FROM DISK = N'D:\B' with RECOVERY,
NOUNLOAD, REPLACE, STATS = 10 ,
MOVE '資料庫邏輯名' TO '資料庫A的完整路徑+數據文件名.mdf',
MOVE '日誌邏輯名' TO '資料庫A的完整路徑+日誌文件名.ldf'
另外使用restore命令恢復資料庫,一般不必先創建要恢復的資料庫,可以直接從備份里恢復出來。
或者右鍵 Attach你的備份也可以。
******************
檢查一下你的資料庫連接字元串,如果你恢復了你的資料庫並且資料庫正常的話,那就是你程序配置的問題了
❷ 如何撤銷一個已經執行的更新SQL語句
如果沒有提交,可以撤回,如果已經提交,則看是否有備份。 如果有備份,那麼恢復資料庫到另外的地方,然後此表恢復。
❸ sql2008R2資料庫裡面的某張表會做數據交換的時候被覆蓋了。怎麼恢復。
沒有備份?這個不靠譜啊。
剩下的唯一方法就是通過LDF日誌文件,分析某個時間段的操作,主要用於恢復SQL Server誤Delete、誤Update操作了。下個Log Explorer比較簡單。
你也可以通過
這個功能還原
❹ sql語句執行後能不能撤銷
沒有辦法,除非用了事務 Begin transaction,且執行了Update後還未commit transaction,可以用rollback transaction來回滾和撤銷 我也犯過好幾次update後面沒有加where條件的嚴重錯誤,幸好事先有備份,可以用覆蓋的方式來恢復,否則真的是狗屁了,所以後來我在執行任何一條update語句前都要寫注釋-別忘了加where條件,或者索性用事務
❺ SQLSERVER2005資料庫被誤還原覆蓋,有沒有辦法恢復回去
沒辦法了.
除非你有最後的備份.
否則的話,就准備承擔責任吧.
❻ mysql誤導入了數據,把原來的數據覆蓋掉了,這個有辦法還原嗎
有多種方法.請參考以下方法. 方法一: 安裝一個mysql的客戶端,比如navicat,建好連接,打開要導入的資料庫,點擊導入向導,選擇要導入的 數據,選擇要導入的目標表,在最後的選項中選擇附加到已有數據. 方法二: 先使用mysq命令行導入新數據到一張新表,新表結構與之前表一樣.然後執行以下插入語句. 假定新表名為new_tb,原表名為old_tb, 則 insert into old_tb select * from new_tb