none
有没有使数据库的某个文件组在线的语句 RRS feed

  • 问题

  • 我使用下面的语句使SSS数据库的某个文件组离线,但是使用online参数报错

    怎么才能使文件组重新上线呢?这个sss数据库是我自己个人电脑的测试库

    消息 155,级别 15,状态 1,第 1 行
    'online' 不是可以识别的 CREATE/ALTER DATABASE 选项。

    ALTER DATABASE [sss] MODIFY FILE(NAME = FG_ClassifyResult_ClassId_01_data,offline)

    ALTER DATABASE [sss] MODIFY FILE(NAME = FG_ClassifyResult_ClassId_01_data,online)

    2014年3月13日 3:34

答案

  • http://msdn.microsoft.com/zh-cn/library/bb522469.aspx

    OFFLINE                        

    <sentencetext xmlns="http://www.w3.org/1999/xhtml">将文件设置为脱机并使文件组中的所有对象都不可访问。</sentencetext>                                                       

    注意事项                                   注意                                

    <sentencetext xmlns="http://www.w3.org/1999/xhtml">仅当文件已损坏但可以还原时,才能使用该选项。</sentencetext>                                     <sentencetext xmlns="http://www.w3.org/1999/xhtml">对于设置为 OFFLINE 的文件,只有通过从备份中还原该文件,才能将其设置为联机。</sentencetext> RESTORE (Transact-SQL)。</sentencetext>

    2014年3月13日 6:02

全部回复

  • http://msdn.microsoft.com/zh-cn/library/bb522469.aspx

    OFFLINE                        

    <sentencetext xmlns="http://www.w3.org/1999/xhtml">将文件设置为脱机并使文件组中的所有对象都不可访问。</sentencetext>                                                       

    注意事项                                   注意                                

    <sentencetext xmlns="http://www.w3.org/1999/xhtml">仅当文件已损坏但可以还原时,才能使用该选项。</sentencetext>                                     <sentencetext xmlns="http://www.w3.org/1999/xhtml">对于设置为 OFFLINE 的文件,只有通过从备份中还原该文件,才能将其设置为联机。</sentencetext> RESTORE (Transact-SQL)。</sentencetext>

    2014年3月13日 6:02
  • 刚刚我也找到了,谢谢周建大侠
    2014年3月13日 6:07
  • 你可以试试使用古老的文件替换大法

    1. 将数据库分离 ( sp_detach_db 'xx')

    2. 将数据库的所有文件移个位置

    3. 按照原来的文件颁创建一个同名空库

    4. 将空库 OFFLINE ( alter database xx set offline )

    5. 将步骤2移走的文件移回来,替换掉步骤3创建的空库产生的对应文件

    6. 将数据库 online ( alter database xx set online ), 如果不能 online, 可以试试先设置为 emergency 状态

    2014年3月13日 6:07
  • 好的,我试试
    2014年3月13日 6:47
  • 你可以试试使用古老的文件替换大法

    1. 将数据库分离 ( sp_detach_db 'xx')

    2. 将数据库的所有文件移个位置

    3. 按照原来的文件颁创建一个同名空库

    4. 将空库 OFFLINE ( alter database xx set offline )

    5. 将步骤2移走的文件移回来,替换掉步骤3创建的空库产生的对应文件

    6. 将数据库 online ( alter database xx set online ), 如果不能 online, 可以试试先设置为 emergency 状态

    最后用这种方法搞定了

    RESTORE DATABASE [sss]  FILE='FG_ClassifyResult_ClassId_01_data' WITH RECOVERY
    --文件组重新上线,ClassifyResult_T表才能访问

    2014年3月13日 9:32