biu.me

Monthly Archives: August 2009

一条SQL查询语句的问题,后果很严重

昨天通过查询分析器批量删除垃圾用户的时候,结果把用户表给清空了,上百万条记录没了。 经过半小时的数据库还原,问题解决。用户数据都完全恢复。 但是那条语句为什么把用户表清空了我倒是很迷糊。 那条语句是这样的 delete Table_1 where UserID in (select [ID] from Table_2) 问题是Table_2没有[ID]字段。结果Table_1的数据都清空了。 于是我做了下面的测试 select [ID] from Table_2 报错 列名 ‘ID’ 无效。 select top 10 * from Table_1 where UserID in (select [ID] from Table_2) 列出了10条记录。 再测试,把[ID]修改为[xxxxx] select top 10 * from Table_1 where UserID in (select [xxxxx] from Table_2) 报错 列名 ‘xxxxx’ 无效。 [...]

Server 2003 不能正常升级MSN 9的解决办法

今天早上MSN无法登陆,提示必须更新,但是更新出错。因为急用,所以下载了第三方Pidgin,使用起来还凑合。 下午同事告诉我他的MSN可用了,在上网搜索到了方法,用Resource Hacker 修改一下安装文件(安装文件请自行去官方下载)。 修改方法 <os productType="workstation" /> 修改为 <os productType="Server" /> 重新编译就OK了。微软的验证挺有意思的,哈哈。

晚上抓紧时间写了一个小的服务器监控程序

晚上9点多访问网站,发现图片都无法访问,检查发现无法访问文件服务器,看来是宕机了。现在的机房真不负责任,宕机了也不通知,以前的机房宕机了还有提醒。 让机房值班人员重启服务器后检查日志,发现从6点多就宕机了,整整3个小时用户无法上传和下载文件,哎。 于是赶紧写一个服务器的监控程序,时刻检查服务器的连通性,并且利用飞信的api做错误通知,测试效果满意。 以后服务器错误就能第一时间掌握情况了。

.Net缓存应用

因为boss觉得公司的网站访问速度慢,所以这两天把项目加上了缓存,效果很理想,缓存加上瞬间缓存对象就是好几千呐。 接下来的事情就是做好缓存策略的问题,这不下班我发个blog还让编辑叫嚷,说网监让删除的帖子已经删了,但是还显示呢,我的天,删除操作我没更新缓存,只做了Add和Update。干活去了。 ps: memcached  和 squid应用也在计划之中。

很久以前写的解决163相册不允许盗链的代码

public void GetFile(string strFileURL) { string strPhotoRef = strFileURL.Substring(0, strFileURL.IndexOf("/", 8) + 1); //Like: http://img123.photo.163.com/ XMLHTTP _xmlhttp = new XMLHTTPClass(); _xmlhttp.open("GET", strFileURL, false, null, null); _xmlhttp.setRequestHeader("Connection", "Keep-Alive"); _xmlhttp.setRequestHeader("Referer", strPhotoRef); _xmlhttp.send(String.Empty); if(_xmlhttp.readyState == 4) { //Response.ContentType = "image/*"; Response.BinaryWrite((Byte[])_xmlhttp.responseBody); Response.End(); //Response.Redirect(strFileURL); } else { Response.Write("Error!"); } } 现在这样非常消耗服务器资源,如果再加上缓存的思路性能会提升不少。