惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
P
Privacy International News Feed
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 叶小钗
F
Fortinet All Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
L
LINUX DO - 最新话题
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
Recent Announcements
Recent Announcements
Recent Commits to openclaw:main
Recent Commits to openclaw:main
PCI Perspectives
PCI Perspectives
Cloudbric
Cloudbric
AI
AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
IT之家
IT之家
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
M
MIT News - Artificial intelligence
Cisco Talos Blog
Cisco Talos Blog
V2EX - 技术
V2EX - 技术
Webroot Blog
Webroot Blog
Microsoft Security Blog
Microsoft Security Blog
Cyberwarzone
Cyberwarzone
博客园 - 聂微东
G
Google Developers Blog
W
WeLiveSecurity
罗磊的独立博客
P
Privacy & Cybersecurity Law Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
T
Tailwind CSS Blog
V
Visual Studio Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Secure Thoughts
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
Google DeepMind News
Google DeepMind News
雷峰网
雷峰网
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
Blog — PlanetScale
Blog — PlanetScale
The Last Watchdog
The Last Watchdog
P
Proofpoint News Feed

博客园 - 赣江源

StreamInsight参考示例 Microsoft StreamInsight简介 GridView中的DataFormatString失效解决办法 - 赣江源 - 博客园 如何显示在线用户? ASP.NET中每个页面在Load之前调用公用函数 网站单点登录的实现思路 在服务器端提取ASP.NET控件输出的HTML 如何处理在IE7关闭时不出现选项卡提示 使用JavaScript控制UpdatePanel的更新 获取GridView单元格值的通用函数 如何在GridView将数字显示成金额格式或自定义格式? ASP.NET 2.0中使用XSLT的变化 在GridView表头显示排序方向 利用AJAX实现DropDownList与GridView做实时更新 输出时清除GridView的Style ASP.NET实现打印的方法小结 提高ASP.NET性能的一点方法 asp.net的一些小技巧 route命令详解
按照时间点还原数据库(SQL Server)
赣江源 · 2009-10-31 · via 博客园 - 赣江源

今天搞的非常郁闷,公司有个MM不小心误操作了一把,数据库中的其中一个数据明细表给删除了,更倒霉的是查看备份文件时,看到自动备份的最后文件竟然是2天前的,要吐血了,一看原因,这个MM竟然说2天前服务器重启动了一下,SQL Server Agent没有设置成自动启动,也没有手工启动,真是无语呀,差点酿成大祸,这可是客户的生产数据库呀,,马上搜索记忆,以前在微软培训的时候知道可以根据日志文件按照时间点来还原数据库的数据,有点像windows的系统还原功能,呵呵,但是以前一直都没有实践操作过,赶紧上微软网站查找资料,找到后立马操作一把,还真是不负期望还原回去了,特发贴共享一下,给同样经历的朋友们一个参考吧。

特别提醒:在操作前记得把数据库备份一下。

注:我的最后备份文件是20091029的15点,刚好差距是2天时间。

第一步:备份日志文件,以备还原使用,代码如下:

BACKUP LOG 数据库名 TO DISK='备份文件存放路径(如:D:\test.log)' WITH INIT

第二步:恢复备份的最后一个数据文件备份,记得写上WITH NORECOVERY,如果是在管理工具中操作还原数据库的话,请在[还原数据库]->[选项]->[恢复完成状态]下选择[是数据库不再运行,但能还原其它事务日志]选项,再确定,还原时数据库可以重命名,代码操作如下:
RESTORE DATABASE test_bak from disk='F:\databak\test_db_200910291500.BAK' WITH NORECOVERY

第三步:根据日志文件指定恢复的时间点数据,如下:
RESTORE LOG sms_01_bak FROM disk='f:\sms_01.logs' WITH RECOVERY,STOPAT='10/31/2009 15:40'

运行完成后,把数据库设置成可运行状态,查询数据,OK,全部都在,高兴啊~~~~~~ 

如果感觉日志文件太大了,可以清空日志信息,记得把刚才备份的日志文件保存好,

清空日志:
DUMP  TRANSACTION  sms_01  WITH  NO_LOG