情况没有解释清楚,以我看:
1、数据库在本地机器上,与那个部门无关。即使那个部门不传数据过来也不会丢,如果丢了,查一下日志文件。
2、可能存在网络攻击,仔细检查。
3、已经存在的数据还会丢,就要好好查原因了。可能有故意破坏的现象。
SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1 至少有一个误删除之前的数据库完全备份。
2 数据库的恢复模式(Recovery mode)是“完整(Full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。
a) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY
b) 恢复一个误删除之前的完全备份:RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY, REPLACE
c) 将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM DISK = N'第一步的日志备份文件名' WITH STOPAT = N'误删除之前的时间点' , RECOVERY
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(Full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后来找的是SQL Log Rescue,也不支持SQL Server 2008。
接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。
最终在officerecoverycom上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
楼主的问题应该是数据太多,不是说一个很长的数据,目前来说WPS只支持65536个数据,不同版本的offic不同,2010版应该有1048576。超过这么多,也就超过了offic的能力了,只能用数据库。
去查看爬虫代码,debug一下,结果才发现原来是因为_id 的数据在网页没有显示出来,导致数据全部重复!
我只能说网站这坑货!!哥,冒险不用代理爬的11万数据,你居然给我来这限制!再见还好发现得早,不然等被你禁了ip才发现,那我去不是亏大发了微笑
唉,总结一下,抚慰我受伤的心,希望不会有人犯和我一样的错误!
知识点:
MongoDB数据库默认是通过 _id 来说写入的每个数据进行建立索引的,也就是说,通过
>dbpersonupdate({'_id':id}, data, True)
或者
>dbpersoninsert(data)
这两种方式的话,只要_id是相同的,那么就不会写入数据库!!这就是哥我犯错的地方!
所以啊,在写入数据库的时候一定要找好唯一 的值赋给 _id,不行的话,_id 就不要赋值,数据库会默认加上的。
Game Over!
有时间再把自己摸索了一段时间的pyspider和mongodb以及rabbitmq的结果做个记录。。
以上就是关于数据库丢数据全部的内容,包括:数据库丢数据、数据库中的部分数据删除后能恢复吗、打开表格时,提示“数据长度超出工作表外,会丢失部分数据”,应该怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)