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

解决方案 »

  1.   

    触发器里有两个逻辑表:DELETED:删除或更新前的数据
    INSERTED:插入或更新后的数据
      

  2.   

    用 Log Explorer 恢复。
      

  3.   

    但是突然发现这些数据还没保存-------------------------------------------------------重新update 一次保存不行吗?
      

  4.   

    我用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代码
      

  5.   

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

  6.   

    楼上的。请问update后sqlserver把信息保存在哪个表里?我怎么找到呢,难道一定要用logexplorer才找的到吗》?
    ----------
    你是找不到的,如果是在觸發器中它的信息保存在 inserted,deleted 這兩個臨時表中,
    update 之後就消失了你要恢復數據,要借用log explorer這個工具