Home > Database > Mysql Tutorial > SQLSERVER文件组误脱机后如何联机

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

WBOY
Release: 2016-06-07 15:44:35
Original
1591 people have browsed it

场景:在学习文件组的恢复过程中,通过 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)
Copy after login

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

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

 

同样的命令没有ONLINE选项:

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

消息 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
Copy after login

 

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

 ---------------------------------------------------------------------------------

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

<span>RESTORE</span> <span>DATABASE</span> TEST <span>FILE</span><span>=</span><span>'</span><span>SUBF</span><span>'</span> <span>WITH</span> RECOVERY
Copy after login

 ---------------------------------------------------------------------------------

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

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

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

 

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template