最近做了一件让数据库出现问题的事。有全文搜索产生的。
最近的一个新任务是建立一个新网站,把一个网站的数据库完全复制。所以我做了一下步骤
- 把mssql服务器停1到2分钟
- 把需要的mdf和log文件拷贝一份
- 重新启动mssql服务。
- 使用attach把刚复制的mdf文件弄成一个新的数据库。当然,名字等问题全是新的。
问题出现了,忘记了有fulltext index。结果导致原来网站的全文搜索出现问题。原因是2个不同的数据库使用同一个fulltext index。
服务发现问题后,想把服务停掉也不行。开始的时候以为是fulltext index坏了,所以rebuild。可能这个导致系统崩溃的原因。
最后是:
- 机器重启。
- 把新的数据库take offline。
- 把旧数据库的fulltext index删除,重新生成,catelog也是新的。
- 把新数据库take online
- 删除它的fulltext index,重新生成。当然, catelog也是新的。
到此,问题全解决了。