Ste*_*ger 23 sql sql-server sql-server-2005
在SQL Server Management Studio中,我执行了以下查询.
不幸的是,我忘记取消该WHERE条款.
更新了1647行而不是4行.
如何撤消最后一条陈述?
不幸的是,我刚刚完成了这些1647行的翻译并正在进行最后的修正 ,因此没有备份.
UPDATE [dbo].[T_Language]
SET
[LANG_DE] = 'Mietvertrag' --<LANG_DE, varchar(255),>
,[LANG_FR] = 'Contrat de bail' -- <LANG_FR, varchar(255),>
,[LANG_IT] = 'Contratto di locazione' -- <LANG_IT, varchar(255),>
,[LANG_EN] = 'Tenancy agreement' -- <LANG_EN, varchar(255),>
--WHERE [LANG_DE] like 'Mietvertrag'
Run Code Online (Sandbox Code Playgroud)
有一个交易协议,至少我希望如此.
a_h*_*ame 13
可以通过发出命令来恢复未提交的事务 ROLLBACK
但如果你在自动提交模式下运行,你无能为力....
小智 10
如果您已从数据库中获得完整备份,幸运的是,您在SQL Management Studio中有一个选项.在这种情况下,您可以使用以下步骤:
右键单击数据库 - >任务 - >还原 - >数据库.
在常规选项卡中,单击时间轴 - >选择特定日期和时间选项.
将时间轴滑块移动到更新命令时间之前 - >单击"确定".
在目标数据库名称中,键入新名称.
在"文件"选项卡中,选中"将所有文件重新分配到文件夹",然后选择新路径以保存已恢复的数据库.
在选项选项卡中,选中覆盖...并删除Take tail-log ...选项.
最后,单击"确定"并等待恢复过程结束.
我自己在操作数据库中使用过这种方法,它非常有用.
考虑到您已经有一个完整的备份,我只是将该备份还原到单独的数据库中,然后从那里迁移数据。
如果您的数据在最近一次备份后已更改,那么您将以这种方式恢复所有数据,但是您可以尝试通过读取事务日志来恢复。
如果您的数据库处于完全恢复模式,则事务日志具有足够的详细信息,可以在最新备份后恢复对数据的更新。
您可能想尝试使用DBCC LOG,fn_log函数或使用第三方日志读取器(例如ApexSQL Log)
不幸的是,没有简单的方法来读取事务日志,因为MS不会为此提供文档并以其专有格式存储数据。