sql2008无日志文件附加数据库失败,无法打开数据库 'xxx' 版本 611。请将该数据库升级为最新。我是将sql2005附加到sql2008 提示这个错误。为什么低版本附加到高版本出现这与的错误????

解决方案 »

  1.   

    dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)
    到这里时候出现这个提示!
      

  2.   

    1。低版本不能附加高版本的文件。
    2。高版本附加低版本,需要设置兼容级别。
    参考如下:
    用sql 2005恢复sql 2000的备份文件将sql server 2005的兼容级别设置为80,然后再恢复sql server 2000的备份文件. 更改方式如下: 
    Microsoft SQL Server Management Studio->ServerName->Database->database name ,right manu->properties->options->Campatiblity level->downframe list,select: sql sever 2000 (80)-> Click buton ok 恢复完毕后,再改为90.
      

  3.   

    解决办法:1、新建一个同名数据库。2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:alter database 无日志文件的数据库名称 set emergency设置为紧急状态。4、再运行:alter database 无日志文件的数据库名称 set single_user或者:Sp_dboption '无日志文件的数据库名称', 'single user', 'true'设置为单用户模式。5、检查并重建日志文件,运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)这个时间比较长。耐心等待!如果有错误提示,再运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)进行修复。如果没有错误,可以跳过。6、恢复成多用户模式alter database 无日志文件的数据库名称 set multi_user或者:Sp_dboption '无日志文件的数据库名称', 'single user', 'false'刷新数据库,你就可以看到已经修复好的数据库了。-------------------------------------------------------------------------------------
    我是按照上面这个方法进行恢复,但是在那里设置兼容性呢,创建时设置了,替换后无法设置属性。
      

  4.   

    对于所有 SQL Server 2008 安装,默认的兼容级别都为 100。除非 model 数据库有更低的兼容级别,否则 SQL Server 2008 中创建的数据库会设置为该级别。将数据库从 SQL Server 的任何早期版本升级到 SQL Server 2008 时,如果数据库的兼容级别不在 80 以下,则该数据库将保留其现有的兼容级别。升级兼容级别低于 80 的数据库会将数据库的兼容级别设置为 80。这既适用于系统数据库,也适用于用户数据库。使用 ALTER DATABASE 可更改数据库的兼容级别。若要查看数据库的当前兼容级别,请查询 sys.databases 目录视图中的 compatibility_level 列。 
      

  5.   


    ALTER DATABASE database_name 
    SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }http://msdn.microsoft.com/en-us/bb510680(zh-cn).aspx
      

  6.   

    登录SSMS,按F8打开资源对象管理器,选择数据库再右键属性,最后一栏相应的选项中修改兼容级别。
      

  7.   


    exec sp_dbcmptlevel test_db, 100
      

  8.   

    消息 946,级别 14,状态 1,第 1 行
    无法打开数据库 'DTMS' 版本 539。请将该数据库升级为最新版本。我在执行第五步的时候出现上面的错误啊