日期:2014-05-18  浏览次数:20619 次

关于update的疑问
我用update   更新了一些数据,但是突然发现这些数据还没保存,很是着急,我记得好像sqlserver里有个系统表,会保存最后一次update的相关信息。我想知道这个表甚么名字,就是记不起来了,哪位达人知道啊~~~

------解决方案--------------------
触发器里有两个逻辑表:

DELETED:删除或更新前的数据
INSERTED:插入或更新后的数据

------解决方案--------------------
我用update 更新了一些数据,但是突然发现这些数据还没保存,很是着急,我记得好像sqlserver里有个系统表,会保存最后一次update的相关信息。我想知道这个表甚么名字,就是记不起来了,哪位达人知道啊~~~


sql server执行了update,会自动保存数据,不象ORACLE还要提交(COMMIT).
除非遇到传说中的UPDATE时断电.

如果不行,用日志工具Log Explorer
步骤:
1、查看日志
a、打开log explorer,选择菜单File--> attach log file
b、在Log File Selection窗口中,填写连接到要恢复数据的数据库服务器机器名、数据库登录ID及密码,然后点击 "Connect "按钮。
c、若连接成功,则窗口左边树将显示命令菜单,这时我们点击Browser下的View Log命令,此时窗口右边则出现该数据库的Log。
2、恢复数据库
这时您只要选择您要恢复对事件点,右键点击选择 "undo transation "命令,保存T-SQL代码,然后在查询分析器中执行该T-SQL代码

------解决方案--------------------
楼上的。请问update后sqlserver把信息保存在哪个表里?我怎么找到呢,难道一定要用logexplorer才找的到吗》?


----------
你是找不到的,如果是在觸發器中它的信息保存在 inserted,deleted 這兩個臨時表中,
update 之後就消失了

你要恢復數據,要借用log explorer這個工具