我有一个带有文件流的数据库设置。文件流存储位于与数据文件不同的驱动器上。服务器已迁移到虚拟机,驱动器号在不知不觉中发生了变化。数据库进入了“恢复待定”状态。模式。我一开始并没有意识到发生了什么,因此我将其脱机以期将其重新上线。那不行。由于其他原因,我无法在现有驱动器上更改驱动器号,因此我添加了另一个原始信件,复制了文件流数据,但仍然无法联机。以下错误:
发生了文件激活错误。物理文件名' E:\ SQL 数据\ AutoServiceATtachments \ AutoService_Filestream'可能不正确'
接下来的步骤应该是什么?这是SQL Server 2012。
答案 0 :(得分:0)
对于任何可能遇到这种情况的人来说,我已经弄明白了。 我备份了所有文件,删除了数据库,然后再次附加它,使用以下语法:
USE [master]
GO
CREATE DATABASE [FileStreamDB] ON
( FILENAME = N'C:\FileStreamDB\FileStreamDB.mdf' ),
( FILENAME = N'C:\FileStreamDB\FileStreamDB_log.ldf' ),
FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM DEFAULT
( NAME = N'FileStreamDB_FSData', FILENAME = N'C:\FileStreamDB\FileStreamData' )
FOR ATTACH
GO