数据库 分离的悲剧(洗澡后的清醒)

来源:互联网 发布:ubuntu vmtools i 编辑:程序博客网 时间:2024/04/28 11:58

今天准备把数据库备份一次,外加首先先分离一下,再复制一份数据库(后来发现只要断了数据库服务就可以了= =小白了..)

悲剧的事情开始了..当我分离的时候,我再次附加的时候出现了附加不了,首先是有另外一个程序占用了这个数据库,我就想了,怎么可能,我明明停了数据库的..后来发现,原来我另外一个实例名也有这个数据库的...悲情啊.断了另外一个实例名的服务,再试下,发现另外一个问题发生了..权限太低了,该服务器只能打开611以下的版本...当时我就囧了..怎么可能啊,我明明是首先附加这个数据库,再分离,再附加的,按道理是一样的数据库(我版本是2008)问题就出现在这里了..而这个是致命的...还导致了我后来的一系列错误的尝试..首先,我以为是我的默认实例名的版本太低了.但是想了下,明明是2008的数据库,怎么可能是版本低?后来去脚本那里查了一下..顿时傻眼了,怎么是sql2005的..接着再去更新下版本,果然,我自己新建的实例名是sql2008的,而默认的是sql2005的..怎么会这样的...现在我还搞不懂为什么..

后来我上网查了下,怎样从高版本复制到低版本.一步一步去弄,最后把数据库附加成功了..开心ing..

不过忧喜参半,数据回滚到以前一个星期的数据..而我大部分的数据是在最近的一个星期里..没办法,唯有一步一步输入,写存储过程,修改表..

大概搞了有3个多小时,眼睛受不了,就去洗澡,准备洗完再来输入...在洗澡其中,我想了下.怎么这么奇怪了.按道理,微软的sql数据库从来都是从下兼容的,低版本肯定打不了高版本的.那为什么我的低版本实例名之前可以打开高版本的数据库呢?

突然间,灵机一闪,发现重要的问题了,而且还是不敢相信的问题....是不是我连接的数据库不是sql2005那个,只是一个同名的数据库而已..如果这样想的话,那之前的推测就成立了(我貌似有点在扮演侦探了= =),我是连不了那个数据库是真的,因为不是sql2005的数据库,只不过是一个同名的sql2008的数据库.

那么我sql2005的数据库呢?会在哪里?

后来我就迫不及待地洗完澡,点击有可能出现的地方..结果发现有一个数据库的修改时间和我备份时间差不多,这时候我就知道了,这个才是真正的数据库.登录默认实例名数据库---附加---选择那个数据库---确定--------------------成功了!!!!

果然,里面的数据全部齐全了,哈哈,终于弄个好了..泪奔啊....不过也开心啊!!!是自己发现问题的根源,自己解决了.真开心..

虽然这个问题很小,但是想了下,真的要注意了,问题不大,但是稍微不注意,就会误入歧途,而且不要老是相信别人的方法.自己去摸索的才是王道...打字打累了..12点多,睡觉去了..

嘿嘿...还是洗澡的时候头脑清晰,想问题也想得清楚了..