• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQLSERVER文件组误脱机后如何联机

mysql 搞代码 4年前 (2022-01-09) 11次浏览 已收录 0个评论

场景:在学习文件组的恢复过程中,通过 ALTER DATABASE TEST MODIFY FILE (NAME = SUBF,OFFLINE) 把文件组给弄脱机了。这时却发现脱机之前忘记备份了。 这时该如何恢复该脱机的文件组呢? 同样的命令没有ONLINE选项: ALTER DATABASE TEST MODIFY FILE (NAME

场景:在学习文件组的恢复过程中,通过

<span>ALTER</span> <span>DATABASE</span> TEST MODIFY <span>FILE</span>(NAME <span>=</span> SUBF,OFFLINE)

把文件组给弄脱机了。这时却发现脱机之前忘记备份了。

这时该如何恢复该脱机的文件组呢?

同样的命令没有ONLINE选项:

<span>ALTER</span> <span>DATABASE</span> TEST MODIFY <span>FILE</span>(NAME <span>=</span> SUBF,ONLINE)

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

修改数据库脱机,联机后,脱机的文件组还是脱机状态。

<span>ALTER</span> <span>DATABASE</span> TEST <span>SET</span><span> OFFLINE</span><span>ALTER</span> <span>DATABASE</span> TEST <span>SET</span> ONLINE

分离数据库再附加数据库,脱机的文件组也仍然是脱机状态。

———————————————————————————

其实,把文件恢复就可以了(哪怕没有备份也可以执行):

<span>REST<i>本文来源gaodai$ma#com搞$代*码网2</i>ORE</span> <span>DATABASE</span> TEST <span>FILE</span><span>=</span><span>'</span><span>SUBF</span><span>'</span> <span>WITH</span> RECOVERY

———————————————————————————

补充另一个由桦仔提供的文件替换大法:

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 状态

以上方法已经测试过能通过。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQLSERVER文件组误脱机后如何联机

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址