Category Archives: Tech

转移sql server 2k数据库

在转移sql server数据库时,往往使用attach/detach来实现
在记得数据库里用户名/密码的情况下,这是种很简易的方法。
首先将数据文件和日志文件attach到新sql server上
会发现原库里的用户的登录为空,即形成所谓的孤立用户。
在登录里建立原有用户名和密码的登录
通过以下语句将Heihe里的名为Heihe的孤立用户连接到新建的Heihe登录上。
use Heihe
EXEC sp_change_users_login ‘Update_One’, ‘Heihe’, ‘Heihe’
多个用户执行多次即可。

发现log事务日志文件很大,数据文件2G左右,日志超过15G,决定压缩。
使用以下命令:

–截断事务
BACKUP LOG with no_log
use Heihe
DBCC SHRINKFILE (heihe_log)
将之收缩到默认大小

推荐一个桌面日历组件

我习惯用Outlook来进行任务安排,OL功能很强大,支持Tasks、Appointments等。一点不好的,如果不打开OL,无法看见自己定的计划和要完成的任务。所以一直在想,能否将OL里的任务和约会显示在桌面上,这样看起来就直观多了。
今天在天涯偶然看到一个帖子,在比较几个桌面日历软件,在其中看到DeskLook的介绍,一看,正是我所要的。功能不多,但正符合我的要求,就是将OL里的任务和约会在桌面显示出来。下载了一个 3.2版,试了一下,很稳定,尽管是在2004开发的,但在 OL 2003/XP SP 2下没有任何问题。
这里也向大家推荐一下,不错的东西。
想下载?goole之,就可以找到它的首页,下载,有42天的免费试用。网上也可以找到免费的serial no,也许也可以用。反正我还是用它的免费的,到期后再试serial number。

datalist itemcommand doesn’t fire的问题

asp.net datalist如果在 page_load里加载 databind(),asp:button的itemCommand event doesn’t fire。 Scott have done great work to solve this problem. Thanks. For detailed information and underlying cause, please visit his blog entry at: http://scottonwriting.net/sowblog/posts/1268.aspx
 
Soution:
1) disable the viewstate (set to false) of list objects (datalist, repeater, datagrid, etc)
or 2) don’t put databind() in page_load when posting back which will reset page’s all children controls in turn causing itemCommand not firing.
 
for our matter met, the first solution is ok.

spy-bot在扫描过程中死掉的问题

spy-bot是个很好的扫描木马的工具了(还没试过的,到google搜索一下,上它主页下载,扫描出来的结果肯定让你大吃一惊,很多的spyware,都在泄露你的私人消息),今天在媳妇的piv机器上装了一个扫描,在扫描过程里总停止反应。解决方案如下:
1. 打开spy-bot,不要开始扫描
2. 打开任务管理器,找到spy-bot进程
3. 点右键,设置“关系设置…”,只留cpu 0
4. 运行spy-bot扫描之
原因是piv的超线程造成的

SubVersion 从1.2.3 升级到 1.4.2

1. 下载SubVersion 1.4.2 zip,阅读readme.txt
    Neon 0.26.1
    Berkeley DB 4.4.20
    OpenSSL 0.9.8b
    ZLib 1.2.3
    Apache 2.0.58
    Python 2.4
    libintl 0.14.1 (patched)
将相关软件更新上来
2. 停止apache server
3. 将zip解压缩到 C:Program Filessvn-win32-1.4.2下
3.1 删除 share/locale下的文件,中文显示有问题
4. 将bin/*.so copy到apache下的modules目录下
5. 将bin/*.dll copy到apache的dll目录下
6. 将iconv下的内容copy到apache bin/iconv下
7. 重启 apache server
8. 下载Tortoise SVN 1.4.1 for svn server 1.42 客户端
 
1.2.3使用 Berkeley DB (BDB) 4.3版本,在1.42下使用BDB 4.4。无需任何操作,在第一次访问BDB的时候将自动升级到4.4版本。

复杂的xsl导致asp.net 2出现unhandled exception

win server 2003 + iis6 + asp.net 2.0
最早的提示只有事件查看器里的event id 5000,及系统事件里的app pool崩溃。应用windbg等工具,定位到是 asp.net 2.0里的 XmlCompiledTransform 在load 复杂的 iso转换模板时出现。
只google到几个帖子描述类似问题,大致意思是说 XmlCompiledTransform在处理复杂的xsl时可能有问题。但没有找到解决方案。
已经耗了一下午及一晚上的时间,也没有找到方法。
郁闷之极,在xp本机debug时没有任何问题,部署到正式机器(windows 2003)上就不成。


iso xslt太大,采用了split的方法,将之分割成几个小的,特别是一些代码可以写成 c# class,编译后,通过object extension加载到 xsl里,提高了效率,xsl被压缩到1400行以内,在windows 2003上终于可以运行。

恢复sql server 2k 数据

1. 新安装sql server 2k+sp4,建named instance,注意位置与被恢复前的位置一致,同样的盘符
2. 打开企业管理器,新建sde, westdc, dnnWestdc三个新库,关闭企业管理器
3. 打开sql 查询分析器,执行
restore database westdc from disk = ‘E:SQL_BACKUPwestdcwestdc_db_200609140200.BAK’

3.1 注意 sde生成时的命名方式是 sde_dat (instead of sde_Data generated by sql svr 2k by default) -> sde.mdf (instead of sde_Data.mdf by default), and sde_Log (same as default) -> sdelog.ldf (instead of sde_Log.ldf by default),所以需要在生成sde时注意修改对应的名字
4. 恢复 model, msdb, pubs三个数据库
restore database model from disk = ‘E:SQL_BACKUPmodelmodel_db_200609210200.BAK’
restore database msdb from disk = ‘e:sql_backupmsdbmsdb_db_200609210200.BAK’
restore database pubs from disk = ‘e:sql_backuppubspubs_db_200609210200.BAK’

5. 恢复master,必须在单用户模式下进行
5.1 停止现有的sql server 服务
5.2 open command window, come to the named instance directory, for example, E:WESTDC-sqldbMSSQL$WESTDCBinn
5.2. run sqlservr -c -m -s WESTDC. WESTDC is the name of instance going to run
5.3 打开sql查询分析器,运行 restore database master from disk = ‘e:sql_backupmastermaster_db_200609210200.BAK’
结果提示:
已成功地还原了 master 数据库。正在关闭 SQL Server。
SQL Server 正在终止此进程。
DONE!

注,如果位置不一致,可以通过detach和attach函数移动数据库(包括用户数据库和pubs, model, msdb, tempdb, master)到新位置,具体操作见微软支持:http://support.microsoft.com/kb/224071/

确认Raid卡的问题

早上将Raid adapter PERC 4/DC拔下,将raid array连到 adaptec scsi卡上,可以正常安装系统。
通知晓东将raid卡发到北京更换。
已经折腾很长时间了,要尽快服务器恢复工作。
别看平时管网络的没啥事,一旦发生问题,都是莫名其妙的问题,都够呛。而且还不能求救于别人,即使微软、DELL的热线,毕竟人不在现场,很难快速定位到问题所在,所以管理员没有一定的技术储备还真搞不定,一有问题就蒙了。