代码改变世界

解决SQL2008不能附加SQL2005数据库的问题

2009-08-21 02:23  Ecin  阅读(2034)  评论(2编辑  收藏  举报
最近给自己的机子装了个Windows7,感觉还不错,而后把我的数据库从SQL2005改换成了SQL2008。以前我做程序时建的数据库都用的SQL2005,由于没有对数据进行备份,只保留了数据库文件,所以就直接试着把以前在SQL2005上的数据库附加到刚装的SQL2008上,本来用SQL2005附加数据库是一件很简单的事情,现在用了新版本,却出现了附加失败的错误:
      

刚开始看到这个错误,心里慌慌的,会不会是数据库版本问题,仔细看了下,原来是打开数据库文件失败,查了些资料,才知道是数据库文件权限问题。于是,我就到具体的存放数据库文件的文件下找到该文件,选中该文件,右击"属性",选择“安全”选项卡,点击“继续”,弹出了另外一个权限设置的小对话框:

然后,在点击“添加”,接着就弹出了“选择用户和组”对话框,在其对话框上选中“高级”,在弹出的另一对话框上选中“立即查找按钮”,这里我选择“Authenticated   Users”组,因为该组包含了所有已授权并经过身份验证的用户:

下一步中,点击“确定”按钮,最后不要忘了在权限对话框上为Authenticated   Users组授予完全控制权限,选中"完全控制"复选框就行了。
当给数据库文件授予了Authenticated   Users权限后,再次选中这个数据库文件时就没有错误了,当然,同理也要对一起附加的数据日志文件设置权限,道理同上面的一样。要提醒的是,日志文件也别忘了授予完全控制权限。这样,附加数据库就可以执行成功了。