我有一个包含文件流的 sql 2008 数据库。不幸的是,我只有 .mdf 和 .ldf 文件。我不再有权访问文件流 .hdr 文件或该目录中的任何内容。
通常,您可以将数据库重新连接到新服务器;但是 SQL 服务器拒绝这样做。
我收到的错误信息是
无法打开物理文件“c:\”。操作系统错误 2:“2(系统找不到指定的文件。)”。
当我尝试使用 DDL 命令来 CREATE DATABASE FOR ATTACH 时出现该错误。
有什么诀窍吗?
谢谢
答案1
在 SQL 2K5 中我遇到过这种情况。
我创建了一个新的数据库,随便命名。将其脱机,进入首选项并相应地附加 .mdf 和 .ldf 文件作为替换。它对我有用过几次,但不确定是否适用于 SQL 2k8。
祝你好运
答案2
简短回答:如果缺少文件流数据,数据库就会出问题。我尝试了几乎所有方法,但您无法在没有原始 filestream.hdr 文件的情况下附加具有文件流依赖关系的数据库。
您可以将其设置为恢复模式,但这样无法访问表格。我们关心的只是结构。
幸运的是,我们确实有备份。它位于服务器重新安装后断开连接的驱动器上。网络人员因此受到了严厉批评。
有了 .hdr 文件和该目录中的所有其他内容,我们就能将数据库毫无问题地重新连接回服务器。
重点是:如果您使用 FILESTREAM,那么除了所有常规数据文件之外,您还必须获取流数据,否则您无法重新连接。