❶ sql Server 更新忘加条件,整表全更新了,有什么办法回到执行前
网络搜个日志管理程序LogExplorer
如果在日志没有被截断的情况下,是可以恢复的
使用LogExplorer附加该库的日志文件,找到当时更新的那个时间段运行的sql,然后让表执行回滚操作
日志被截断或者设置为无log的情况下,要想恢复就基本上不可能了
❷ SQL数据库里的表误删除要怎么恢复
1、实现运行Recovery for SQL Server操作如下。
❸ sql如何恢复数据
方法:
第一步:选择需要还原的数据库,鼠标右键,选择任务下的还原;
注意事项
1、一定要记得覆盖现有数据库;
2、执行数据库操作的时候,请断开当前数据库的任何使用(例如查询,数据库的连接使用)。
❹ 数据库表更新后还能不能恢复
比如,你备份了AdventureWorks数据库,现的你只恢复里面Vendor表数据。不幸的是,SQL Server本身并不支持这样还原,你需要从第三方提供的工具中来执行这样的任务。
提供这种功能的程序都是一些SQL Server第三方备份工具。它们可以让你从备份文件中抽取或是读取单个表数据。
但是这里有一点要注意是,假如你选择恢复一个完整数据库,那么你选择要恢复的数据有可能与你获取的数据不同。原因就是因为当你执行完整数据库备份时,备份文件包括数据文件和事务日志文件。有一些已经提交的事务还没有写入数据文件,在这种情况下,事务仅仅存储在事务日志中,或者部份数据存储在数据文件。当你使用第三方程序恢复所选择的单表数据时,仅仅只能从备份文件中的数据库文件中获取数据,事务日志中的新数据将会被忽略。
下图显示了在备份期间没有checkpoint的备份序列。
在备份开始之前,如果事务还没有被写到数据文件中,那会怎么样呢?答案是不确定,因为当备份开始后,SQL Server会自动执行checkpoint操作。当checkpoint期间,脏数据页已经被写到磁盘上了。当我们从备份文件恢复单独一个表的数据时,我们能不能认为要恢复的数据就处于备份开始处呢?这取决于备份过程。如果在备份期间没有事务在运行,那就没问题。如果这期间有事务在运行而且checkpoint也没有被触发,那也没问题。但是如果在备份期间有事务在执行,那我们恢复的数据也许就会包括备份起始时的数据,而且在备份期间数据被提交了的话,如果在备份期间发生了checkpoint而且数据也被写到了数据页,而这个数据页在checkpoint发生时没有被备份。(最后这句实在不知道怎么翻译才好,附上原文如下:If however there were transactions performed ring the backup, the data we recover may include data at the beginning of the backup, and data that were committed ring the backup IF checkpoints occurred ring the backup AND the data was written to pages that were not yet backed up yet at the time the checkpoint occurred.)
下图显示了带checkpoint的备份序列
当你进行表级别的恢复之前,要先考虑一些事情。一个完整备份包括所有的数据,还有数据库所有直到备份结尾的改变。一个单独的数据文件无法映射出指定时刻数据库的状态。因此,表级别的恢复包括旧、脏数据。
❺ 如何恢复sqlserver数据库表数据
恢复sqlserver数据库表数据步骤如下:
一、心态:
1、务必冷静,事情已经发生不可慌乱。
2、立即查看当前时间,最好能够精确到秒,并做记录。
3、应立即向直接上级反映此事,不可隐瞒,防止事态扩大。
4、如果权限允许,应当立即停止相关应用,防止有新的数据写入数据库。
二、恢复:
1、构建新数据库以及写入一些数据
如果查询发现数据不是你想要的,那么可以重复上述的操作,从备份事务日志开始,然后最后选择时间点的时候在缩小范围。
❻ sql数据库误改怎样恢复
1, 如果你有比较新的备份文件,可以将备份恢复到另外一台机器上,然后将对应表导入到当前库;
2,如果你的日志文件还没有被覆盖,将日志文件出去,先备份一下,找个读取sqlserver日志的工具,从日志文件中逐条记录恢复。
❼ sql恢复修改前数据
1、首先运行Recovery for SQL Server。
❽ 如何还原sql数据库
1、要进行还原数据库操作我们先需要有一个数据库,这里直接打开SQL Server Management Studio,然后打开实例,在左侧按照下图中红色箭头指示右键点击数据库,然后点击 新建数据库,如下图:
❾ SQL数据库如何还原
一、备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份
二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称-->然后点上面菜单中的工具-->选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项。在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001.mdf,现在的数据库是zw0002,就改成zw0002.mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是.ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:\sqldata\zw0002.mdf或者d:\sqldata\zw0002.ldf),否则恢复将报错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复
三、设定每日自动备份数据库
1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器
2、然后点上面菜单中的工具-->选择数据库维护计划器
3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择
4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定
5、下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新建一个目录如:d:\databak,然后在这里选择使用此目录,如果您的数据库比较多最好选择为每个数据库建立子目录,然后选择删除早于多少天前的备份,一般设定4-7天,这看您的具体备份要求,备份文件扩展名一般都是bak就用默认的
6、下一步指定事务日志备份计划,看您的需要做选择-->下一步要生成的报表,一般不做选择-->下一步维护计划历史记录,最好用默认的选项-->下一步完成
7、完成后系统很可能会提示Sql Server Agent服务未启动,先点确定完成计划设定,然后找到桌面最右边状态栏中的SQL绿色图标,双击点开,在服务中选择Sql Server Agent,然后点击运行箭头,选上下方的当启动OS时自动启动服务
8、这个时候数据库计划已经成功的运行了,他将按照您上面的设置进行自动备份 .
❿ 我将mysql里面的一个数据表,让我不小心update了,有什么办法可以恢复啊
1,有备份用备份恢复
2,无备份的话,有bin-log也可以,如果binlog为statement的话,恢复需要之前插入数据时的binlog文件才行;如果为row的话,可以恢复的,因为row是记录数据,而不是语句;
执行了一条错误的SQL语句,那就需要去二进制日至中寻找此语句的Position了,这是最准确的,因为时间只精确到了秒(timestamp类型 ),你要知道S语句大概啥时间段执行的....这些时跟你的出错情况有关系,需要自己根基实际情况分析得到 然后确认 甚至还需要取舍